Протокол открытого распределения ключей Диффи-Хеллмана

From CryptoWiki
Jump to: navigation, search

Протокол открытого распределения ключей Диффи-Хеллмана - криптографический протокол обмена ключами, предложенный в 1976 году, основанный на асимметричных криптосхемах. Этот протокол позволяет получить общий секрет, который становится доступен двум или более сторонам для последующего использования. Полученный общий секрет (ключ) может передаваться по незащищенным от прослушивания каналам связи.

Описание протокола для двух участников

Этот протокол является очень простым, в таблице 1 приведено его описание.

Есть два участника протокола: A и B, и есть доверенная сторона. На доверенной стороне вырабатываются некоторые данные, которые доступным обоим участникам.

Таблица 1. Протокол открытого распределения ключей Диффи-Хеллмана.

Dh1.png

Простой протокол обмена ключа Диффи-Хеллмана не обеспечивает ни одного из основных свойств протоколов распределения ключей: ни аутентификацию, ни подтверждение ключа, ни аутентификацию участников протокола. Активный противник может построить атаку на протокол методом включения в канал (атака "Человек посередине"), как показано в таблице 2. В итоге он сможет контролировать весь обмен данными между участниками. При этом они не смогут обнаружить подмену данных и будут уверены, что связываются непосредственно друг с другом.

Таблица 2. Атака активного противника на протокол Диффи-Хеллмана.

Dh2.png

Библиографический указатель

  • Запечников С.В. Криптографические протоколы и их применение в финансовой и коммерческой деятельности. Учебное пособие для вузов. – М.: Горячая линия – Телеком, 2007. – 320 с.

Демонстрационная программа

Исходный код на языке C#: File:DHSourceCode.txt
Исполняемый файл: File:DiffieHellmanProg.zip