Виды алгоритмов симметричного шифрования
К основным способам симметричного шифрования относятся:
-перестановки. Биты или символы переставляются в соответствии с задаваемым ключом шифрования правилом. Плюсы: высокая скорость получения шифротекста. Минусы: сохранение частотных характеристик текста после его шифрования (символы открытого текста лишь меняют свои позиции в шифротексте), малое количество возможных ключей шифрования;
-подстановки (замены): одно- и многоалфавитная подстановка. Символы открытого текста заменяются символами того же или другого алфавита в соответствии с определяемым ключом шифрования. Минусы одноалфавитной подстановки: не скрывается частота появления различных символов открытого текста в шифротексте (одинаковые символы открытого текста остаются одинаковыми и в шифротексте), малое число возможных ключей. Плюсы многоалфавитной подстановки: в шифротексте маскируется частота появления различных символов открытого текста, поэтому криптоаналитик не может при вскрытии шифра использовать частотный словарь естественного языка;
-гаммирование(шифротекст получается путем наложения на открытый текст гаммы шифра с помощью какой-либо обратимой операции). Лежит в основе потоковых шифров, в которых открытый текст преобразуется последовательно по одному биту.
Алгоритмы симметричного шифрования различаются способом, которым обрабатывается исходный текст:
- шифрование потоком. Шифрование проводится над каждым битом либо байтом исходного (открытого) текста с использованием гаммирования (метод шифрования, основанный на «наложении» гамма-последовательности на открытый текст. Шеннон доказал, что такой шифр может быть абсолютно устойчивым при определенных свойствах гамма-последовательности). Поточный шифр может быть легко создан на основе блочного (например, ГОСТ 28147-89 в режиме гаммирования), запущенного в специальном режиме. Плюсы: высокая производительность. Наиболее пригодны для шифрования непрерывных потоков данных. Наиболее известные алгоритмы: RC4 (может использоваться ключ переменной длины), SEAL (ключ длиной до 160 бит).
- шифрование блоками. Большинство современных симметрических криптосистем используют блочные шифры. Открытый текст разбивается на блоки, как правило, фиксированной длины, к каждому блоку применяется функция шифрования, использующая перестановки битов блока и многократное повторение операций подстановки и гаммирования, после чего над зашифрованными блоками может выполняться дополнительная операция перед включением их в шифротекст. Наиболее известные способы – сеть Фейстелла.
Основные характеристики блочных шифров: длина блока, длина ключа шифрования и число раундов. Для того, чтобы шифр обладал абсолютной устойчивостью к взлому, он должен обладать двумя свойствами (по Шеннону):
- ключ шифрования должен вырабатываться совершенно случайным образом ( в частности, один и тот же ключ должен применяться для шифрования только одного открытого текста)
- длина шифруемого открытого текста не должна превышать длину ключа шифрования.
Примеры реализации
Стандарт США до 2001 года – алгоритм DES. В Российской Федерации используемая криптосистема определена в стандарте ГОСТ 28147-89.
Классическим примером алгоритмов являются симметричные криптографические алгоритмы, перечисленные ниже:
· Простая подстановка
· Одиночная перестановка по ключу
· Двойная перестановка
· Перестановка "Магический квадрат"
Простая перестановка
Простая перестановка без ключа - один из самых простых методов шифрования. Сообщение записывается в таблицу по столбцам. После того, как открытый текст записан колонками, для образования шифровки он считывается по строкам. Для использования этого шифра отправителю и получателю нужно договориться об общем ключе в виде размера таблицы. Объединение букв в группы не входит в ключ шифра и используется лишь для удобства записи несмыслового текста.