Free

Шифр Цезаря

Text
Mark as finished
Font:Smaller АаLarger Aa

Глава 5 – Непростое решение

Добравшись до базы, Вика первым делом попросила показать ей фотографии жертв. Кирилл развернул голограммы и стал перелистывать профили женщин. Вика вздрогнула, когда долистали до 2035 года, попросила дать ей время, чтобы проверить одну мысль. Воскликнув через несколько минут, она подозвала Кирилла и стала демонстрировать ему наглядно, как менялся профиль девушек. Если до 2035 года жертвами были только рыжеволосые, то после 2035 насиловали и убивали уже любых, независимо от цвета волос. “Поэтому меня и отправили в 2035 год на тот матч, где мы с тобой познакомились, где-то в тот период и произошел сбой”, – грустно заметил Кирилл, укоряя себя за то, что сразу не выложил Вике все известные ему на данный момент факты и сейчас они впустую тратят время, давая Вике поиграть в следователя. Женщина выразила желание посмотреть код, тем более, что он был написан на знакомом ей языке программирования Python. Кирилл ответил, что устроить такое невероятно сложно, начал уверять, что в отделе разработки роботов-футболистов под управлением ИИ работают совсем не идиоты, они бы уже давно отыскали ошибку в программе. Вика стала сомневаться в том, что тим-лид просматривал абсолютно все ветки перед слиянием кода и стала предполагать, что где-то кроется подвох. Кирилл предложил совершить полет в 2034-й год, где начальником отдела был его хороший знакомый. С ним было бы легче договориться о доступе к просмотру кода. Вот только это будет уже второй из двух возможных полетов Вики. Технология перемещений во времени только тестировалась и не было никаких гарантий безопасности таких полетов. На самом же деле приказ о полете в 2034 год был подписан руководством час назад. Кирилл просто не мог себе позволить самовольный вылет в другой год.

Купив лекарство от рака в ближайшей аптеке, женщина уговаривала заскочить в 2023-й год, чтобы спасти своего отца, но Кирилл понимал, что это очень опасно для организма Вики и поездка может стать последней, оставив ее в 2023-м. Тяжело было говорить о том, что против спасения одной жизни ее отца стоят миллионы жизней женщин и она должна понимать, что произойдет с исчезновением последней. Разговор был тяжелым. Вика плакала, глядя на флакон с лекарством. Душа разрывалась на части. Вернувшись в 2023-й Вика спасла бы не только своего отца, но и мать, последовавшую за мужем, так и не оправившись от горя, да еще и потеряв заработок дизайнером из-за развития нейросетей. Жизнь любимых людей или призрачное спасение планеты? Но как бы она объяснила появление лекарства тогда, когда в мире оно еще не обнаружено? Как бы убедила отца принять его? Почему именно ей необходимо переместиться во времени, разве нет больше талантливых программистов, способных разобраться в коде? Да разве она талантливая, ведь всю жизнь ее убеждали в обратном. Почему Кирилл не смог убедить никого из коллег поискать ошибки в коде? Почему сотрудники боятся перемещений во времени, точнее расщепления на атомы? Что бы делал Кирилл, не повстречай он Вику на футбольном матче? Миллион вопросов. Ответ все-таки всплыл в рыжеволосой голове: “Нужно помочь, он все-таки спас мне жизнь!”

Глава -1 – 2034-й

После второго полета во времени организму Вики стало плохо. Замигали красные лампочки на корпусе капсулы. Атомы после расщепления собирались обратно, но организм упорно не принимал всех сразу, ему не хватало ресурсов. Происходили неизбежные отмирания непринятых атомов. Кирилл наблюдал за Викой, не понимая как же ей помочь. Выйдет ли из капсулы прежняя Вика?! От каких именно атомов избавляется запущенный организм. От “хороших” или “плохих”? Через несколько часов процесс восстановления все-таки завершился. Кирилл, дождавшись разрешающего сигнала, бросился открывать капсулу. Вика открыла глаза и уставилась на него непонимающим взглядом. “Память отшибло”, – мелькнула мысль у Кирилла, и он начал спрашивать как ее зовут, кто она и т.д. Женщина послушно отвечала до вопроса о гибели ее муже. Выпучив глаза и удивившись, что муж погиб, Вика выбралась из капсулы. Кирилл напрягся: “Похоже, система сбросила плохое воспоминание о смерти мужа?!” Пришлось быстро восстановить этот пробел. Он рассказал ей историю, услышанную им от нее же. Последовали часы слез и успокоений. Казалось, что Вика переживает потерю заново… Кирилл выругался про себя, сделал заметку в блокноте о недоработке своей системы. Нужно было придумать какой-то другой алгоритм сборки атомов в случае возможного их отторжения организмом. Чистить плохие воспоминания казалось его подчиненным полезной для многих возможностью. С этим Кирилл решил разобраться позже.

