Обмен ключами
Это процессы или протоколы, в которых общий секрет становится доступным для двух сторон, обычно для зашифрованной связи.
Схема ключевого соглашения
В этой схеме обе конечные точки участвуют в согласовании общего ключа или секрета.
Пример: Диффи-Хеллман(DH) и Эллиптическая кривая Диффи-Хеллмана(ECDH) являются примерами этой схемы.
Ключевая транспортная схема
В этой схеме только одна конечная точка вносит свой вклад в общий секрет, а другая конечная точка просто получает его. Эти схемы обычно реализуются посредством криптографии с открытым ключом.
Пример. Обмен ключами RSA предполагает, что клиент шифрует случайный сеансовый ключ с помощью своего закрытого ключа и отправляет его сервер, где он расшифровывается с помощью открытого ключа клиента.
Обмен ключами Диффи-Хеллмана (DHKE)
Это один из первых протоколов с открытым ключом, который обеспечивает безопасный обмен криптографическими ключами по общедоступному каналу.
Этот протокол представляет собой схему соглашения об анонимном ключе, которая требует, чтобы обе конечные точки не имели предварительного знания друг о друге, чтобы совместно установить общий ключ поверх небезопасная публичная сеть.
Диффи-Хеллман устойчив к перехвату данных, но уязвим для атак типа "человек посередине".
Простая аналогия для понимания DHKE
Шаги:
- Алиса и Боб договариваются об общем начальном цвете (желтый).
- Алиса и Боб выбирают каждый секретный цвет (красныйиморской зеленый).
- Алиса и Боб смешивают свои секретные цвета с общим цветом, чтобы получить смешанные цвета (оранжевый и светло-голубой).
- Алиса и Боб публично обмениваются своими смешанными цветами.
- Алиса и Боб смешивают обмененные цвета со своими секретными цветами, чтобы получить окончательную цветовую смесь (желто-коричневый).
- Эта окончательная смесь цветов является их безопасным обменом общим ключом
Примечание. Это предполагает, что перехватывающей стороне очень сложно с точки зрения вычислений определить секретные цвета из общего общего цвета (желтый) и общего цвета. поменялись местами смешанные цвета (оранжевый и светло-голубой)
Протокол Диффи-Хеллмана похож на приведенный выше пример, но вместо смешивания цветов использует модульное возведение в степень огромных чисел и дискретные логарифмы.
Протокол DHKE
- Алиса и Боб договариваются о начальных целых числах: модуль p и основание g, где p — простое число, а g — первообразный корень по модулю p. Пример: р = 23, г = 5.
- Алиса выбирает секретное целое число a=4 и отправляет Бобу A= gᵃ mod p = 5⁴ mod 23 = 4
- Боб выбирает секретное целое число b=3 и отправляет Алисе B = gᵇ mod p = 5³ mod 23 = 10
- Алиса вычисляет S = Bᵃ mod p = 10⁴ mod 23 = 18
- Боб вычисляет S = Aᵇ mod p = 4³ mod 23 = 18
- 18 теперь является общим секретом Алисы и Боба.
Этот секретный ключ S не может быть вычислен из чисел A и B, так как секретные показатели степени a и b не могут быть вычислены эффективно.
Это связано с отсутствием известных эффективных и быстрых алгоритмов для нахождения секретного показателя x, даже если m, g и p известны в следующем уравнении:
m = gˣ mod p
Это известно как проблема дискретного логарифма (DLP).
Код Python для алгоритма DHKE
Приведенный выше код сгенерировал 2048-битные открытые ключи для Алисы и Боба.
Для повышения безопасности, но в ущерб вычислительным затратам, замените pyDHE.new() на pyDHE.new(group=18), чтобы создать 8192-битные ключи.
Предыдущее сообщение: Нажмите Здесь :: Следующее сообщение: Нажмите Здесь
Начало серии: нажмите Здесь