Бо­рис Семено­вич оста­новил­ся в при­хожей и огля­дел­ся.

— Ремонт бы тебе сде­лать, — назида­тель­но про­изнес он, — алкаш этот, Рома, квар­тиру жуть как запус­тил. Так и помер в сви­нар­нике.

— Что, пря­мо тут и помер? — поин­тересо­вал­ся Кирилл.

— Нет, его в тот раз пос­ле оче­ред­ного запоя «бел­ка» навес­тила, зеленые человеч­ки в убор­ной завелись и хотели бед­нягу для иссле­дова­ний на Марс заб­рать. Видимо, изу­чали вли­яние паленой вод­ки на орга­низм пьюще­го сан­техни­ка. Так он, от них спа­саясь, в окно и вышел.

— Раз­бился?

— Да нет же. Какое раз­бился, вто­рой этаж. В боль­ницу увез­ли, перело­ман­ного. Там и умер.

Судь­ба быв­шего вла­дель­ца его нынеш­него жилища Кирил­ла занима­ла мало, а вот ремонт и вправ­ду был необ­ходим, но он все откла­дывал это мероп­риятие на неоп­ределен­ное будущее. Гос­ти к нему заг­лядыва­ли ред­ко, а сам он с прод­ранным линоле­умом и гряз­ными обо­ями уже как‑то свык­ся. Да и вдо­воль полюбо­вать­ся на интерь­ер получа­лось не так уж и час­то: он подол­гу зависал в «Синем экра­не», а дома про­водил поч­ти все вре­мя за экра­ном ноут­бука, и там, в мире, где кла­виши зву­чали гром­че челове­чес­ких голосов, окру­жающая реаль­ность не име­ла никако­го зна­чения.

Бо­рис Семено­вич про­шел в ком­нату, с крях­тень­ем опус­тился на пред­ложен­ный Кирил­лом стул, нацепил очки и раз­вернул перед собой школь­ную тет­радку в клет­ку, испи­сан­ную мел­ким бисер­ным почер­ком.

— Зна­чит­ся, так, — прих­лопнул он ладонью тет­радный раз­ворот, — то, что клю­чик берет­ся не из воз­духа, это хорошо. Идея там прос­тая: дата как соль, серий­ный номер дис­ка как пер­сональ­ная мет­ка машины — скле­ил их, прог­нал через генера­тор и получил ключ. Вот это пер­вая заг­воз­дка. Если ключ зависит от текущей даты, то вер­нуть фай­лы, зашиф­рован­ные, ска­жем, три недели назад, мож­но — но тре­бует­ся знать, какое имен­но зна­чение исполь­зовал тро­ян. Не прос­то «март», а точ­ное вре­мя.

Ки­рилл заг­лянул соседу через пле­чо, про­бежал по лис­тку гла­зами: почерк был мел­ким, но акку­рат­ным и раз­борчи­вым, фор­мулы лежали в кле­точ­ках, буд­то книж­ки на пол­ке. Очень изящ­ный и акку­рат­ный алго­ритм при­думал Крип­тодед, прос­то заг­ляденье. Где он, инте­рес­но, это­му научил­ся?

— Дату и вре­мя мож­но взять из метадан­ных самого фай­ла, — задум­чиво про­изнес Киря, — а луч­ше вытащить из нес­коль­ких и срав­нить для надеж­ности.

— Со вто­рым зна­чени­ем, которое серий­ный номер, все про­ще, — про­дол­жил Борис Семено­вич, — раз­ве что, если хозя­ин компь­юте­ра сме­нит вин­честер и перене­сет зашиф­рован­ные фай­лы туда, весь «пер­сональ­ный» фак­тор уле­тит в тру­бу. А вот если у тебя есть хотя бы один исходный файл — хоть сох­ранен­ная фот­ка, хоть шаб­лон пись­ма, любой незашиф­рован­ный документ, — то алго­ритм мож­но под­ручны­ми метода­ми про­верить: подать пред­положи­тель­ную дату, серий­ник и пос­мотреть, сов­пада­ет ли рас­клад. То есть нужен мос­тик — неболь­шая под­сказ­ка извне. Без нее ты будешь тыкать­ся всле­пую и под­бор клю­ча зай­мет гораз­до боль­ше вре­мени. Это вто­рая заг­воз­дка.

Ки­рилл кив­нул, внут­ренне поража­ясь тому, с какой лег­костью сосед рас­сужда­ет о вещах, которые боль­шинс­тву людей показа­лись бы непонят­ной тарабар­щиной. От пожило­го челове­ка в зас­тиран­ной май­ке и вытяну­тых тре­никах ожи­даешь услы­шать что угод­но, кро­ме поч­ти науч­ной лек­ции по осно­вам крип­тогра­фии. Его так и под­мывало поин­тересо­вать­ся нап­рямую, отку­да все‑таки у Бориса Семено­вича взя­лись столь глу­бокие поз­нания в генера­торах и клю­чах. Не решил­ся. Да и сам тон соседа не оставлял мес­та расс­про­сам: буд­то тот нароч­но дер­жал гра­ницу, откры­вая ров­но столь­ко, сколь­ко счи­тал нуж­ным.

