Введение в криптографию
[an error occurred while processing this directive]

Какой алгоритм выбрать?


Мы разговаривали со многими криптографами, и все они начинали с объяснения, что такое . Он прост и удобен в обращении, но имеет один существенный недостаток - раскрыть его может каждый школьник. Поэтому не будем на нем останавливаться и сразу перейдем к , либо , либо любому другому, в котором шифрование сводится к наложению одной последовательности на другую. Как признают все криптографы, при одноразовом использовании такого типа шифров дешифровать сообщение невозможно.

Простейший способ построить программу шифрования - реализовать , знаки которой можно последовательно складывать со знаками исходного сообщения. Для наложения, конечно, нужна не любая последовательность, а именно случайная. Что это такое? На первый взгляд нет проблем. Различных генераторов известно великое множество. Какой из них выбрать? Ответ очевиден - тот, который вырабатывает последовательность, наиболее близкую к случайной.

А теперь попробуйте дать определение случайной последовательности. Для эксперимента попросите кого-нибудь это сделать, и он наверняка скажет вам, что это такая последовательность, в которой каждый элемент случайно, независимо от других элементов и равновероятно может принимать каждое из возможных значений, или что-нибудь вроде ``это последовательность, являющаяся реализацией схемы независимых испытаний'', или - ``полученная в результате выборки из множества всех последовательностей с равномерным распределением''.

Недостаток использования такого рода определений для целей криптографии становится очевидным при взгляде на последовательность

0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.

Она является одной из реализаций схемы последовательных независимых испытаний и ни в чем не уступает любой другой последовательности, например,

1, 0, 1, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1,

так как вероятности появления их на выходе удовлетворяющего таким определениям случайного датчика одинаковы. С точки зрения теории, разницы нет никакой, но попробуйте их использовать для шифрования.




- Начало -  - Назад -  - Вперед -


[an error occurred while processing this directive]