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