3.4. Шифр гаммирования Виженера

Шифр, который известен под именем Виженера, впервые описал Джованни Баттиста Беллазо (итал. Giovanni Battista Bellaso) в своей книге ``La cifra del Sig. Giovan Battista Belaso''.

Рассмотрим один из вариантов этого шифра. В самом простом случае квадратом Виженера называется таблица из циклически сдвинутых копий латинского алфавита, в котором буквы J и V исключены. Первая строка и первый столбец – буквы латинского алфавита в их обычном порядке, кроме буквы W, которая стоит последней. В строках таблицы порядок букв сохраняется, за исключением циклических переносов. Представим эту таблицу.

$\quad \downarrow ~ \rightarrow$ABCDEFGHIKLMNOPQRSTUXYZW
AABCDEFGHIKLMNOPQRSTUXYZW
BBCDEFGHIKLMNOPQRSTUXYZWA
CCDEFGHIKLMNOPQRSTUXYZWAB
DDEFGHIKLMNOPQRSTUXYZWABC
EEFGHIKLMNOPQRSTUXYZWABCD
FFGHIKLMNOPQRSTUXYZWABCDE
GGHIKLMNOPQRSTUXYZWABCDEF
HHIKLMNOPQRSTUXYZWABCDEFG
IIKLMNOPQRSTUXYZWABCDEFGH
KKLMNOPQRSTUXYZWABCDEFGHI
LLMNOPQRSTUXYZWABCDEFGHIK
MMNOPQRSTUXYZWABCDEFGHIKL
NNOPQRSTUXYZWABCDEFGHIKLM
OOPQRSTUXYZWABCDEFGHIKLMN
PPQRSTUXYZWABCDEFGHIKLMNO
QQRSTUXYZWABCDEFGHIKLMNOP
RRSTUXYZWABCDEFGHIKLMNOPQ
SSTUXYZWABCDEFGHIKLMNOPQR
TTUXYZWABCDEFGHIKLMNOPQRS
UUXYZWABCDEFGHIKLMNOPQRST
XXYZWABCDEFGHIKLMNOPQRSTU
YYZWABCDEFGHIKLMNOPQRSTUX
ZZWABCDEFGHIKLMNOPQRSTUXY
WWABCDEFGHIKLMNOPQRSTUXYZ

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

Пример. Ключевая последовательность состоит из периодически повторяющегося ключевого слова, известного обеим сторонам. Пусть ключевая последовательность состоит из периодически повторяющегося слова THIS, а открытый текст – слова COMMUNICATIONSYSTEMS (см. таблицу). Пробелы между словами опущены.

КлючTHISTHISTHISTHISTHIS
Открытый текстCOMMUNICATIONSYSTEMS
ШифртекстXXUEOURUTBRGGAFLNMUL

Результат шифрования приведён в третьей строке: на пересечении строки $T$ и столбца $C$ стоит буква $X$, на пересечении строки $H$ и столбца $O$ стоит буква $X$, на пересечении строки $I$ и столбца $M$ стоит буква $U$ и т. д.

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

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

КлючTCOMMUNICATIONSYSTEM
Открытый текстCOMMUNICATIONSYSTEMS
ШифртекстXQAZGHXLCTCYBFPPMZQE

Пример. Пусть ключевая последовательность образуется с помощью шифртекста. Стороны договариваются о первой букве ключа. В отличие от предыдущего случая, следующая буква ключа – это результат шифрования первой буквы текста и т. д. Пусть в качестве первой буквы выбрана буква $T$. Тогда приведённая в предыдущем примере таблица шифрования примет такой вид:

КлючTXKXHCPZAATCQDXSLEIU
Открытый текстCOMMUNICATIONSYSTEMS
ШифртекстXKXHCPZAATCQDXSLEIUN