Идея получения практически стойкого шифра базируется на двух общих принципах шифрующего преобразования, выделенных К. Шенноном.
Рассеивание — распространение влияния одного знака открытого текста на много знаков шифротекста с целью сокрытия статистических свойств исходного текста. Развитием этого принципа является распространение влияния одного знака ключа на много знаков шифротекста, что предотвращает раскрытие ключа по частям.
Перемешивание — такие шифропреобразования, которые усложняют восстановление взаимосвязи статистических свойств открытого и шифрованного текстов.
Однако шифр должен при этом сохранять легкость шифрования и расшифрования при известном ключе. Распространен простой способ достижения рассеивания и перемешивания использованием составного шифра (произведением шифров) из нескольких простых шифров перестановок и замен (S-преобразований).
При перестановке перемешивают символы исходного текста по ключу. Распределение частот отдельных символом в шифротексте остается таким же, что и в исходном тексте, хотя распределения более высоких порядков оказываются перемешанными.
При одноалфавитной замене (подстановке), например, в шифре Цезаря, распределение частот символов в шифротексте сохранятеся таким же, как и в открытом тексте. Однако, многоалфавитная замена и подстановка по парам символов уже перемешивают частоты отдельных символов в шифротексте.
При многократном чередовании простых перестановок и подстановок можно получить очень стойкий практически шифр (криптоалгоритм) с хорошим рассеиванием и перемешиванием.
На практике используют блоки перестановок P и S-преобразований (замен) с переключением на прямое и обратное преобразования P-1, S-1 (шифрацию и дешифрацию). Например, S-преобразование двухбитового блока:
Ключ
1 – шифр
0 – дешифр
вход
Таблица шифрования ключ = 1
0 1 2 3
Таблица дешифрования ключ = 0
0 1 2 3
Число на входе опускается число на выходе
выход
Материалы на данной страницы взяты из открытых источников либо размещены пользователем в соответствии с договором-офертой сайта. Вы можете сообщить о нарушении.