Системы шифрования Вижинера

 

Ослабим требование шифровать каждую букву исходного текста отдельным значением ключа. Начнем с конечной последовательности ключа: k = (k0,k1,...,kn), которая называется ключом пользователя, и продлим ее до бесконечной последовательности, повторяя цепочку. Таким образом, получим рабочий ключ k = (k0,k1,...,kn), kj = k(j mod r, 0 ≤ j < ∞ . Например, при r = ∞ и ключе пользователя 17 23 11 56 43 97 25 рабочий ключ будет периодической последовательностью:

17 23 11 56 43 97 25 17 23 11 56 43 97 25 17 23 11 56 43 97 25...

Определение. Подстановка Вижинера VIGk определяется так:

VIGk: (x0,x1, ..., xn-1) → (y0, y1, ..., yn-1) = (x0+k, x1+k,. .., xn-1+k).

Пример 61.Преобразование текста с помощью подстановки Вижинера при r=5.

Исходный текст – РАБОТАЙТЕ АККУРАТНО

Ключ: ПЕСНЯ

Разобьем исходный текст на блоки по 5 символов: РАБОТ АЙТЕ АККУР АТНО

и наложим на них ключ (используя таблицу Вижинера):

Р+П=Я, А+Е=Е и т.д. Получаем зашифрованный текст: ЯЕТЫР ППВТЮ ППЫ_О ПЧЮЫЯ ♦

Можно выдвинуть и обобщенную систему Вижинера. Ее можно сформулировать не только при помощи подстановки Цезаря.

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