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