Стандарт шифрования данных США 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 - протокол облегченного доступа к справочнику). Рассылаемые ключи могут быть предварительно зашифрованы с помощью одного из симметричных методов шифрования.