— Давай­те я тог­да рас­шифров­щик наб­росаю, — пред­ложил Кирилл, — сра­зу и про­верим, как ваш алго­ритм работа­ет.

— Годит­ся, — кив­нул сосед. — А я пой­ду на кух­ню, чай­ник пос­тавлю. Печенье у тебя най­дет­ся какое‑нибудь?

— Вче­раш­ний батон толь­ко.

— Тог­да я из дома сгу­щен­ки при­несу. Чего пус­той чай гонять?

По­ка Кирилл возил­ся с кодом, Борис Семено­вич пос­тавил на пли­ту чай­ник, стук­нул двер­цей холодиль­ника, о чем‑то повор­чал, потом сбе­гал к себе и вер­нулся с полови­ной пал­ки док­тор­ской кол­басы, бри­кети­ком сли­воч­ного мас­ла и бан­кой сгу­щен­ного молока. Спус­тя нес­коль­ко часов все было готово — Кирилл запус­тил декодер из коман­дной стро­ки, передав ему на вход тре­буемые парамет­ры и путь к одно­му из зашиф­рован­ных фай­лов. Прог­рамма работа­ла.

— Ваши фай­лы я к утру рас­шифрую, — пообе­щал Кирилл, с аппе­титом отку­сив от лом­тика полито­го сгу­щен­кой нарез­ного, которые Борис Семено­вич акку­рат­но раз­ложил на тарелоч­ке.

— Думаю, не один я от это­го вируса пос­тра­дал, — про­изнес сосед, — мож­но и дру­гим людям помочь.

— В прин­ципе, мож­но… — Кирилл при­кинул в уме, что понадо­бит­ся для реали­зации этой затеи, и потянул­ся за сле­дующим кус­ком. — Тог­да надо к прог­рамме гра­фичес­кий интерфейс при­делать, что­бы было про­ще. Сайт какой‑нибудь мож­но на колен­ке соору­дить. Да и вооб­ще, нич­то не меша­ет копей­ку за рас­шифров­ку брать — мень­ше, чем зло­деи про­сят, но и что­бы не сов­сем даром. Подумать надо.

— Вот и подумай.

— Толь­ко рас­шифров­щик наш имен­но с этой вер­сией тро­яна спра­вить­ся может. Если его авто­ры поум­неют и добавят в алго­ритм нас­тоящую слу­чай­ность — ска­жем, вмес­то прос­той кон­катена­ции даты и серий­ника ста­нут исполь­зовать источник истинно­го энтро­пий­ного шума, — то весь ваш блес­тящий алго­ритм прев­ратит­ся в тык­ву. Ни дата, ни серий­ник не помогут.

— Ну да, — Борис Семено­вич вздох­нул, — а еще авто­ру тро­яна может не пон­равить­ся, что ты его биз­несу меша­ешь.

Ки­рилл отку­сил еще кусок бул­ки и на мгно­вение задумал­ся: день­ги за рас­шифров­ку, интерфейс, сайт на колен­ке… Кар­тинка понем­ногу ста­нови­лась не такой уж прос­той — слиш­ком мел­кая при­быль про­тив воз­можных проб­лем.

— А может, бес­плат­но декодер выложить? — про­дол­жил раз­мышлять он вслух.

— Может, и так, — хмык­нул сосед, — но на вся­кий слу­чай ста­рай­ся лиш­ний раз не све­тить­ся в интерне­те. Никаких гром­ких рек­ламных объ­явле­ний, никаких боль­ших сумм и, глав­ное, никаких реаль­ных имен. Чем мень­ше народу зна­ет, кто имен­но этим занима­ется, тем доль­ше будет работать метод.

Ки­рилл кив­нул. Он ощу­тил, как внут­ри про­сыпа­ется при­выч­ный азарт — решить задачу, сде­лать рабочий про­дукт, довес­ти его до ума. День­ги и потен­циаль­ный риск отсту­пили на вто­рой план.


Продолжение доступно только участникам

Материалы из последних выпусков становятся доступны по отдельности только через два месяца после публикации. Чтобы продолжить чтение, необходимо стать участником сообщества «Xakep.ru».

Присоединяйся к сообществу «Xakep.ru»!

Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», позволит скачивать выпуски в PDF, отключит рекламу на сайте и увеличит личную накопительную скидку! Подробнее

  • Подпишись на наc в Telegram!

    Только важные новости и лучшие статьи

    Подписаться

  • Подписаться
    Уведомить о
    1 Комментарий
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии