- верхнюю строку подчеркнутых символов, используемую для считывания очередной буквы исходного открытого текста;
- крайний левый столбец ключа.
Ключ представляет собой последовательность цифр или слово (чтобы ключ легче было запомнить), в последнем случае буквы ключевого слова заменяют на их порядковые номера в алфавите.
При шифровании исходного сообщения его выписывают в строку, а под ним записывают ключевое слово. Если ключ оказался короче сообщения, то его циклически повторяют. В процессе шифрования очередная буква шифртекста находится на пересечении столбца, определяемого шифруемой буквой, и строки, определяемой значением ключа.
Рассмотрим пример получения шифртекста с помощью таблицы Вижинера. Пусть выбрано ключевое слово АМБРОЗИЯ. Необходимо зашифровать сообщение ПРИЛЕТАЮ СЕДЬМОГО.
Выпишем исходное сообщение в строку и запишем под ним ключевое слово с повторением. В третью строку выпишем шифртекст.
Сообщение П Р И Л Е Т А Ю С Е Д Ь М О Г О
Ключ АМ Б Р О З И Я А М Б Р О З И Я
Шифртекст П Ъ Й Ы УЩИ Э С С Е К Ь Х Л Н
Шифры Вижинера с коротким периодическим ключом используются и в наши дни в системах шифрования, от которых не требуется высокая криптостойкость. Так, например они использовались в программе-архиваторе ARJ в программе Word версии 6.
С развитием математики необходимость в таблицах шифрования отпала. Если заменить буквы на числа, то операции шифрования и дешифрования легко выражаются простыми математическими формулами. Так в шифре Вижинера используются операции циклического или модульного сложения (при шифровании) и вычитания (при дешифровании).
Пусть ключевая последовательность системы Вижинера имеет длину r, тогда ключ r-алфавитной подстановки, который является строкой букв или цифр можно представить в виде последовательности подстановок
π =( π0, π1, … , πr-1),
Функция шифрования Вижинера Еπ: х → y преобразует
открытый текст х=(х0, х1, х2, … , хn-1) в шифртекст y = (y0, y1, y2, … , yn-1)
согласно правилу:
y = (y0, y1, y2, … , yn-1) = (π0(х0), π1(х1), … , πn-1(хn-1)), где πi =π(i mod r).
2.5. Шифры, основанные на аналитических преобразованиях.
Аффинная система подстановок Цезаря. Аффинная система шифрования относится к классу шифров, основанных на аналитических преобразованиях шифруемых данных. В системе шифрования Цезаря использовались только аддитивные свойства множества целых Zm, то есть оно рассматривалось как группа с операцией сложения.
Рассматривая множество целых чисел Zm с двумя операциями сложения и умножения по модулю m, являющееся кольцом, можно получить систему подстановок, которую называют аффинной системой шифрования Цезаря.
Определим в такой системе преобразование Еa,b : Zm → Zm:
Еa,b(x) = ax+b mod m,
где в качестве ключа k=(a, b)используется пара целых чисел, удовлетворяющих условиям
0 £ a,b < m, и НОД(а,m)=1.
В данном преобразовании буква, соответствующая числу x в открытом тексте, заменяется на букву шифртекста, соответствующую числовому значению y =(ax +b) mod m (например m=26 в латинском алфавите).
Следует заметить, что преобразование Еa,b(x) является взаимно однозначным отображением на множестве Zm только в том случае, если НОД(а,m)=1, т.е. а и m должны быть взаимно простыми числами.
Это условие взаимной простоты необходимо для обеспечения инъективности отображения Еa,b(x) = ax+b mod m. Если оно не выполняется, возможна ситуация, когда две разные буквы отображаются в одну (возникает неоднозначность расшифрования), а некоторые буквы отсутствуют в шифртексте, так как никакие буквы в них не отображаются.
Достоинством аффинной системы является удобное управление ключами - ключи шифрования и расшифрования представляются в компактной форме в виде пары чисел (а, b). По сравнению с простой системой шифрования Цезаря, количество возможных ключей значительно больше и алфавитный порядок слов при шифровании не сохраняется.
Аффинная система использовалась на практике несколько веков назад, а сегодня ее применение ограничивается большей частью иллюстрациями основных криптологических положений.
Криптосистема Хилла и её частный случай шифр Плэйфеpа также относятся к классу шифров, основанных на аналитических преобразованиях шифруемых данных как и аффинная система шифрования. Они основаны на подстановке не отдельных символов, а n-гpамм (шифр Хилла) или 2-гpамм (шифр Плэйфеpа). Пpи более высокой кpиптостойкости они значительно сложнее для реализации и требуют достаточно большого количества ключевой информации.
Алгебраический метод, обобщающий аффинную подстановку Цезаря для шифрования n-грамм, был сформулирован Лестером С.Хиллом .
Шифрование ведется путем выполнения умножения вектора на матрицу. Матрица является ключом шифрования. Открытый текст разбивается на n-граммы - блоки длиной n, равной размерности матрицы и каждая n-грамма х = (х0, х1, х2, … , хn-1) рассматривается как вектор.
Ключевая матрица Т размером пхп вида Т={ti,j}, i,j = 0,1, … ,n-1 задает отображение, являющееся линейным преобразованием:
Т: Zm,n → Zm,n, Т: х → у; у=Тх, где
.