Шифр Цезаря - Алёна Малиновская
Попросила дать ей время, сказав, что значение константы похоже на шифр, вот только какой именно, Вика не могла определить быстро. Мужчины заметно нервничали, наливали друг другу выпить. Отдел к полуночи заметно опустел, остались только начальник отдела, Вика, Кирилл, да пара стажеров-программистов, желающих выслужиться и обратить на себя внимание.
Кирилл как мог заботился о Вике. Массажировал ее затекшие плечи (она же не могла сосредоточенно работать в эти моменты, но и прервать наслаждение от прикосновений сильных мужских рук не желала, несмотря на миссию по спасению мира), приносил горячий кофе, заказывал пиццу. Ругался несовершенству технологий: “Как вы тут вообще живете, прошлый век какой-то!”
К двум ночи Вика резко вскрикнула, разбудив задремавших коллег. Она наскоро написала дешифратор. Объяснила шифр Цезаря, основанный на сдвигах. Показала, что строки разделены слешем. В первой строке (“fsBgu szfwf fthbn oj fdbt gp upsz/wjd”) каждое слово со сдвигом на три буквы. Вика заметила прописную B и догадалась, что это похоже на начало предложения. Выполнив циклический сдвиг каждого слова на 3 буквы, она принялась искать, какой алгоритм применен еще. Оказалось, что нужно заменить каждую букву на предыдущую в английском алфавите. По сути еще один сдвиг, на минус одну букву. Таким образом fsBgu после первого сдвига преобразовалось в Bgufs, после замены на минус первую букву в After. Обрадовавшись, Вика запустила программу-дешифратор для всей константы, но после читаемого “After every games in case of victory” шла белиберда. Тяжело вздохнув, надела наушники и продолжила работу. Залив в себя остывший кофе, обнаружила, что во второй строке каждое слово со сдвигом уже на 4 буквы! Подправив код дешифратора, Вика получила уже две понятные строки значения константы:
“After every games in case of victory
allow a real woman”
Она понимала, что разгадка близка. Ладони вспотели от волнения. Все столпились за ее спиной, нервно переминались с ноги на ногу. Через десять минут Викина программа выдала полностью расшифрованное значение константы:
“After every games in case of victory
allow a real woman
but only by the following parameters:
#FFD700 164-170 44-46 3-5
with a mole on the face”
Парни мгновенно перевели:
“После каждой игры в случае победы разрешаю настоящую женщину, но только по таким параметрам: #FFD700, 164-170, 44-46, 3-5, с родинкой на лице.”
Молодой программист-стажер, один из оставшихся в ночь, тут же расшифровал #FFD700 – шестнадцатеричный код золотого цвета. 164-170 было похоже на рост женщины, 44-46 на размер одежды. А вот с 3-5 возникла заминка. Вика предположила, что это размер груди. Кирилл как-то особенно внимательно посмотрел, скользнув взглядом с груди на лицо. Заметил родинку над губой, но вслух произнес: “А золотые у тебя волосы!”
Начальник отдела залез в систему контроля версий и нашел фамилию программиста, написавшего этот код. Кирилл знал, что в 2035-м году именно этот товарищ куда-то бесследно исчезнет, возможно, наложит на себя руки, осознав к какой трагедии приведет его код. Один из парней неожиданно выдал и мотив этого преступления. Программист таким образом отомстил всем женщинам, похожим на его супругу, которая изменила ему. Он принес фотографию со стола сотрудника в доказательство своей версии. На них смотрела типичная жертва роботов-футболистов. Сам же программист несколько месяцев не появлялся в офисе, попросившись перевести его на удаленку “по семейным обстоятельствам”.
Вика долго вглядывалась в значение константы. Как вдруг произнесла: “but, not”. Все обернулись, застыв в ожидании более внятного пояснения. Женщина предположила, что скорее всего в 2035-м этот программист вошел во вкус и подправил but на not, разрешив роботам наслаждаться женщинами не только с заданными параметрами. Именно поэтому и произошло резкое изменение типажа жертв. Им просто разрешили всех. А т.к. ни одна настоящая женщина не могла физически выдержать многочасового насилия, она просто погибала. Роботы, под управлением ИИ, само обучались не по дням, а по часам, учились нападать более аккуратно и незаметно для окружающего мира, менять внешность и выходить безнаказанными.
Кирилл кинулся обнимать Вику, твердя, что верил в нее. Начальник отдела сел за правку кода лично.
Сотрудника, мстителя жене, через час арестовали, выдернув прямо из постели.
Кирилл стоял у самолета, внимательно смотрел на Вику. Она опять разводила слякоть на своем лице. Он оставил ее в 2034 году, подсказав, что она сможет предотвратить падение своего мужа. Попросил не менять номер телефона.
И улетел обратно в 2040-й, но обещал вернуться…
Глава 6 – Судьба
Отчитавшись перед руководством АО “Заслон”, Кирилл оделся в невидимый костюм и полетел над городом. Он хотел убедиться, что женщины на месте и путешествие в 2034-й год, когда Вика смогла найти зашифрованную константу с описанием типажа жертв, принесло свои плоды. Он неосознанно выбрал тот же маршрут, по которому летал с НЕЙ. Вспомнил место, где Вика уворачивалась от столкновения с беспилотником. Задумался, как такое было возможно. Беспилотник же оснащен системой предупреждения аварий. Воспоминания захлестнули Кирилла и он поклялся себе, что как можно скорее доработает свое изобретение и сделает полеты по времени более безопасными. Для НЕЕ.
Погрузился в работу. Стал настоящим тираном для своих подчиненных, требуя невозможного. Как Стив Джобс он заражал своей верой и харизмой и не слышал даже научных доказательств невозможности своей затеи.
Спустя год, Кирилл полетел за Викой в прошлое, прихватив с собой несколько ящиков с лекарством от рака не только для ее отца. Он хотел передать разработку в один из медицинских центров,