Стандарт шифрования США DES (Data Encryption Standard – стандарт шифрования данных) относится к группе методов симметричного шифрования и действует с 1976 г. Число шагов – 16. Длина ключа – 56 бит, из которых 8 бит – проверочные разряды четности/нечетности. Долгое время степень устойчивости к дешифрованию этого метода считалась достаточной, однако в настоящее время он устарел. Вместо DES предлагается "тройной DES" – 3DES, в котором алгоритм DES используется 3 раза, обычно в последовательности "шифрование – дешифрование – шифрование" с тремя разными ключами на каждом этапе.
Надежным считается алгоритм IDEA (International Data Encryption Algorithm), разработанный в Швейцарии и имеющий длину ключа 128 бит.
Отечественный ГОСТ28147-89 – это аналог DES, но с длиной ключа 256 бит, так что его степень устойчивости к дешифрованию изначально существенно выше. Важно также и то, что в данном случае предусматривается целая система защиты, которая преодолевает "родовой" недостаток симметричных методов шифрования – возможность подмены сообщений. Такие усовершенствования, как имитовставки, хэш-функции и электронные цифровые подписи позволяют "авторизовать" передаваемые сообщения.
К достоинствам симметричных методов шифрования относится высокая скорость шифрования и дешифрования, к недостаткам – малая степень защиты в случае, если ключ стал доступен третьему лицу.
Довольно популярны, особенно при использовании электронной почты в Интернет, несимметричные методы шифрования или системы с открытыми ключами – public-key systems. К этой группе методов относится, в частности, PGP (Pretty Good Privacy – достаточно хорошая секретность). Каждый пользователь имеет пару ключей. Открытые ключи предназначены для шифрования и свободно рассылаются по сети, но не позволяют произвести дешифрование. Для этого нужны секретные (закрытые) ключи. Принцип шифрования в данном случае основывается на использовании так называемых односторонних функций. Прямая функция x f(x) легко вычисляется на основании открытого алгоритма (ключа). Обратное преобразование. f(x) x без знания закрытого ключа затруднено и должно занимать довольно длительное время, которое и определяет степень "трудновычислимости" односторонней функции.
Идея системы с открытыми ключами может быть пояснена следующим образом (табл. 9.3). Для шифрования сообщений можно взять обычную телефонную книгу, в которой имена абонентов расположены в алфавитном порядке и предшествуют телефонным номерам. У пользователя имеется возможность выбора соответствия между символом в исходном тексте и именем абонента, то есть это многоалфавитная система. Ее степень устойчивости к дешифрованию выше. Легальный пользователь имеет "обратный" телефонный справочник, в котором в первом столбце располагаются телефонные номера по возрастанию, и легко производит дешифрование. Если же такового нет, то пользователю предстоит утомительное и многократное просматривание доступного прямого справочника в поисках нужных телефонных номеров. Это и есть практическая реализация трудно-вычислимой функции. Сам по себе метод шифрования на основе телефонных справочников вряд ли перспективен хотя бы из-за того, что никто не мешает потенциальному взломщику составить "обратный" телефонный справочник. Однако в используемых на практике методах шифрования данной группы в смысле надежности защиты все обстоит благополучно.
Таблица 9.3. Пример шифрования в системе с открытыми ключами | ||
Исходное слово | Выбранное имя абонента | Зашифрованное сообщение (телефонные номера) |
S | Scott | |
A | Adleman | |
U | Ullman | |
N | Nivat | |
A | Aho |
Другая известная система с открытыми ключами – RSA.
Несимметричные методы шифрования имеют преимущества и недостатки, обратные тем, которыми обладают симметричные методы. В частности, в несимметричных методах с помощью посылки и анализа специальных служебных сообщений может быть реализована процедура аутентификации (проверки легальности источника информации) и целостности (отсутствия подмены) данных. При этом выполняются операции шифрования и дешифрования с участием открытых ключей и секретного ключа данного пользователя. Таким образом, симметричные системы можно с достаточным основанием отнести к полноценным криптографическим системам. В отличие от симметричных методов шифрования, проблема рассылки ключей в несимметричных методах решается проще – пары ключей (открытый и закрытый) генерируются "на месте" с помощью специальных программ. Для рассылки открытых ключей используются такие технологии как LDAP (Lightweight Directory Access Protocol – протокол облегченного доступа к справочнику). Рассылаемые ключи могут быть предварительно зашифрованы с помощью одного из симметричных методов шифрования.
Традиционные и обязательные для современных криптографических систем способы обеспечения аутентификации и проверки целостности получаемых данных (хэш-функции и цифровые подписи), которые реализуются непосредственными участниками обмена, не являются единственно возможными. Распространен также способ, осуществляемый с участием сторонней организации, которой доверяют все участники обменов. Речь идет об использовании так называемых цифровых сертификатов – посылаемых по сети сообщений с цифровой подписью, удостоверяющей подлинность открытых ключей.