Skip to content

Latest commit

 

History

History

cryptography

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 

Криптография

Шифр Виженера

В шифре Цезаря каждая буква алфавита сдвигается на несколько позиций; например в шифре Цезаря при сдвиге +3, A стало бы D, B стало бы E и так далее. Шифр Виженера состоит из последовательности нескольких шифров Цезаря с различными значениями сдвига.

Wiki: https://en.wikipedia.org/wiki/Vigen%C3%A8re_cipher

Шифрование шифром Виженера работает следующим образом. Возьмем латинский алфавит, в котором 26 букв, текст, который требуется зашифровать и ключ:

attackatdown

lemonlemonle

Позиция буквы a в алфавите 0, а позиция l - 11. Тогда символ в зашифрованном тексте будет вычисляться как (0 + 11) % 26 что равно 11, т.е. символу l. Второму символу текста t соответствует символ e из ключа, результатом для них будет (19 + 4) % 26 = 23, что соответствует символу x.

Расшифровка происходит подобным образом: c - n + m, где c - код символа из зашифрованного текста, n - размер алфавита, m - код символа из ключа.

В модуле vigenere_cipher.py приведен пример реализации такого шифра.