Чаганов: Москва-37
Шрифт:
Предположим например, что открытый текст содержит слово «погода». «Энигма» зашифровала это слово в такую последовательность букв: «одютпс». Казалось бы ничего примечательного, но Раевский, а за ним Тьюринг, который вывел его идею на более высокий уровень, отметили наличие цикла: буква «п» из слова «погода», превратилась в шифровке в букву «о» (первая буква в абракадабре «одютпс»). Дальше ищем «о» в открытом тексте, их две – во второй и четвёртой позиции, берём первую – получаем букву «д» в адракадабре. Теперь ищем «д» в открытом тексте, это – предпоследняя буква в слове
«А вот и петля – „п“ превратилась в „п“»! (П-о-о-д-д-п… кстати, «о» в четвёртой позиции слова «погода» цикла не даёт).
– Ну и что это нам даёт?
– Даёт… – воображаемый Тьюринг принимается задумчиво обкусывать траурную кайму ногтя большого пальца («хотя нет, ему ещё до этого открытия три года»). – Если представить эти три перехода, как три «Энигмы» с одинаковыми установками (лишь вторая машинка, со сдвинутым относительно первой, на одну позицию, а третья – на пять позиций), в которых в один и тот же момент должно произойти превращение: на первой «Энигме» – «п» в «о», на второй – «о» в «д», на третьей – «д» в «п».
– Да, это уже кое-что… а какой длины может быть такая петля?
– Обычно три-четыре перехода, длиннее десяти почти не встречается.
– Это означает, что неплохо бы иметь десять ядер. Многовато, конечно, но реально. Однако это никак не решает проблемы с быстродействием: все эти ядра будут работать одинаково медленно, на сложение одна секунда, на умножения – пять.
– Никаких сложений и умножений, все ядра будут выполнять только одну команду: получают символ на входе, выдают на выход тоже символ, но зашифрованный по правилам «Энигмы». Устройство управления получает от работающих ядер результат и сравнивает с искомым. При совпадении печатающее устройство выдаёт текущее положение роторов.
– И всё-таки, что там со скоростью?
– Если принять скорость проверки как одно положение роторов за секунду, то на это уйдёт пять часов. Ещё надо учесть, что имеется шесть разных счетаний пяти типов роторов в трёх посадочных местах «Энигмы». Это даёт разброс времени дешифровки от одной секунды до тридцати часов – как повезёт…
– Тридцать часов…
– Если поставить тридцать таких кластеров, то время сократится до одного часа.
– Давайте сравним железо одной такой десятиядерной установки и стандартной РВМ.
«Сам посчитаю. И вообще, откуда взялись эти голоса»?
Тыльной стороной ладони стираю крупные капли пота, стекающие по лбу и вискам.
«Похоже на жар… как не вовремя, настали такие горячие денёчки. Плохо. А почему, собственно, плохо? Я что старик? Мне что уже сорок лет? Ведь не старый ещё. Организм борется с хворью, надо просто ему помочь».
В два прыжка оказываюсь у двери лаборатории, минуя вешалку с шинелью, распахиваю её… свежий ветерок приятно холодит разгорячённое тело. Быстрым шагом иду по утоптанной, плохо освещённой двумя фонарями, дорожке, ведущей к столовой: туда и обратно – двести метров.
«Надо будет заасфальтировать тропинки и найти место для гимнастических снарядов.
Стоп, вернёмся к нашим баранам, так во что выливается один
Прежде всего, длина слова моего «сипию» всего лишь пять бит (а не двадцать два, как в РВМ-1), так как работать он будет с двадцатью шестью буквами латинского алфавита (двойка в степени пять даст тридцать два возможных символа). Кроме того, нет необходимости хранить в оперативной памяти прошивку всех пяти роторов, она неизменна, поэтому поместим её в небольшое постоянное запоминающее устройство (5 роторов х 26 букв на каждом роторе х 5 бит = 650 бит + 26 х 5 бит для рефлектора, итого меньше килобайта – сущие пустяки из кусочков проводов).
«А что у нас будет сидеть в ОЗУ»?
Три пятибитных указателя (по числу активных роторов), показывающие их смещение относительно исходного положения (провернулся ротор на одну позицию – плюс единица к указателю, если позиция последняя, то указатель обнуляется), пятнадцатибитный счётчик циклов (по нему определяем ключевые установки роторов), и регистр для хранения промежуточного символа (в нём же останется и конечный символ). Получается тридцать пять реле, добавляем ещё пятнадцать на управление, синхронизацию и организацию шины данных, получим – пятьдесят реле на ядро, пятьсот реле – на «бомбу», пять тысяч – на кластер из десяти «бомб». На устройство управления «бомбой» пойдёт немного, до сотни реле, а в кластере «бомбы» электрически не связаны.
«По божески получилось, такой кластер максимум за три часа сможет взломать любой шифр „Энигмы“, а по количеству реле в нём соизмерим с РВМ (в РВМ-1 четыре тысячи реле)! Как тебе такое, Илон Маск»?
Вижу перед собой недоумённое и одновременно смущённое лицо пожилого вахтёра, отлучившегося с поста.
– Я это, товарищ Чаганов, – замямлил он. – по малой нужде, на минутку отлучился. А калитку-то, замкнул, не извольте беспокоиться.
«Надо увеличить число дежурных, территория, считай, раза в три выросла. И о сигнализации надо подумать».
– Ладно ступай, Семёныч, на пост. В следующий раз, если что, звони мне.
«Сам тоже, хорош. Оставил дверь в сверхсекретную лабораторию незапертой, с отключённой сигнализацией. А ну как стянут чего»?
– Блин! – Бегу со всех ног на склад, чтобы проверить свою догадку.
«Так и есть».
Из пяти шкафов с реле, доставшихся мне после раздела имущества с ОКБ КУКС ПВО, два – пустые.
«Пропало восемьсот реле! Вы меня знали с хорошей стороны… теперь никакой пощады. В лагерную пыль сотру»!
Тяжело опускаюсь на стул, щупаю свой холодный лоб.
«Оно понятно, что пустили их на производство „Бебо“, а не украли. Конечно так проще, взял на складе и голова не болит где достать… узнаете теперь меня с плохой стороны».
Москва, Лаврушинский переулок, д. 17.
«Дом писателей».
18 апреля 1937 года, 11:45
– Свободен, – выпрыгиваю из машины и на лету бросаю Косте. – сообщи на пост, что отсюда сам доберусь. Буду в ОКБ через час.