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

Ответить
Аватара пользователя
MrkoSter
лейтенант
Сообщения: 77
Зарегистрирован: 21 июн 2021, 13:21

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

Сообщение MrkoSter »

Протокол Ди́ффи — Хе́ллмана — криптографический протокол, позволяющий двум и более сторонам получить общий секретный ключ, используя незащищенный от прослушивания канал связи. Полученный ключ используется для шифрования дальнейшего обмена с помощью алгоритмов симметричного шифрования.

Допустим Client задаёт 2 числа (6, 91) , одно из них (91, оно же P) должно быть не меньше 1024 бит, лучше 4096 бит (для примера будут маленькие числа и рандомное, его мы не отправляем на сервер): 6 (g), 91 (p), 7 (рандомное число на стороне клиента). Server создаст рандомное число 3.

Client: g ** 7 % p = 20 (отправляем число 20 серверу и G, P)
Server: g ** 3 % p = 34 (отправляем число 34 клиенту)

Client: 34 ** 7 % p = 83 (никуда не отправляем)
Server: 20 ** 3 % p = 83 (никуда не отправляем)

Теперь мы можем использовать число 83 для создания симметричного ключа шифрования, также при первом подключении к серверу мы можем получить public.key, чтобы зашифровать наши циферки и расшифровать уже на сервере с помощью private.key.

Т.e мы сначала шифруем пакеты ассиметричным шифрованием, создаем симметричные ключи и переходим уже на симметричное шифрование, вот вам пример гибридного шифрования.
Ответить