Шифровальное дело в те времена было лишено романтического ореола. В 1939 г. работа шифровальщика, хотя и требовала мастерства, была скучной и монотонной. Однако шифрование являлось неотъемлемым атрибутом радиосвязи. Последняя использовалась в войне в воздухе, в море и на земле, и радиосообщение для одного становилось доступно всем. Поэтому сообщения необходимо было делать неузнаваемыми. Их не просто делали «секретными» как у шпионов или контрабандистов. Засекречивалась вся система коммуникации. А это означало ошибки, ограничения и многочасовую работу над каждым сообщением. Однако другого выбора не было.
Шифры, применявшиеся в 1930-х годах, основывались не на большой математической сложности, а на простых идеях суммирования и замещения. Идею «суммирования» никак нельзя было назвать новой. Еще Юлий Цезарь скрывал свои послания от галлов, прибавляя число три к каждой букве, так что буква А становилась буквой D, буква В — буквой Е и т. д. Если выразить это точнее, то такой способ суммирования математики называли модулярным суммированием или суммированием без переноса, потому что оно означало, что буква Y становилась буквой В, буква Z становилась буквой С, как если бы буквы располагались по кругу.
Две тысячи лет спустя идею модулярного суммирования фиксированного числа вряд ли можно было бы считать адекватной. Однако ничего принципиально отличного от основной идеи придумано не было. Один важный тип шифров использовал идею «модулярного суммирования», но вместо фиксированного числа применялась изменяющаяся последовательность чисел, образующая ключ, который добавлялся к сообщению.
На практике слова сообщения сначала зашифровывались в числа с помощью стандартной книги шифров. Работа шифровальщика заключалась в том, чтобы взять этот «открытый текст», допустим
6728 5630 8923, взять ключ, допустим,
9620 6745 2397 и сформировать зашифрованный текст
5348 1375 0210 с помощью модулярного суммирования.
Чтобы это можно было как-то использовать, законный получатель должен был знать ключ, чтобы вычесть его и получить «открытый текст». Таким образом, должна была существовать система, с помощью которой отправитель и получатель заранее согласовывали ключ.
Одним из способов сделать это стал принцип «одноразовости». Это была одна из немногих рациональных идей, рожденных в области криптографии в 1930-х годах, она же являлась одной из самых простых. Принцип требовал, чтобы ключ был точно в два приема, одна копия передавалась отправителю, вторая — получателю сообщения. Аргумент в пользу безопасности данной системы заключался в том, что она работала абсолютно случайным образом, как при перетасовке карт или бросании костей, и вражескому криптоаналитику было не за что зацепиться.
Предположим, что зашифрованный текст выглядит как «5673», тогда дешифровщик может подумать, что открытый текст будет «6743», а ключ — «9930», или открытый текст будет «8442», а ключ — «7231». Однако проверить эту догадку будет невозможно, также нет причин предпочесть одну догадку другой. Аргумент в пользу системы базировался на полной бессистемности выбора ключа, который мог в равной степени состоять из всех возможных цифр, в противном случае криптоаналитик имел бы причину предпочесть одну догадку другой. И в самом деле, поиск системы в абсолютном хаосе — это работа как для криптоаналитика, так и для ученого.
По британской системе были изготовлены шифровальные блокноты для одноразового использования. Помимо случайного выбора ключа, ни одна из станиц не использовалась дважды, и к блокнотам не имели доступа посторонние, поэтому система была защищена от случайных ошибок и безопасна. Однако она была построена на создании колоссального количества ключей, равного по объему максимуму того, что мог потребовать канал связи. Предположительно, выполнение этой неблагодарной задачи было возложено на женщин из Строительной секции (Construction Section) GC&CS, которую с началом войны эвакуировали не в Блетчли, а в Мэнсфилд Колледж в Оксфорде. Что касается использования системы, то и оно не доставляло большого удовольствия. Малькольм Маггеридж, который работал в секретной службе, считал ее «трудоемкой работой, в которой я всегда был слаб. Во-первых, нужно было вычитать из групп чисел в телеграмме соответствующие группы из так называемого одноразового шифровального блокнота; затем смотреть в книге шифров, что означают получившиеся группы. Любая ошибка в вычитании или, что еще хуже, в вычтенных группах, и все можно выбрасывать. Я пахал до потери пульса, ужасно путался, и если надо было начитать все сначала….»
В качестве альтернативы можно было использовать систему шифрования, основанную на идее «замещения». В простейшем виде она применялась для головоломок-криптограмм, которые решали любители «Принстонской охоты за сокровищами». По этой системе одна буква алфавита заменялась другой по заранее определенному принципу, например:
так что слово TURING превращается в VNQOPA. Такой простой или «моноалфавитный» шифр можно было легко разгадать, проверив частоту использования букв, общих слов и т. Фактически проблема при решении таких головоломок возникала лишь тогда, когда составитель включал в нее необычные слова вроде XERXES (Ксеркс), чтобы затруднить разгадку. Такая система была слишком примитивной для использования в военных целях. Однако в 1939 г. использовались системы, которые были немногим сложнее. Сложность их заключалась в применении нескольких алфавитных замещений, используемых по принципу ротации или в соответствии с другими несложными схемами. Немногие существовавшие инструкции и учебники по криптологии были, в основном, посвящены таким «полиалфавитным» шифрам.
Немного более сложной была система, в которой шло замещение не отдельных букв, а 676 возможных пар букв. Одна британская шифровальная система тех лет была основана на этом принципе. Она сочетала использование этого принципа и книги шифров. Система использовалась британским Торговым флотом.
Сначала шифровальщик должен был закодировать сообщение кодом торгового флота, например:
Следующим шагом было дополнение до четного числа строк, поэтому шифровальщик добавлял слово, не несущее никакого смысла, например,
После этого сообщение нужно было зашифровать. Шифровальщик брал первую вертикальную пару букв, т. е. VC, и искал ее соответствие в таблице буквенных пар. В таблице значилась другая буквенная пара, например, ХХ. Подобным образом шифровальщик заменял все остальные пары букв сообщения.
Добавить здесь особо нечего, за исключением того, что, как и в системе шифрования «с суммированием», процесс был бесполезен в случае, если законный получатель не знал, какая таблица замещения используется. Если, скажем, предварить передачу информацией «Таблица номер 8», то это может позволить криптоаналитику противника собрать и систематизировать сообщения, зашифрованные с использованием той же самой таблицы, и попробовать взломать шифр. Поэтому здесь также использовались некоторые способы сокрытия информации. С таблицами печатался список последовательностей из восьми букв, например, «B M T V K Z M D». Шифровальщик выбирал одну из этих последовательностей и добавлял ее к началу сообщения. Получатель, имевший такой же список, мог видеть, какая таблица используется.