5.2. Шифры гаммирования.
Широко распространенные примеры шифра данного типа основаны на операции сложения чисел по некоторому модулю.
Символы алфавита открытого текста, предварительно заменяемые на числа, складываются по модулю с элементами некоторой числовой последовательности, которая называется гаммой. Гамма является ключом. Процедура зашифрования называется модульным гаммированием, а количество знаков в алфавите - модулем гаммирования.
Процесс зашифрования открытого текста с помощью гаммы называют также наложением гаммы, или гаммированием. Перед зашифрованием, формируется двухстрочная запись, где в одной строке последовательно выписаны знаки открытого текста, а в другой - соответствующие знаки гаммы. Каждому знаку открытого текста соответствует свой знак гаммы, т.е. они образуют вертикальные биграммы знаков. Различают два вида гаммирования - модульное и табличное. Модульное наложение было описано выше. При табличном гаммирование вертикальные пары, составленные из соответствующих знаков открытого текста и гаммы, заменяются на знаки шифртекста по некоторой таблице. Для реализации взаимнооднозначного преобразования, такая таблица должна обязательно быть так называемым «латинским квадратом», т.е. любая ее строка, и любой столбец должны представлять собой перестановку знаков заданного алфавита (или чисел от 1 до m), и в каждом столбце и строке данной таблицы все элементы должны быть различны. Например, для m=5:
-
0
1
2
3
4
0
0
1
2
3
4
1
2
3
4
0
1
2
1
2
3
4
0
3
4
0
1
2
3
4
3
4
0
1
2
Пример гаммирования по модулю 26.
Расположим латинский алфавит в порядке , , ,,, где числа означают номера букв в алфавите. Пусть открытый текст есть , , и гамма равна , , . Сложим соответствующие номера букв по модулю 26. На первых двух тактах шифрования получим: , и т.д.
Длина ключа (гаммы), в общем случае, равна длине открытого текста. Поскольку последовательность знаков гаммы может порождаться по некоторому алгоритму, то гамма может быть задана вспомагательным ключом, длина которого существенно меньше длины открытого текста, в частности, гамма может обладать малым периодом, а также другими особенностями.
С развитием средств телекоммуникаций и вычислительной техники, открытые сообщения обычно представляются в виде последовательностей битов, полученных после замены знаков исходного алфавита сообщения на их битовые эквиваленты в соответствующей кодировке.
Для таких сообщений применяется гаммирование по модулю два, при котором гамма обычно является псевдослучайной последовательность.ю двоичных разрядов.