4.5. Современные блочные шифры
71
4.5.1
DES
Алгоритм шифрования DES (Data Encryption Standard — стандарт шиф-
рования данных) [69], незаменимая рабочая лошадка криптографии, наконец-
то перешагнул черту пенсионного возраста. Ограничения на размер ключа в
56 бит и размер блока в 64 бит делают DES непригодным для современ-
ных высокоскоростных компьютеров и огромных объемов данных. Он все
еще может применяться в виде “тройного” DES или 3DES [72] — блочного
шифра, образованного путем трех последовательных применений алгоритма
DES. Это решает наиболее острую
проблему малого размера ключа, однако
не позволяет снять ограничение на малый размер блока. По современным
стандартам DES — не особенно быстрый шифр, а 3DES работает еще в три
раза медленнее. Несмотря на все это, DES до сих пор используется во многих
существующих системах, однако применять DES или 3DES в новых разра-
ботках не рекомендуется.
На рис. 4.1 приведена схема одного раунда DES. Это линейная диаграм-
ма вычислений, выполняемых в рамках алгоритма DES; подобные диаграм-
мы часто встречаются в криптографической литературе. Каждый прямо-
угольник соответствует вычислению значения конкретной функции, а стрел-
ки показывают, куда подается то или иное значение. Существует несколько
стандартных соглашений по поводу обозначений на диаграммах. Операция
XOR — “исключающее ИЛИ” (ее еще называют “побитовым сложением” или
“сложением без переноса”) — обозначается в формулах как оператор
⊕
, а на
рисунках — точно таким же символом, только большим. Иногда на схемах
встречается и обычная операция сложения, которую обозначают символом .
На вход алгоритма DES подается 64-битовый блок открытого текста, ко-
торый разбивается на две 32-битовые половины:
L
(левая) и
R
(правая). Пе-
Расширение
Перестановка битов
L
S
R
F
K
i
Рис. 4.1.
Структура одного раунда DES