— Зайду, — кивнул Кирилл, — можно даже прямо сегодня, если не поздно. Поесть вот только куплю.
— Добро, — с довольным видом кивнул Борис Семенович, — тогда я дверь закрывать не буду.
«Надо же, — подумал Кирилл, спускаясь по лестнице, — этот сосед прямо Штирлиц какой‑то. И имя узнал, и место работы выяснил, и сделал далеко идущие выводы. Интересный дед, ничего не скажешь. Надо бы на всякий случай приглядеться к нему получше».
Закинув пакет с покупками домой и спрятав все скоропортящееся в холодильник, Кирилл переобулся в домашние шлепанцы и пересек лестничную площадку. Соседская дверь и впрямь оказалась не заперта: за ней обнаружилась тесная прихожая, в точности такая же, как и в его однушке. Со старым ремонтом, но совсем не обтрепанная, скорее наоборот, аккуратно убранная и ухоженная.
— Проходи сюда, — донесся из глубины квартиры голос Бориса Семеновича, — дверь захлопни просто.
Кирилл вошел в комнату и огляделся. Складывалось ощущение, будто это жилище застыло где‑то в середине восьмидесятых: старая советская стенка с выставкой фарфоровых чашек за толстым стеклом, лакированная радиола, оборудованная проигрывателем виниловых пластинок, журнальный столик, на котором покоятся очки в роговой оправе и лежит недочитанная книжка Бушкова с закладкой посередине, телевизор «Рубин» в углу. Запах в комнате тоже как будто явился откуда‑то из прошлого: терпкая смесь старой мебели, пожелтевшей бумаги и чуть уловимого табака, хотя пепельницы на виду не было. Кажется, так пахло в районной библиотеке, куда Кирилл иногда заглядывал после школы в далеком детстве. На стене отмеряли время тихим, но настойчивым тиканьем часы с бронзовым маятником. Все вещи вроде бы регулярно используются, но в то же время лежат так аккуратно, словно каждая имеет свое строго отведенное место и любое нарушение этого порядка сразу бросилось бы в глаза. Более‑менее современным выглядел разве что компьютер на письменном столе, да и тот — с пузатым электронно‑лучевым монитором и массивной клавиатурой, пластик которой приобрел от времени благородный оттенок слоновой кости.

— Ну что, сосед, — сказал хозяин негромко, — проходи, не стесняйся. У меня тут не музей, хотя, наверное, похоже.
Кирилл скользнул взглядом по книжной полке, где выстроились ровными рядами разноцветные корешки еще советских изданий: высшая математика, справочники по статистике и теории вероятностей, основы математического анализа… Интересно, кем старик был в прошлом? Преподавателем? Научным сотрудником в каком‑нибудь НИИ?
— Вот, взгляни, какая беда приключилась, — посетовал Борис Семенович, с кряхтением уступая своему гостю место за письменным столом. — Я тут решил свои воспоминания записывать, думаю, может, внуку интересно будет почитать. На днях собрался посмотреть файлы со старыми заметками, а они не открываются…
Такого Кирилл раньше не видел. На соседском компьютере действительно порезвился троян, но понять, какой именно, с ходу не получилось. Кирилл ожидал обнаружить что‑нибудь вроде привычного винлокера, однако эта программа действовала совершенно иначе. Содержимое вордовских файлов, на которые указал Борис Семенович, превратилось в неаппетитную на вид кашу: ни заголовков, ни знакомых структур, ни сохраненных данных о форматировании. Покопавшись на диске, Кирилл обнаружил, что в точности такая же участь постигла таблицы Excel, ZIP-архивы, картинки и даже текстовые файлы. За исключением сиротливо лежащего в корне диска файлика Readme., в котором отыскалась короткая инструкция: «Some files are coded by RSA method. To buy decoder mail with subject: REPLY», а дальше виднелся адрес электронной почты в домене mail.. Похоже, троян аккуратно зашифровал все файлы на жестком диске, не тронув программы и компоненты операционной системы, чтобы не нарушить ненароком работоспособность машины. Если написать по этому адресу, догадался Кирилл, злодеи потребуют денег, пообещав вернуть побитые шифром файлы. И не факт, что пришлют потом «лекарство». А если пришлют, вполне возможно, оно и не сработает…
Ради интереса он прокрутил на экране содержимое нескольких документов, пытаясь на глаз оценить закономерности в потоке разномастных символов. Если бы троян просто поксорил содержимое файлов, их можно было бы восстановить относительно легко, однако здесь, похоже, дела обстояли куда серьезнее. Байты не повторялись отдельными блоками и не обладали характерными признаками XOR’а или какого‑нибудь банального шифра подстановки, скорее это выглядело как результат настоящего асимметричного шифрования: хаотично, равномерно, без явной узнаваемой структуры.
— Ну чего там? — завозился у него над ухом Борис Семенович.
От старика пахло каким‑то ванильным кремом для бритья и немного табачным дымом.
— Похоже, вы и вправду подцепили вирусню, которая зашифровала ваши данные, — ответил Кирилл, повернувшись к соседу, — и я сомневаюсь, что их получится восстановить. Слишком стойкий алгоритм.
— Вот как? — крякнул Борис Семенович и с досадой почесал в затылке.
— Смотрите, — пустился в пояснения Кирилл, — вот у вас есть замок. Но ключа от него два. Один, ну как обычный ключ, закрывает и открывает. А второй… второй — только закрывает. Понимаете?
Сосед нахмурился, но слушал молча, не перебивая.
— Ну то есть… — Кирилл махнул рукой, подбирая слова, — допустим, у вас есть почтовый ящик. Ключ от него только у вас, а у остальных — нет. Но если кто‑то хочет вам что‑то отправить, он может просто кинуть письмо через щель. Так вот RSA примерно так и работает: есть «щель» — это открытый ключ. Все могут ею воспользоваться. Но достать письмо обратно, прочитать его — может только хозяин ящика, у которого есть закрытый ключ.
— М‑м-м, — протянул Борис Семенович, и Кирилл оживился:
— И чтобы совсем просто: возьмем два огромных числа, перемножим — это быстро. А вот обратно разделить, догадаться, какие именно числа у нас были изначально, — уже гораздо сложнее, так ведь? Вот на этом и держится шифр.
Борис Семенович кивнул, прищурился и вдруг спросил тихо:
— Длина ключа‑то какая?
Кирилл задумался, не сразу уловив подвох.
— Ну‑у… — протянул он, — там обычно… ну, зависит от…
— Если ключ среднесиловой, длиной 56 бит, то прямым перебором его можно найти…
Борис Семенович закатил глаза и зашевелил губами:
— Два да в пятьдесят шестой степени… С учетом комбинаторной сложности… Возьмем десяток миллионов операций в секунду… Да за пару дней можно подобрать, пожалуй. А вот если там 67 бит, то это аж в два в одиннадцатой степени раза сложнее. Каждый лишний бит удваивает количество вариантов. Это уже ключик с усиленной криптографической стойкостью получается, тут за десяток лет не справиться…
Кирилл слегка опешил от услышанного.
— Вы… откуда это знаете?
Продолжение доступно только участникам
Материалы из последних выпусков становятся доступны по отдельности только через два месяца после публикации. Чтобы продолжить чтение, необходимо стать участником сообщества «Xakep.ru».
Присоединяйся к сообществу «Xakep.ru»!
Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», позволит скачивать выпуски в PDF, отключит рекламу на сайте и увеличит личную накопительную скидку! Подробнее
