Читаем Защита от хакеров корпоративных сетей полностью

Асимметричные криптосистемы – относительно новое направление в криптографии, возможно, более известное под синонимом криптография с открытым ключом. В асимметричных криптосистемах используются два различных ключа: открытый ключ – для зашифровки сообщения и секретный (личный) – для расшифровки. Уитфилд Диффи (Whitfield Diffie) и Мартин Хеллман (Martin Hellman) первыми заявили о криптографии с открытым ключом в 1976 году, опубликовав метод обмена ключами в системе с секретными ключами. Опубликованный ими алгоритм, впоследствии названный алгоритмом Диффи-Хеллмана (DH-алгоритмом), будет рассмотрен в этой главе. Хотя большинство считает В. Диффи и М. Хеллмана авторами криптографии с открытым ключом, тем не менее некоторые отдают приоритет английской разведке BSS (British Secret Service), поскольку якобы за несколько лет до публикации В. Диффи и М. Хеллмана BSS уже знал об аналогичном методе. Правда, предполагается, что BSS после изобретения алгоритма нигде его не использовал. Подробнее об этом читатель сможет узнать по адресу: www.wired.com/wired/archive/7.04/crypto_pr.html.

Некоторое время спустя криптография с открытым ключом стала популярной благодаря Филу Зиммерману (Phil Zimmerman), который в августе 1991 года выпустил версию 1.0 программы «Pretty Good Privacy» (PGP) для DOS. В 1993 году, после выпуска версии 2.3 программы PGP, была добавлена поддержка других платформ, в том числе UNIX и Amiga. С течением времени программа PGP была усовершенствована и распространялась многочисленными фирмами, включая ViaCrypt и PGP, Inc., которые в настоящее время вошли в состав Network Associates. Доступны как коммерческие, так и свободно распространяемые (для некоммерческого использования) версии программы PGP. Жители Соединенных Штатов и Канады могут получить свободно распространяемую версию программы с сайтаКоммерческая версия может быть куплена на сайте Network Associates www.pgp.com.

Стандарты алгоритмов шифрования

Почему так много алгоритмов шифрования? Почему не стандартизируют один из них? Учитывая большое количество алгоритмов шифрования, следует признать, что на этот вопрос нельзя дать простой ответ. Максимум, что возможно, – это достичь компромисса между безопасностью, скоростью и удобством применения. В данном случае под безопасностью алгоритма понимается его способность противостоять как современным атакам, так и атакам в будущем. Скорость алгоритма характеризует его возможности по обработке данных и выражается временем, которое необходимо затратить на зашифровку и расшифровку сообщений. И наконец, под удобством применения понимается удобство реализации алгоритма программным или аппаратным способом. Каждый алгоритм хорош по-своему и ни один из них не идеален. В этой главе будут рассмотрены пять алгоритмов, с которыми чаще всего приходится иметь дело: стандарт шифрования данных DES (Data Encryption Standard), улучшенный стандарт шифрования AES [Rijndael], международный алгоритм шифрования данных IDEA (International Data Encryption Algorithm), алгоритм Диффи-Хеллмана и алгоритм RSA. Но знайте, что есть и другие алгоритмы, которые ничем не уступают названным.

Симметричные алгоритмы

В этой секции будет рассмотрено несколько наиболее типичных представителей класса симметричных алгоритмов: DES, его преемник AES и Европейский стандарт IDEA. Имейте в виду, что криптостойкость симметричных алгоритмов определяется прежде всего размером используемых в алгоритме ключей и числом циклов алгоритма. Все симметричные алгоритмы теоретически уязвимы к атакам «грубой силы», в основе которых лежит перебор всех возможных ключей. Но часто подобные атаки технически неосуществимы. Детально они будут обсуждены далее в главе.

Алгоритм DES

Стандарт шифрования данных (алгоритм) DES – один из старых и наиболее известных алгоритмов шифрования, который был изобретен корпорацией IBM и был американским правительственным стандартом с 1976 до 2001 года. В значительной степени DES основан на алгоритме Люцифер (Lucifer) Хорста Фейстеля (Horst Feistel), который не получил широкого распространения. Существенно то, что в алгоритме DES используется единственный 64-битовый ключ: 56 бит значащие и 8 бит – проверочные биты для контроля на четность. Алгоритм обрабатывает блоки данных порциями по 64 бита. Ключ разбивается на 16 отдельных 48-битовых подключей по одному на каждый раунд, который называется циклом Фейстеля (Feistel cycles). На рисунке 6.1 показана схема работы алгоритма DES.

Рис. 6.1. Схема алгоритма шифрования DES

Перейти на страницу:
Нет соединения с сервером, попробуйте зайти чуть позже