Шифрование методом Вернама

В 1926 г. Гилберт Вернам предложил данный шифр для передачи зашифрованных сообщений по телеграфу.

Метод Вернама использует двоичное представление символов исходного текста. Каждый символ открытого текста кодируется двоичным числом определенной длины. Если длина алфавита не более 32 символов, то для кодирования символа достаточно 5 бит. При более длинных алфавитах можно использовать 6-ти, 7-ми и 8-ми битное кодирование.

Случайная последовательность двоичных ключей k заранее генерируется и записывается.

Схема передачи сообщений с использованием шифрования методом Вернама показана на рис.8. Шифрование исходного текста, предварительно преобразованного в последовательность двоичных символов x, осуществляется путем побитового сложения по модулю 2 (операция XOR) символов x с последовательностью двоичных ключей k:

 
 

y = x k . (3)

 

Рис. 8. Схема шифрования и расшифрования сообщений по методу Вернама

 

Расшифрование состоит в сложении по модулю 2 символов у шифртекста с той же последовательностью ключей k:

y k = x k  k = x . (4)

При этом последовательности ключей, использованные при шифровании и расшифровании, компенсируют друг друга (при сложении по модулю 2), и в результате восстанавливаются символы x исходного текста.

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