Алгоритмы распределения ключей с применением симметричных и асимметричных схем

В случае симметричного шифрования перед собеседниками всегда стоят две важные задачи:

  • выбор криптостойкого ключа;
  • распределение ключа (надежный обмен).

В случае асимметричного шифрования возникает другая задача:

  • обмен собеседников открытыми ключами.

Важная задача симметричной криптографии помимо выбора суперстойкого ключа является распределение ключей — надежный и защищенный от перехвата способ обмена ключами.

При симметричном шифровании и выработке совместного ключа со своим товарищем сложные схемы ни к чему — можно использовать простой алгоритм Диффи-Хеллмана:

1. Я и мой товарищ знаем два абсолютно несекретных числа g и p. Я придумываю большое число a, а мой товарищ большое число b.

2. Я вычисляю A = g^a mod p и отправляю товарищу.

3. Товарищ вычисляет B = g^b mod p и отправляет мне.

4. Я вычисляю B’ = B^a mod p = g^(ab) mod p.

5. Товарищ вычисляет A’ = A^b mod p = g^(ab) mod p.

В итоге, A’ = B’ и есть согласованный ключ.

Рассмотрим пример на небольших числах. Пусть g = 2, p = 100, мое число a = 4, а число товарища b = 2:

A = 2^4 mod 100 = 16

B = 2^2 mod 100 = 4

A’ = B^a =4^4 mod 100 = 56

B’ = A^b = 16^2 mod 100 = 56

Если использовать достаточно большие числа a, b и p, шансов получить ключ у злоумышленника будет очень мало.

Протокол Диффи-Хеллмана в чистом виде сейчас, разумеется, нигде не используется. Однако многие протоколы аутентификации построены на его основе: модификации обмена ключами Диффи-Хеллмана можно встретить и в сетевых протоколах, таких как IPSec и TLS, и в отдельных криптографических приложениях.

УПРАВЛЕНИЕ КЛЮЧАМИ В АСИММЕТРИЧНЫХ КРИПТОСИСТЕМАХ


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: