6.2. Стандартные методы шифрования

Стандарт шифрования данных США DES (Data Encryption Standard — стандарт шифрования данных) относится к группе методов симметричного шифрования и действует более 20 лет (принят в 1976 г.). Используемые операции - перестановка, гаммирование и нелинейная подстановка. Число шагов — 16. Длина ключа составляет 56 бит, из которых 8 бит - это проверочные разряды четности/нечетности.

Долгое время степень устойчивости к дешифрованию этого метода считалась достаточной, однако в 1998 г. появилось сообщение о создании специализированного компьютера (DES cracker), позволяющего вскрыть зашифрованный текст максимум за 9 дней (см. http://www.eff.org/ descracker). Впрочем, такого рода сообщения можно отнести и к одному из проявлений конкурентной борьбы.

Отечественный ГОСТ28147-89 - это аналог DES, но с длиной ключа 256 бит, так что его степень устойчивости к дешифрованию изначально существенно выше. Важно также и то, что в данном случае предусматривается целая система защиты, которая преодолевает «родовой» недостаток симметричных методов шифрования - возможность подмены сообщений. Такие усовершенствования, как имитовставки, хэш-функции и электронные цифровые подписи позволяют «авторизовать» передаваемые сообщения. Достоинством симметричных методов шифрования является высокая скорость шифрования и дешифрования, недостатком — малая степень защиты в случае, если ключ стал доступен третьему лицу.

Достаточно популярны, особенно при использовании электронной почты в сети Internet, несимметричные методы шифрования или системы с открытыми ключами - public-key systems. Типичный представитель этой группы методов - PGP (Pretty Good Privacy - достаточно хорошая секретность).

Каждый пользователь в этом случае имеет пару ключей. Открытые ключи предназначены для шифрования и свободно рассылаются по сети, но не позволяют произвести дешифрование. Для этого нужны секретные (закрытые) ключи.

Принцип шифрования в данном случае основывается на использовании так называемых односторонних функций. Прямая функция х -» f (х) легко вычисляется на основании открытого алгоритма (ключа). Обратное

преобразование f (x) —> х без знания закрытого ключа затруднено и должно занимать достаточно большое время, которое и определяет степень «трудновычислимости» односторонней функции.

Идею системы с открытыми ключами можно пояснить следующим образом (табл. 6.3). Для шифрования сообщений можно использовать обычную телефонную книгу, в которой имена абонентов расположены в алфавитном порядке и предшествуют телефонным номерам. Берется имя абонента, начинающееся на данную букву исходного слова, и номер телефона используется в качестве шифрованного сообщения.

Табл. 6.3. Пример шифрования в системе с открытыми ключами

Исходное слово

Выбранное имя абонента

Зашифрованное сообщение (телефонные номера)

S

Scott

3541920

А

Adleman

4002132

и

Ullman

7384502

N

Nivat

5768115

А

Aho

7721443

Понятно, что у пользователя имеется возможность выбора соответствия между символом в исходном тексте и именем абонента, т.е. это многоалфавитная система, что повышает ее степень устойчивости к дешифрованию. Легальный пользователь имеет «обратный» телефонный справочник, в котором в первом столбце располагаются телефонные номера по возрастанию, и легко производит дешифрование. Если же такого «обратного» справочника нет, то пользователю предстоит утомительное и многократное просматривание доступного прямого справочника в поисках нужных телефонных номеров. Это и есть практическая реализация трудновычислимой функции. Сам по себе метод шифрования на основе телефонных справочников вряд ли перспективен хотя бы из-за того, что никто не мешает потенциальному взломщику составить «обратный» телефонный справочник. Однако в используемых на практике методах шифрования данной группы в смысле надежности защиты все обстоит благополучно.

В отличие от симметричных методов шифрования, проблема рассылки ключей в несимметричных методах решается проще — пары ключей (открытый и закрытый) генерируются «на месте» с помощью специальных программ. Для рассылки открытых ключей используются специальные

технологии типа LDAP (Lightweight Directory Access Protocol - протокол облегченного доступа к справочнику). Рассылаемые ключи могут быть предварительно зашифрованы с помощью одного из симметричных методов шифрования.