Кpиптогpафия от папиpуса до компьютеpа



Шифр Энигмы


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

     1. Пять барабанов могли обеспечить лишь около
     ста миллионов ключей, что позволяло их за день
     перебрать на ЭВМ. Если использовать не 25 ла-
     тинских символов, а 256 кодов ASCII и увели-
     чить число барабанов, то сложность раскалыва-
     ния шифра существенно возрастет.
     2. Набор барабанов был ограничен и менялся ред-
     ко, что вызвало охоту англичан за их экземпля-
     рами в подводных лодках. ЭВМ может для каж-
     дой шифровки использовать индивидуальные
     барабаны, генерируемые по ключу, а это опять-
     таки резко усложняет вскрытие шифра.
     3. Наконец, можно сделать движение барабанов
     хаотичным по случайной последовательности,
     тоже вырабатываемой по ключу.

Подсчитаем число ключей такого шифра, реализованного программно. Пусть длина периода программного генератора случайных чисел равна 2**24. Восемь барабанов, генерируемые с помощью этого генератора, дадут вместе 2**192 вариантов ключа, а если учесть еще варианты псевдослучайной последовательности, управляющей движением барабанов, то получится внушительная цифра в 2**216 вариантов ключа. Таким образом, довольно просто получить устойчивый шифр даже при использовании программного генератора случайных чисел с периодом малой для криптографии длины. И хотя несомненно, что криптоаналитики наработали массу "домашних заготовок" для атак на такой шифр, но еще князь Владимирко Галицкий знал о том, что "в наше время чудес не бывает", и вскрытие шифра Энигмы будет дорого стоить. Поэтому приведем программу, реализующую описанный подход.

     '----------имитация Энигмы
     DEFINT I-N: DEFSTR S
     CLS : RANDOM12E 231
     DIM s(4, 32) AS STRING * 1
     ns = 4

    




Содержание  Назад  Вперед