Асимметричные криптосистемы – относительно новое направление в криптографии, возможно, более известное под синонимом криптография с открытым ключом. В асимметричных криптосистемах используются два различных ключа: открытый ключ – для зашифровки сообщения и секретный (личный) – для расшифровки. Уитфилд Диффи (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, его преемник AES и Европейский стандарт IDEA. Имейте в виду, что криптостойкость симметричных алгоритмов определяется прежде всего размером используемых в алгоритме ключей и числом циклов алгоритма. Все симметричные алгоритмы теоретически уязвимы к атакам
Алгоритм DES
Стандарт шифрования данных (алгоритм) DES – один из старых и наиболее известных алгоритмов шифрования, который был изобретен корпорацией IBM и был американским правительственным стандартом с 1976 до 2001 года. В значительной степени DES основан на алгоритме Люцифер (Lucifer) Хорста Фейстеля (Horst Feistel), который не получил широкого распространения. Существенно то, что в алгоритме DES используется единственный 64-битовый ключ: 56 бит значащие и 8 бит – проверочные биты для контроля на четность. Алгоритм обрабатывает блоки данных порциями по 64 бита. Ключ разбивается на 16 отдельных 48-битовых подключей по одному на каждый раунд, который называется циклом Фейстеля
Рис. 6.1. Схема алгоритма шифрования DES