Принципы построения блочных шифров: рассеивание и перемешивание. Сеть Фейштеля и ее ветви Схема абсолютно стойкого шифра.
Единицей кодирования при использовании блочных шифров является блок, состоящий из нескольких байтов (от 4 до 32). Результат кодирования зависит от всех исходных байтов этого блока. Схема применяется при пакетной передаче информации и кодировании файлов.
Выделяют два общих принципа построения шифров: рассеиваниеи перемешивание.
Рассеиванием называется распространение влияния одного знака открытого текста на несколько знаков шифротекста, позволяющее скрыть статистические свойства открытого текста. Обобщением этого принципа
является распространение влияния одного знака ключа на несколько знаков шифротекста, которое препятствует восстановлению ключа по частям.
Перемешиванием называется использование таких шифрующих преобразований, которые усложняют восстановление взаимосвязи символов открытого и зашифрованного текста, а также ключа и зашифрованного текста.
Сеть Фейстеля(Horst Feistel 1915-1990 гг)Большинство современных блочных шифров используют сеть
Фейстеля в качестве основы. Альтернативой сети Фейстеля является подстановочно-перестановочная сеть.
Она получила широкое распространение, поскольку обеспечивает выполнение требования о многократном использовании ключа и материала исходного блока информации.
Классическая сеть Фейстеля имеет структуру, где независимые потоки информации, порожденные из исходного блока, называются ветвями сети. В классической схеме их две. Величины Vi именуются параметра-ми сети, обычно это функции материала ключа. Функция F называется образующей. Действие, состоящее из однократного вычисления образующей функции и последующего наложения ее результата на другую ветвь с обменом их местами, называется циклом или раундом сети Фейстеля. Оптимальное число раундов R – от 8 до 32. Важно то, что увеличение количества раундов значительно увеличивает криптостойкость любого блочного шифра к криптоанализу. Возможно, эта особенность и повлияла на столь активное распространение сети Фейстеля – ведь при обнаружении, скажем, какого-либо слабого места в алгоритме, почти всегдадостаточно увеличить количество раундов на 4–8, не переписывая сам алгоритм. Часто количество раундов не фиксируется разработчиками алгоритма, а лишь указываются разумные пределы (обязательно нижний и не всегда верхний) этого параметра.
Абсолютная стойкость криптосистемы обуславливается отсутствием всяких закономерностей в зашифрованных данных. В этом случае становится невозможно получить какую-либо информацию об исходном тексте. Это достигается при выполнении следующих требований: равенство длин ключа и исходного текста; случайность ключа; однократное использование ключа.
Эти дополнительные требования делают криптосистему слишком
дорогой и непрактичной. В абсолютно стойкой криптосистеме каждый элемент исходной последовательности шифруется независимо от других с использованием соответствующего элемента ключевой последовательности. Конкретная программная реализация криптосистемы называется криптопакетом. На практике обычно применяется схема, надежность которой це-
ликом и полностью определяется качеством используемого генераторапсевдослучайных чисел.