- /
- /
- /
Шифр Виженера
Шифр Виженера — метод полиалфавитного шифрования буквенного текста с использованием ключевого слова.
Таблица для расшифровки русская:
A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z | AA | AB | AC | AD | AE | AF | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | а | б | в | г | д | е | ё | ж | з | и | й | к | л | м | н | о | п | р | с | т | у | ф | х | ц | ч | ъ | ы | ь | э | ю | я | |
2 | а | а | б | в | г | д | е | ё | ж | з | и | й | к | л | м | н | о | п | р | с | т | у | ф | х | ц | ч | ъ | ы | ь | э | ю | я |
3 | б | б | в | г | д | е | ё | ж | з | и | й | к | л | м | н | о | п | р | с | т | у | ф | х | ц | ч | ъ | ы | ь | э | ю | я | а |
4 | в | в | г | д | е | ё | ж | з | и | й | к | л | м | н | о | п | р | с | т | у | ф | х | ц | ч | ъ | ы | ь | э | ю | я | а | б |
5 | г | г | д | е | ё | ж | з | и | й | к | л | м | н | о | п | р | с | т | у | ф | х | ц | ч | ъ | ы | ь | э | ю | я | а | б | в |
6 | д | д | е | ё | ж | з | и | й | к | л | м | н | о | п | р | с | т | у | ф | х | ц | ч | ъ | ы | ь | э | ю | я | а | б | в | г |
7 | е | е | ё | ж | з | и | й | к | л | м | н | о | п | р | с | т | у | ф | х | ц | ч | ъ | ы | ь | э | ю | я | а | б | в | г | д |
8 | ё | ё | ж | з | и | й | к | л | м | н | о | п | р | с | т | у | ф | х | ц | ч | ъ | ы | ь | э | ю | я | а | б | в | г | д | е |
9 | ж | ж | з | и | й | к | л | м | н | о | п | р | с | т | у | ф | х | ц | ч | ъ | ы | ь | э | ю | я | а | б | в | г | д | е | ё |
10 | з | з | и | й | к | л | м | н | о | п | р | с | т | у | ф | х | ц | ч | ъ | ы | ь | э | ю | я | а | б | в | г | д | е | ё | ж |
11 | и | и | й | к | л | м | н | о | п | р | с | т | у | ф | х | ц | ч | ъ | ы | ь | э | ю | я | а | б | в | г | д | е | ё | ж | з |
12 | й | й | к | л | м | н | о | п | р | с | т | у | ф | х | ц | ч | ъ | ы | ь | э | ю | я | а | б | в | г | д | е | ё | ж | з | и |
13 | к | к | л | м | н | о | п | р | с | т | у | ф | х | ц | ч | ъ | ы | ь | э | ю | я | а | б | в | г | д | е | ё | ж | з | и | й |
14 | л | л | м | н | о | п | р | с | т | у | ф | х | ц | ч | ъ | ы | ь | э | ю | я | а | б | в | г | д | е | ё | ж | з | и | й | к |
15 | м | м | н | о | п | р | с | т | у | ф | х | ц | ч | ъ | ы | ь | э | ю | я | а | б | в | г | д | е | ё | ж | з | и | й | к | л |
16 | н | н | о | п | р | с | т | у | ф | х | ц | ч | ъ | ы | ь | э | ю | я | а | б | в | г | д | е | ё | ж | з | и | й | к | л | м |
17 | о | о | п | р | с | т | у | ф | х | ц | ч | ъ | ы | ь | э | ю | я | а | б | в | г | д | е | ё | ж | з | и | й | к | л | м | н |
18 | п | п | р | с | т | у | ф | х | ц | ч | ъ | ы | ь | э | ю | я | а | б | в | г | д | е | ё | ж | з | и | й | к | л | м | н | о |
19 | р | р | с | т | у | ф | х | ц | ч | ъ | ы | ь | э | ю | я | а | б | в | г | д | е | ё | ж | з | и | й | к | л | м | н | о | п |
20 | с | с | т | у | ф | х | ц | ч | ъ | ы | ь | э | ю | я | а | б | в | г | д | е | ё | ж | з | и | й | к | л | м | н | о | п | р |
21 | т | т | у | ф | х | ц | ч | ъ | ы | ь | э | ю | я | а | б | в | г | д | е | ё | ж | з | и | й | к | л | м | н | о | п | р | с |
22 | у | у | ф | х | ц | ч | ъ | ы | ь | э | ю | я | а | б | в | г | д | е | ё | ж | з | и | й | к | л | м | н | о | п | р | с | т |
23 | ф | ф | х | ц | ч | ъ | ы | ь | э | ю | я | а | б | в | г | д | е | ё | ж | з | и | й | к | л | м | н | о | п | р | с | т | у |
24 | х | х | ц | ч | ъ | ы | ь | э | ю | я | а | б | в | г | д | е | ё | ж | з | и | й | к | л | м | н | о | п | р | с | т | у | ф |
25 | ц | ц | ч | ъ | ы | ь | э | ю | я | а | б | в | г | д | е | ё | ж | з | и | й | к | л | м | н | о | п | р | с | т | у | ф | х |
26 | ч | ч | ъ | ы | ь | э | ю | я | а | б | в | г | д | е | ё | ж | з | и | й | к | л | м | н | о | п | р | с | т | у | ф | х | ц |
27 | ъ | ъ | ы | ь | э | ю | я | а | б | в | г | д | е | ё | ж | з | и | й | к | л | м | н | о | п | р | с | т | у | ф | х | ц | ч |
28 | ы | ы | ь | э | ю | я | а | б | в | г | д | е | ё | ж | з | и | й | к | л | м | н | о | п | р | с | т | у | ф | х | ц | ч | ъ |
29 | ь | ь | э | ю | я | а | б | в | г | д | е | ё | ж | з | и | й | к | л | м | н | о | п | р | с | т | у | ф | х | ц | ч | ъ | ы |
30 | э | э | ю | я | а | б | в | г | д | е | ё | ж | з | и | й | к | л | м | н | о | п | р | с | т | у | ф | х | ц | ч | ъ | ы | ь |
31 | ю | ю | я | а | б | в | г | д | е | ё | ж | з | и | й | к | л | м | н | о | п | р | с | т | у | ф | х | ц | ч | ъ | ы | ь | э |
32 | я | я | а | б | в | г | д | е | ё | ж | з | и | й | к | л | м | н | о | п | р | с | т | у | ф | х | ц | ч | ъ | ы | ь | э | ю |
В шифре Цезаря каждая буква алфавита сдвигается на несколько позиций; например в шифре Цезаря при сдвиге +3, A стало бы D, B стало бы E и так далее. Шифр Виженера состоит из последовательности нескольких шифров Цезаря с различными значениями сдвига. Для зашифровывания может использоваться таблица алфавитов, называемая tabula recta или квадрат (таблица) Виженера. Применительно к латинскому алфавиту таблица Виженера составляется из строк по 26 символов, причём каждая следующая строка сдвигается на несколько позиций. Таким образом, в таблице получается 26 различных шифров Цезаря. На каждом этапе шифрования используются различные алфавиты, выбираемые в зависимости от символа ключевого слова. Например, предположим, что исходный текст имеет такой вид:
ATTACKATDAWN
Человек, посылающий сообщение, записывает ключевое слово («LEMON») циклически до тех пор, пока его длина не будет соответствовать длине исходного текста:
LEMONLEMONLE
Первый символ исходного текста A зашифрован последовательностью L, которая является первым символом ключа. Первый символ L шифрованного текста находится на пересечении строки L и столбца A в таблице Виженера. Точно так же для второго символа исходного текста используется второй символ ключа; то есть второй символ шифрованного текста X получается на пересечении строки E и столбца T. Остальная часть исходного текста шифруется подобным способом.
Исходный текст: ATTACKATDAWN Ключ: LEMONLEMONLE Зашифрованный текст: LXFOPVEFRNHR
Расшифровывание производится следующим образом: находим в таблице Виженера строку, соответствующую первому символу ключевого слова; в данной строке находим первый символ зашифрованного текста. Столбец, в котором находится данный символ, соответствует первому символу исходного текста. Следующие символы зашифрованного текста расшифровываются подобным образом.
Если {\displaystyle n} — количество букв в алфавите, {\displaystyle m_{j}} — буквы открытого текста, {\displaystyle k_{j}} — буквы ключа, то шифрование Виженера можно записать следующим образом:
{\displaystyle c_{j}=m_{j}+k_{j}{\pmod {n}}}
И расшифровывание:
{\displaystyle m_{j}=c_{j}-k_{j}{\pmod {n}}}
В компьютере такая операция соответствует сложению кодов ASCII символов сообщения и ключа по некоторому модулю. Кажется, что если таблица будет более сложной, чем циклическое смещение строк, то шифр станет надежнее. Это действительно так, если ее менять чаще, например, от слова к слову. Но составление таких таблиц, представляющих собой латинские квадраты, где любая буква встречается в строке или столбце один раз, трудоемко и его стоит делать лишь на ЭВМ. Для ручного же многоалфавитного шифра полагаются лишь на длину и сложность ключа, используя приведенную таблицу, которую можно не держать в тайне, а это упрощает шифрование и расшифровывание.