Алгоритм Диффи-Хеллмана | MetodPro.ru

Реклама на сайте

Алгоритм Диффи-Хеллмана


Диффи и Хелман пред­ло­жи­ли для соз­да­ния крип­то­гра­фи­че­ских сис­тем с от­кры­тым клю­чом функ­цию дис­крет­но­го воз­ве­де­ния в сте­пень.

Не­об­ра­ти­мость пре­об­ра­зо­ва­ния в этом слу­чае обес­пе­чи­ва­ет­ся тем, что дос­та­точ­но лег­ко вы­чис­лить по­ка­за­тель­ную функ­цию в ко­неч­ном по­ле Га­луа со­стоя­щим из p эле­мен­тов. (p - ли­бо про­стое число, либо простое в любой степени). Вычисление же логарифмов в таких полях - значительно более трудоемкая операция.

Если y=ax,, 1<x<p-1, где  - фиксированный элемент поля GF(p), то x=loga y над GF(p). Имея x, легко вычислить y. Для этого потребуется 2 ln(x+y) операций умножения.

Обратная задача вычисления x из y будет достаточно сложной. Если p выбрано достаточно правильно, то извлечение логарифма потребует вычислений, пропорциональных

L(p) = exp { (ln ln ln p)0.5 }

Для обмена информацией первый пользователь выбирает случайное число x1, равновероятное из целых 1...p-1. Это число он держит в секрете, а другому пользователю посылает число

y1 = ax mod p

Аналогично поступает и второй пользователь, генерируя x2 и вычислив y2, отправляя его первому пользователю. В результате этого они могут вычислять k12 = ax1x2 mod p.

Для того, чтобы вычислить k12, первый пользователь возводит y2 в степень x1. То же делает и второй пользователь. Таким образом, у обоих пользователей оказывается общий ключ k12, который можно использовать для шифрования информации обычными алгоритмами. В отличие от алгоритма RSA, данный алгоритм не позволяет шифровать собственно информацию.

Не зная xи x2, злоумышленник может попытаться вычислить k12, зная только перехваченные yи y2. Эквивалентность этой проблемы проблеме вычисления дискретного логарифма есть главный и открытый вопрос в системах с открытым ключом. Простого решения до настоящего времени не найдено. Так, если для прямого преобразования 1000-битных простых чисел требуется 2000 операций, то для обратного преобразования (вычисления логарифма в поле Галуа) - потребуется около 1030 операций.

Как видно, при всей простоте алгоритма Диффи-Хелмана, вторым его недостатком по сравнению с системой RSA является отсутствие гарантированной нижней оценки трудоемкости раскрытия ключа.

Кроме того, хотя описанный алгоритм позволяет обойти проблему скрытой передачи ключа, необходимость аутентификации остается. Без дополнительных средств, один из пользователей не может быть уверен, что он обменялся ключами именно с тем пользователем, который ему нужен. Опасность имитации в этом случае остается.

 

В ка­че­ст­ве обоб­ще­ния ска­зан­но­го о рас­пре­де­ле­нии клю­чей сле­ду­ет ска­зать сле­дую­щее. За­да­ча управ­ле­ния клю­ча­ми сво­дит­ся к по­ис­ку та­ко­го про­то­ко­ла рас­пре­де­ле­ния клю­чей, ко­то­рый обес­пе­чи­вал бы:

*                         воз­мож­ность от­ка­за от цен­тра рас­пре­де­ле­ния клю­чей;

*                         вза­им­ное под­твер­жде­ние под­лин­но­сти уча­ст­ни­ков се­ан­са;

*                         под­твер­жде­ние дос­то­вер­но­сти се­ан­са ме­ха­низ­мом за­про­са-от­ве­та, ис­поль­зо­ва­ние для это­го про­грамм­ных или ап­па­рат­ных средств;

*                         ис­поль­зо­ва­ние при об­ме­не клю­ча­ми ми­ни­маль­но­го чис­ла со­об­ще­ний.



Методические пособия

  • Системы автоматизированного проектирования
  • Социология молодёжи
  • Общая социология
  • Криптография
  • Проектирование трансляторов
  • Компьютерная графика
  • Моделирование систем
  • Информационная безопасность
  • Теория вычислительных процессов
  • Логические основы искусственного интелекта
  • Проектирование распределённых информационных систем