Стандарт шифрования данных DES

Симметрические криптографические системы

В ряде работ [SIMM79, OENN82] представлены алгоритмы для симметрических систем, и среди них наиболее известным на сегодняшний день является Американский стандарт шифрования данных DES (Data Encryption Standard), который принят в качестве федерального стандарта США [FIPS77]. Существенным дополнением к нему являются японский ус­коренный алгоритм шифрования данных FEAL (Fast Enciphering Algorithm) и алгоритм B-Crypt Британской служ­бы телекоммуникаций, реализованный в виде, модуля для шифрования потока сообщений [VARA86].

Основу криптографического алгоритма, используемого при проектировании большинства устройств шифрования, составля­ет стандарт шифрования данных DES. Соответствующий ал­горитм принят в качестве стандарта США. Он также по­ддержан Американским национальным институтом стандартов ANSI (American National Standards Institute) и рекомендован для применения Американской ассоциацией банков ABA.

Приведем анализ DES-алгоритма для выявления общего подхода к проектированию алгоритмов шифрования. Для изучения характеристик алгоритма используется программная реализа­ция [VARA86]. В частности, программный подход позволяет анализировать промежуточные результаты в рамках каждого цикла, в то время как реализация в виде интегральной схе­мы дает только окончательный шифрованный текст. Програм­мная реализация удобна также для проведения статистическо­го анализа результатов шифрования. DES-алгоритм предназ­начен для шифрования и дешифрования блоков данных по 64 бит под управлением ключей защиты, имеющих также 64

Дешифрирование должно выполняться с использованием того же ключа, который использовался для шифрования, но с измененным способом адресации битов ключа и так, чтобы процедура дешифрования была обратная процедуре шифрования. Блок, который должен быть зашифрован, подвергается тщательной перестановке IP (Initial Permutation), сложным преобразованиям, зависящим от ключа защиты, и перестановке, которая является обратной по отношению к начальной IP. Преобразования, зависящие от значения ключа, могут быть описаны в виде функции f, называемой функцией шифрования и функцией KS, называемой таблицей ключей

(Key Schedule).

Обозначим через input входную 64-битовую строку, ко­торую следует зашифровать (исходный текст), и output - соответствующую 64-битовую выходную строку (шифрованный текст), L и R - 32-битовые строки и LR - их конкатенацию (объединение) в 64-битовую строку. Пусть KS - функция, которая в зависимости от целого числа п из диапазона 1-16 и 64-битового входного блока KEY формирует 48-битовый блок К. Последний является результатом перестановки битов с блока KEY, поэтому

Алгоритм шифрования может быть представлен в виде схемы CRYPTO 1.