Встретившись с начальником отдела разработки роботов под управлением ИИ, он показал ему бумагу от руководства с требованием предоставить доступ к коду и выделить самого опытного программиста в штате. На вопрос, что искать, Кирилл объяснил: “Что-то про рыжих женщин”.

Вика рвалась к компьютеру, как только увидела код из-за спин Кирилла и начальника отдела. Матерые программисты отдела перемигивались и перешептывались. Она хорошо понимала, что не выглядит как они. Она – женщина и этим все сказано в мире IT. Прокопавшись в коде пол дня ровно в 17.00 “самый опытный программист” встал и направился к выходу. Кирилл отодвинул взглядом друга-начальника отдела и попытался уговорить парня немного задержаться. Вика рванула к компьютеру, пока начальник отдела и Кирилл мерялись своими ораторскими способностями, убеждая сотрудника, что это форс-мажорная задача и нужно спасать мир! Парень брякнул что-то невнятное про ребенка из садика и скрылся. Заметив Вику за компьютером, начальник набросился на нее. Мужики опять сцепились. Кирилл рассказал о Вике, ее IT-компании и назвал ее “компьютерным гением”. Женщина залилась краской. Она впервые в своей жизни услышала похвалу не от куратора. Теперь у нее не было шанса облажаться. Вика погрузилась в работу, то и дело задавая вопросы всем, кто попадался под руку, чтобы скорее разобраться в структуре проекта. “Дайте доступ к .env файлу”, – скомандовала Вика. Кирилл тут же подключился и стал уверять друга, что женщина знает, что делает. Хотя Вика не знала, она лишь искала зацепки. Ничего про рыжих женщин в коде и в помине не было. Но Вика добралась наконец до функции удовлетворения физиологических потребностей, увидела к какой константе происходит обращение. В .env файле напротив нужного имени константы красовалась какая-то несуразица: “fsBgu szfwf fthbn oj fdbt gp upsz/wjd xbmmp b sfbm o/xpnb ucv omzp zc fui xjohgpmmp fufst:/qbsbn 0#GGE70 164-170 44-46 3-5/ ixju b fnpm op ifu fgbd”.

Попросила дать ей время, сказав, что значение константы похоже на шифр, вот только какой именно, Вика не могла определить быстро. Мужчины заметно нервничали, наливали друг другу выпить. Отдел к полуночи заметно опустел, остались только начальник отдела, Вика, Кирилл, да пара стажеров-программистов, желающих выслужиться и обратить на себя внимание.

Кирилл как мог заботился о Вике. Массажировал ее затекшие плечи (она же не могла сосредоточенно работать в эти моменты, но и прервать наслаждение от прикосновений сильных мужских рук не желала, несмотря на миссию по спасению мира), приносил горячий кофе, заказывал пиццу. Ругался несовершенству технологий: “Как вы тут вообще живете, прошлый век какой-то!”

К двум ночи Вика резко вскрикнула, разбудив задремавших коллег. Она наскоро написала дешифратор. Объяснила шифр Цезаря, основанный на сдвигах. Показала, что строки разделены слешем. В первой строке (“fsBgu szfwf fthbn oj fdbt gp upsz/wjd”) каждое слово со сдвигом на три буквы. Вика заметила прописную B и догадалась, что это похоже на начало предложения. Выполнив циклический сдвиг каждого слова на 3 буквы, она принялась искать, какой алгоритм применен еще. Оказалось, что нужно заменить каждую букву на предыдущую в английском алфавите. По сути еще один сдвиг, на минус одну букву. Таким образом fsBgu после первого сдвига преобразовалось в Bgufs, после замены на минус первую букву в After. Обрадовавшись, Вика запустила программу-дешифратор для всей константы, но после читаемого “After every games in case of victory” шла белиберда. Тяжело вздохнув, надела наушники и продолжила работу. Залив в себя остывший кофе, обнаружила, что во второй строке каждое слово со сдвигом уже на 4 буквы! Подправив код дешифратора, Вика получила уже две понятные строки значения константы: