Книга шифров. Тайная история шифров и их расшифровки - Сингх Саймон (читать книги онлайн полностью без сокращений TXT) 📗
Криптографы осознали, что для создания случайного ключа потребуется много времени, сил и средств. Лучшие случайные ключи создаются на основе естественных физических процессов, например, радиоактивности, которая, как известно, действительно имеет случайный характер. Криптограф может взять крупный кусок радиоактивной руды и измерять излучение с помощью счетчика Гейгера. Иногда ионизирующие частицы излучения испускаются одна за одной очень быстро, иногда между отдельными актами испускания проходит довольно длительное время, поэтому время между этими актами есть величина непредсказуемая и случайная. В таком случае криптограф может подсоединить к счетчику Гейгера дисплей, на экране которого в циклическом режиме быстро, но с постоянной скоростью пробегает алфавит, моментально останавливающийся при срабатывании счетчика. Какой бы ни была буква на экране, она может использоваться в качестве очередной буквы случайного ключа. После этого на экране дисплея опять начинается пролистывание алфавита в циклическом режиме до следующего срабатывания счетчика, которое происходит в результате попадания в него ионизирующей частицы; замершая на экране буква добавляется к ключу, и процесс идет далее. Такое устройство гарантированно создавало бы действительно случайный ключ, но оно непригодно для повседневной криптографии.
Даже если бы вы смогли создать достаточно случайные ключи, то возникла бы еще одна проблема: сложность их распределения. Представьте себе район боевых действий, где сотни радистов составляют единую коммуникационную сеть. Для начала все они должны иметь идентичные экземпляры одноразового шифрблокнота. Затем, когда подготовлены новые шифрблокноты, их необходимо одновременно передать всем. Наконец, все должны быть уверены, что нужный лист одноразового шифрблокнота используется в нужное время. При широком применении одноразовых шифрблокнотов на поле боя будет просто столпотворение курьеров и писарей. Более того, если противник захватит хотя бы один комплект ключей, то надежность всей коммуникационной системы будет нарушена.
Представляется соблазнительным сократить усилия на подготовку и распределение ключей путем повторного использования одноразовых шифрблокнотов, но это смертный грех криптографии.
Повторное использование одноразового шифрблокнота позволит криптоаналитику противника легко дешифровать сообщения. Принцип, с помощью которого вскрываются два фрагмента шифртекста, зашифрованного одним и тем же криптографическим ключом одноразового использования, объясняется в Приложении G, но пока следует запомнить, что в использовании одноразового шифрблокнота нельзя делать никаких упрощений. Для каждого сообщения отправитель и получатель должны использовать новый ключ.
Одноразовый шифрблокнот полезен только тем, кому нужна сверхнадежная связь и кто может позволить себе заплатить огромную цену за создание и надежное распределение ключей. Например, безопасность телефонной «горячей линии» между президентами России и Америки обеспечивается посредством использования одноразового шифрблокнота.
Практические недостатки теоретически совершенного одноразового шифрблокнота означали, что идею Моборна никогда не удастся применить в разгаре сражения. По окончании Первой мировой войны и всех криптографических неудач продолжался поиск практичной системы, которую можно было бы применить в следующем конфликте. К радости криптографов это продолжалось недолго; вскоре они совершили прорыв, благодаря которому была восстановлена надежность связи на поле сражения. Чтобы упрочить свои шифры, криптографы, для обеспечения криптостойкости при зашифровывали сообщений, были вынуждены отказаться от использования бумаги и карандаша и применять самые последние достижения.
Усовершенствование шифровальных машин — от шифровальных дисков до «Энигмы»
Самым первым криптографическим устройством был шифровальный диск, придуманный в пятнадцатом веке итальянским архитектором Леоном Альберти, одним из отцов многоалфавитного шифра. Он взял два медных диска, один чуть шире другого, и нанес алфавит по краям обоих дисков. Поместив меньший диск сверху диска большего размера и скрепив их иглой, действующей как ось, он получил шифровальный диск, который показан на рисунке 31. Оба эти диска могут вращаться независимо друг от друга, так что оба алфавита могут занимать различное положение друг относительно друга и тем самым использоваться для зашифровывания сообщения с помощью простого шифра Цезаря. Например, чтобы зашифровать сообщение шифром Цезаря со сдвигом на одну позицию, установите А на наружном диске напротив В на внутреннем; наружный диск будет алфавитом открытого текста, а внутренний диск будет представлять шифралфавит. На наружном диске ищется буква из открытого текста сообщения, а соответствующая буква с внутреннего диска записывается как часть шифртекста. Чтобы зашифровать сообщение шифром Цезаря со сдвигом на пять позиций, просто поверните диски так, чтобы А на наружном диске стояла напротив Р на внутреннем, а затем пользуйтесь шифровальным диском в этом новом положении.
Рис. 31 Шифровальный диск, применявшийся конфедератами во время Гражданской войны в США.
Даже при том, что шифровальный диск был исключительно простым приспособлением, он существенно облегчил процесс шифрования и широко использовался целых пять столетий. На рисунке 31 приведен вариант конструкции шифровального диска, который применялся в Гражданской войне в США. На рисунке 32 показан кодограф — шифровальный диск капитана Миднайта, одноименного героя одной из первых американских радиопостановок. Слушатели программы могли получить собственный кодограф, написав организаторам программы — компании Ovaltine — и приложив этикетку от одной из упаковок. Время от времени программы заканчивались секретным сообщением от капитана Миднайта, которое могло быть расшифровано радиослушателями с помощью кодографа.
Рис. 32 Кодограф Капитана Миднайта, который зашифровывал каждую букву открытого текста (наружный диск) в виде числа (внутренний диск), а не буквы.
Шифровальный диск может рассматриваться как «скремблер», который берет каждую букву открытого текста и преобразует ее в некую другую букву. При том способе применения шифровального диска, который мы рассматривали до сих пор, взломать получающийся шифр довольно просто, однако существует возможность использования шифровального диска и более сложным образом. Его изобретатель, Альберти, предложил менять установку диска во время подготовки сообщения, что фактически означает применение многоалфавитного шифра вместо одноалфавитного. Так, чтобы зашифровать слово goodbye с помощью ключевого слова LEON, Альберти мог бы поступить следующим образом. Он бы начал с того, что установил диск по первой букве ключевого слова, совместив букву А на наружном диске с буквой L на внутреннем. Далее он бы зашифровал первую букву сообщения, g, отыскав ее на наружном диске и отметив соответствующую ей букву на внутреннем диске, R. Затем, чтобы зашифровать вторую букву сообщения, он бы установил диск по второй букве ключевого слова, совместив букву А на наружном диске с буквой Е на внутреннем. После чего зашифровал бы букву о, найдя ее на наружном диске и отметив соответствующую ей букву на внутреннем диске, S. Процесс шифрования продолжается: шифровальный диск последовательно устанавливается по буквам ключа — О, затем N, вслед за этим снова на L и так далее. Фактически Альберти зашифровал бы сообщение с помощью шифра Виженера, где в качестве ключевого слова использовалось его первое имя. Но если сравнивать с квадратом Виженера, то шифровальный диск ускоряет процесс зашифровывания и уменьшает количество ошибок.