Cryptology Academy · Урок

Проблема распределения ключей

Объясните, почему безопасный обмен ключами был невозможен до появления Диффи—Хеллмана

Урок 1 из 413 шагов

«Проблема распределения ключей» — бесплатный урок Cryptology Academy на CoddyKit. Это урок 1 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Cryptology Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Cryptology Academy содержит 4 уроков всего.

Добро пожаловать

На протяжении веков для защищённой связи требовался заранее защищённый канал для обмена ключами. В этом уроке Вы разберётесь с этой древней проблемой и узнаете, почему она ставила криптографов в тупик до 1976 года.

Древняя дилемма

Если Alice и Bob хотят безопасно общаться, им нужен общий ключ. Но для безопасного обмена этим ключом им уже требуется защищённый канал. Возникает замкнутый круг — проблема кажется неразрешимой.

Проблема курьера

Историческое решение: отправить курьера с ключом. Проблемы: курьера могут захватить, принудить к сотрудничеству или подкупить. Для крупномасштабной связи, например между посольствами и военными структурами, поддержание защищённых курьерских сетей было чрезвычайно дорого.

Распределение ключей во время холодной войны

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

Масштаб делает задачу невозможной

Чтобы N пользователей могли безопасно общаться друг с другом, требуется N×(N-1)/2 уникальных пар ключей. Для 1000 пользователей это примерно 500 000 ключей. Для миллиардов пользователей интернета такой подход с одной лишь симметричной криптографией совершенно непрактичен.

Интуиция прорыва

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

Whitfield Diffie и Martin Hellman

В 1976 году исследователи из Stanford Diffie и Hellman опубликовали работу «New Directions in Cryptography». В одной статье они предложили концепцию криптографии с открытым ключом и решили проблему распределения ключей.

Аналогия со смешиванием красок

Смешать краски легко, а разделить смесь трудно. Alice и Bob начинают с открытой жёлтой краски. Каждый добавляет свой секретный цвет — красный или синий. Они обмениваются смесями — зелёной и оранжевой. Затем каждый добавляет свой секрет к смеси другого, и оба получают жёлтый + красный + синий. Eve видит жёлтую, зелёную и оранжевую краски, но не может разделить смеси.

Математическая формулировка

Задача дискретного логарифмирования: по заданным g, p и g^a mod p найти a. Прямое вычисление выполняется легко и быстро с помощью возведения в степень, но для большого p обратная задача вычислительно невыполнима.

Независимая работа Ralph Merkle

Ralph Merkle независимо разработал концепцию криптографии с открытым ключом в 1974 году, но его курсовую работу CS 244 отклонили. В 1978 году он опубликовал головоломки Merkle. Это открытие действительно почти одновременно пришло в голову нескольким исследователям.

Тайное открытие NSA

GCHQ в UK — при участии James Ellis, Clifford Cocks и Malcolm Williamson — независимо открыла криптографию с открытым ключом в 1970–1973 годах, но засекретила это открытие. Его рассекретили в 1997 году, через три года после RSA.

Быстрая проверка

Почему распределение симметричных ключей оказалось непрактичным для интернет-связи крупного масштаба?

Итоги

Проблема распределения ключей имеет фундаментальное значение. Далее Вы увидите, как именно Diffie-Hellman решает её с помощью арифметики дискретных логарифмов.
Можно начать бесплатно

Изучай Cryptology Academy с ИИ-репетитором — бесплатно

Пиши и запускай код прямо в браузере, получай мгновенную помощь от ИИ-репетитора 24/7 и продолжи учиться на сайте или в приложении.

Курсы
67
Уроки
261

Часто задаваемые вопросы

Урок «Проблема распределения ключей» бесплатный?

Да — полный текст урока «Проблема распределения ключей» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Cryptology Academy, подпишись на CoddyKit PRO. Курс Cryptology Academy содержит 4 уроков всего.

Чему я научусь в уроке «Проблема распределения ключей»?

Объясните, почему безопасный обмен ключами был невозможен до появления Диффи—Хеллмана Ты практикуешь Cryptology Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать Cryptology Academy?

Предыдущий опыт не требуется. Cryptology Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 1 из 4.

Сколько времени занимает урок «Проблема распределения ключей»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке Cryptology Academy?

Да. Каждый урок Cryptology Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

Все уроки этого курса

  1. Проблема распределения ключей
  2. Математика обмена ключами Диффи—Хеллмана
  3. ECDH: эллиптические кривые для обмена ключами
  4. Прямая секретность и эфемерный обмен ключами
← Назад к Cryptology Academy