10.3.2. Традиционные симметричные криптосистемыСимметричные системы шифрования информации подразделяются на блочные и поточные системы. В блочной системе шифрования информации сообщение разбивается на информационные блоки фиксированной длины К элементарным блочным шифрам относятся шифры подстановки и перестановки. В шифре подстановки каждый символ сообщения заменяется символом, определяемым функцией подстановки Каждый символ сообщения, записанный в верхней строке соответствия
отображается с помощью функции подстановки Если функция подстановки Например, пусть в качестве алфавита сообщений и криптограмм использован алфавит русского языка. Зададим фиксированную функцию подстановки следующим образом:
При шифровании очередной символ сообщения отыскивается в верхней строке и заменяется на соответствующий символ криптограммы, записанный снизу. Для обеспечения однозначности операция дешифрования должна описываться подстановкой, обратной к подстановке операции шифрования. В шифре перестановки сообщение делится на блоки фиксированной длины
отображает в соответствующий символ блока криптограммы, записанный под ним в нижней строке Пусть, например, требуется зашифровать сообщение: «перестановка» шифром перестановки при
Разобьем сообщение на два последовательных блока «перест» и «ановка» длиною по 6 символов. С помощью функции перестановки получим блоки криптограммы «сртпее» и «коаанв». Дешифрование выполняется, используя обратную перестановку. Рассмотренные элементарные шифры подстановки и перестановки сами по себе не способны обеспечить требуемую в современных условиях стойкость криптографических систем, так как они уязвимы к атакам нарушителя на основе статистического анализа символов сообщений естественных языков, например таких, как телеграфные сообщения, написанные на русском языке. Однако, комбинируя элементарные шифры, можно построить широко используемые на практике стойкие композиционные шифры. Пусть На рис. 10.7 показан пример композиции функций В качестве элементарных шифрующих функций удобно использовать инволюции, т. е., функции, у которых прямая функция совпадает с обратной к ней функцией. Использование инволюций позволяет существенно упростить построение блочных шифраторов и дешифраторов, так как композиционная функция шифрования совпадает с соответствующей функцией дешифрования. Если исходные функции На практике удобно использовать подкласс композиционных шифров, называемый составными шифрами. В составных шифрах над блоком шифруемого сообщения многократно выполняются подстановки и перестановки. Последовательное использование подстановок и перестановок в составном шифре реализует два основных принципа построения симметричных блочных систем шифрования: рассеивание и перемешивание. Рассеивание заключается в распространении влияния всех символов блока открытого сообщения на все символы блока криптограммы, что позволяет скрыть статистические свойства шифруемой информации. Высокая степень рассеивания достигается многократными подстановками, зависящими не только от ключа, но и от промежуточных результатов шифрования. Одновременно рассеивание проявляется во влиянии каждого символа ключа на все символы блока криптограммы, что исключает восстановление взаимосвязи статистических свойств открытого и шифрованного текста. Перемешивание заключается в усложнении взаимосвязи статистических свойств сообщения и полученной из него криптограммы. Высокая степень перемешивания достигается при многократных перестановках в процессе криптопреобразований. Хорошее рассеивание и перемешивание обеспечивается использованием составного шифра, состоящего из последовательности элементарных шифрующих функций, каждая го которых вносит небольшой вклад в значительное суммарное рассеивание и перемешивание [1]. Современные составные шифры очень часто строятся как итеративные шифры, в которых над блоком сообщения многократно выполняется некоторый набор одних и тех же преобразований, называемых круговой функцией шифрования
где Итерационные блочные шифры вычислительно просто строить по схеме Фейстеля [1]. Для этого блоки сообщения и блоки криптограмм длиной по
полублоки меняются местами ( При дешифровании производится инициализация (
полублоки меняются местами ( В блочном шифре Фейстеля для дешифрования используется та же самая круговая функция В реальных шифрах часто используется упрощенная схема Фейстеля. Для этого после
|