Как работает обмен ключами Диффи — Хеллмана: секреты за три сообщения

Computerphile 1,1 млн 8 мин 2 мин 15.12.2017
Главное

Как работает протокол Диффи — Хеллмана: математика секретных ключей 0:00

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

🎨 Аналогия с перемешиванием красок 1:17

Чтобы понять суть процесса, не прибегая к сложной математике, полезно представить обмен ключами как процесс смешивания цветов. Хотя в реальности используются сложные алгоритмы модульной арифметики, логика «необратимости» процесса очень схожа.

  1. Согласование параметров: Алиса и Боб публично договариваются об использовании двух общих параметров: генератора ($g$) и большого простого числа ($n$). Эти данные известны всем, включая потенциального злоумышленника.
  2. Выбор секретных значений: У каждой стороны есть свой личный «секретный цвет», который они никогда не передают другому. У Алисы это красный, у Боба — синий.
  3. Создание публичных ключей: Каждая сторона смешивает свой секретный цвет с общим параметром $g$. Алиса получает оранжевый оттенок, Боб — зеленоватый.
  4. Обмен ключами: Стороны обмениваются полученными «публичными цветами» через открытый канал. Злоумышленник, перехвативший их, видит эти цвета, но не может разделить их обратно на исходные компоненты (секретные цвета Алисы и Боба), так как смешивание является односторонней функцией.
  5. Финальное смешивание: Алиса добавляет к полученному от Боба публичному ключу свой секретный «красный», а Боб добавляет к ключу Алисы свой «синий».

В итоге обе стороны приходят к идентичному результату — общему секретному значению. Злоумышленник, имея на руках лишь публичные данные, не может воспроизвести этот результат, так как для этого ему потребовалось бы узнать секретные значения Алисы или Боба, что математически крайне сложно.

🔐 Математическая основа и безопасность 8:24

В реальных системах вместо красок используется модульная арифметика. Общие параметры $g$ (генератор) и $n$ (большое простое число) имеют решающее значение для безопасности.

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

💬 Цитаты

«Мы не обмениваемся ключами, мы создаем их вместе.»

Ведущий Computerphile 01:17

«Ничто в публичном пространстве нельзя объединить для получения этого значения.»

Ведущий Computerphile 07:32
👥 Спикер
🔗 Упомянутые сайты и проекты
📖 Термины
Симметричный ключ
Тип ключа шифрования, который используется и для зашифровки, и для расшифровки сообщения.
Генератор (g)
Один из публичных математических параметров, используемых в протоколе Диффи — Хеллмана.
Модульная арифметика
Система арифметики целых чисел, где числа «зацикливаются» при достижении определенного значения (модуля).
AES
Широко распространенный алгоритм симметричного шифрования данных.
📊 Цифры
🗓 Хронология
  1. 1976 Первая публикация протокола Диффи — Хеллмана.
⚖️ Другая сторона
Технологии и IT Diffie-Hellman Computerphile криптография шифрование данных