stringtranslate.com

Обмен ключами Диффи-Хеллмана

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

Обмен ключами Диффи-Хеллмана [nb 1] представляет собой математический метод безопасного обмена криптографическими ключами по общедоступному каналу и был одним из первых протоколов с открытым ключом , задуманных Ральфом Мерклем и названных в честь Уитфилда Диффи и Мартина Хеллмана . [1] [2] DH — один из первых практических примеров обмена открытыми ключами, реализованный в области криптографии. Опубликованная в 1976 году Диффи и Хеллманом, это самая ранняя общеизвестная работа, в которой была предложена идея закрытого ключа и соответствующего открытого ключа.

Традиционно безопасная зашифрованная связь между двумя сторонами требовала, чтобы они сначала обменялись ключами с помощью некоторых безопасных физических средств, таких как бумажные списки ключей, доставленные доверенным курьером . Метод обмена ключами Диффи-Хеллмана позволяет двум сторонам, не имеющим предварительного знания друг о друге, совместно установить общий секретный ключ по незащищенному каналу . Этот ключ затем можно использовать для шифрования последующих сообщений с использованием шифра с симметричным ключом .

Диффи-Хеллмана используется для защиты различных интернет- сервисов. Однако исследование, опубликованное в октябре 2015 года, показывает, что параметры, используемые в то время для многих интернет-приложений DH, недостаточно надежны, чтобы предотвратить компрометацию со стороны очень хорошо финансируемых злоумышленников, таких как службы безопасности некоторых стран. [3]

Схема была опубликована Уитфилдом Диффи и Мартином Хеллманом в 1976 году, [2] но в 1997 году выяснилось, что Джеймс Х. Эллис , [4] Клиффорд Кокс и Малкольм Дж. Уильямсон из GCHQ , британского агентства радиотехнической разведки, ранее показали в 1969 году [5] , как можно достичь криптографии с открытым ключом. [6]

Хотя соглашение о ключах Диффи-Хеллмана само по себе является протоколом соглашения о ключах без аутентификации , оно обеспечивает основу для множества протоколов с аутентификацией и используется для обеспечения прямой секретности в эфемерных режимах безопасности транспортного уровня (называемых EDH или DHE). в зависимости от набора шифров ).

Вскоре этому методу последовал RSA — реализация криптографии с открытым ключом с использованием асимметричных алгоритмов.

Патент США № 4 200 770 [7] от 1977 года с истекшим сроком действия описывает алгоритм, ставший теперь общественным достоянием . Хеллман, Диффи и Меркл считаются изобретателями.

Имя

В 2006 году Хеллман предложил назвать алгоритм обменом ключами Диффи-Хеллмана-Меркла в знак признания вклада Ральфа Меркла в изобретение криптографии с открытым ключом (Hellman, 2006), написав:

Система... с тех пор стала известна как обмен ключами Диффи-Хеллмана. Хотя эта система была впервые описана в статье Диффи и меня, это система распределения открытых ключей, концепция, разработанная Мерклом, и, следовательно, ее следует называть «обмен ключами Диффи-Хеллмана-Меркла», если с ней должны быть связаны имена. . Я надеюсь, что эта небольшая кафедра поможет в этом стремлении признать равный вклад Меркла в изобретение криптографии с открытым ключом. [8]

Описание

Общий обзор

Иллюстрация концепции обмена ключами Диффи – Хеллмана

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

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

Если бы третья сторона прослушивала разговор, она бы знала только общий цвет (желтый) и первые смешанные цвета (оранжево-коричневый и голубой), но ей было бы очень сложно узнать окончательный секретный цвет ( желто-коричневый). Возвращаясь к аналогии с реальным обменом с использованием больших чисел, а не цветов, такое определение требует больших вычислительных затрат. Вычислить за практический промежуток времени невозможно даже на современных суперкомпьютерах .

Криптографическое объяснение

Самая простая и оригинальная реализация, [2] позже формализованная как конечное поле Диффи-Хеллмана в RFC 7919 , [9] протокола использует мультипликативную группу целых чисел по модулю p , где pпростое число , а gпримитивный корень по модулю p. . Эти два значения выбраны таким образом, чтобы гарантировать, что полученный общий секрет может принимать любое значение от 1 до p –1. Вот пример протокола: несекретные значения выделены синим цветом , а секретные значения — красным .

  1. Алиса и Боб публично соглашаются использовать модуль p = 23 и основание g = 5 (который является примитивным корнем по модулю 23).
  2. Алиса выбирает секретное целое число a = 4 , затем отправляет Бобу A = g мод p
    • A = 5 4 mod 23 = 4 (в этом примере и A , и a имеют одинаковое значение 4, но обычно это не так)
  3. Боб выбирает секретное целое число b = 3, затем отправляет Алисе B = g b mod p
    • В = 5 3 по модулю 23 = 10
  4. Алиса вычисляет s = B по модулю p
    • с =10 4 мод23=18
  5. Боб вычисляет s = A b mod p
    • с =4 3 мод23=18
  6. Теперь у Алисы и Боба есть секрет (число 18).

И Алиса, и Боб пришли к одинаковым значениям, поскольку по модулю p

Более конкретно,

Только А и Б держатся в секрете. Все остальные значения — p , g , g a mod p и g b mod p — отправляются в открытом виде. Сила схемы заключается в том, что g ab mod p = g ba mod p занимает очень много времени для вычисления любым известным алгоритмом только на основе знания p , g , g a mod p и g b mod p . Такая функция, которую легко вычислить, но трудно обратить, называется односторонней функцией . Как только Алиса и Боб вычислят общий секрет, они смогут использовать его в качестве ключа шифрования, известного только им, для отправки сообщений по одному и тому же открытому каналу связи.

Конечно, чтобы сделать этот пример безопасным, потребуются гораздо большие значения a , b и p , поскольку существует только 23 возможных результата n по модулю 23. Однако, если p — простое число, состоящее как минимум из 600 цифр, то даже самые быстрые современные компьютеры, использующие самый быстрый из известных алгоритмов, не могут найти заданные только g , p и g a mod p . Такая задача называется проблемой дискретного логарифмирования . [3] Вычисление g a mod p известно как модульное возведение в степень и может быть эффективно выполнено даже для больших чисел. Обратите внимание, что g вообще не обязательно должно быть большим и на практике обычно представляет собой небольшое целое число (например, 2, 3,...).

Таблица секретности

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

Now s — общий секретный ключ, известный как Алисе, так и Бобу, но не Еве. Обратите внимание, что Еве бесполезно вычислить AB , что равно g a + b mod p .

Примечание. Алисе должно быть сложно найти закрытый ключ Боба или Бобу найти закрытый ключ Алисы. Если Алисе нетрудно найти закрытый ключ Боба (или наоборот), то перехватчик, Ева , может просто подставить свою собственную пару частного/открытого ключей, подсоединить открытый ключ Боба к своему личному ключу, создать фальшивый общий секрет. ключ и найдите закрытый ключ Боба (и используйте его для нахождения общего секретного ключа). Ева может попытаться выбрать пару открытого и закрытого ключей, которая облегчит ей поиск закрытого ключа Боба.

Обобщение на конечные циклические группы

Вот более общее описание протокола: [10]

  1. Алиса и Боб договариваются о натуральном числе n и порождающем элементе g в конечной циклической группе G порядка n . (Обычно это делается задолго до остальной части протокола; предполагается, что g и n известны всем злоумышленникам.) Группа G записывается мультипликативно.
  2. Алиса выбирает случайное натуральное число a с 1 < a < n и отправляет элемент g a из G Бобу.
  3. Боб выбирает случайное натуральное число b с условием 1 < b < n и отправляет элемент g b из G Алисе.
  4. Алиса вычисляет элемент (g b ) a = g ba группы G.
  5. Боб вычисляет элемент (g a ) b = g ab группы G.

И Алиса, и Боб теперь обладают групповым элементом gab = gba , который может служить общим секретным ключом. Группа G удовлетворяет необходимому условию безопасной связи до тех пор , пока не существует эффективного алгоритма определения gab по заданным g , ga и gb .

Например, протокол Диффи-Хеллмана для эллиптической кривой представляет собой вариант, который представляет элемент G как точку на эллиптической кривой, а не как целое число по модулю n. Также были предложены варианты с использованием гиперэллиптических кривых . Обмен ключами суперсингулярной изогении — это вариант Диффи-Хеллмана, который был разработан для защиты от квантовых компьютеров , но был взломан в июле 2022 года. [11]

Эфемерные и/или статические ключи

Используемые ключи могут быть либо эфемерными, либо статическими (долгосрочными), но могут быть даже смешанными, так называемым полустатическим DH. Эти варианты имеют разные свойства и, следовательно, разные варианты использования. Обзор многих вариантов, а также некоторые обсуждения можно найти, например, в NIST SP 800-56A. [12] Основной список:

  1. эфемерный, эфемерный: обычно используется для соглашения о ключах. Обеспечивает прямую секретность , но не аутентичность .
  2. static, static: создаст долгосрочный общий секрет. Не обеспечивает прямую секретность, но обеспечивает неявную подлинность. Поскольку ключи являются статическими, это, например, не защитит от атак повторного воспроизведения .
  3. эфемерный, статический: например, используется в шифровании Эль-Гамаля или интегрированной схеме шифрования (IES) . Если оно используется в соглашении о ключах, оно может обеспечить неявную одностороннюю подлинность (эфемерная сторона может проверять подлинность статической стороны). Никакой прямой секретности не предусмотрено.

Можно использовать эфемерные и статические ключи в одном соглашении ключей для обеспечения большей безопасности, как показано, например, в NIST SP 800-56A, но также возможно объединить их в одном обмене ключами DH, который тогда называется тройным DH ( 3-ДГ).

Тройной Диффи-Хеллман (3-DH)

В 1997 году разновидность тройного DH была предложена Саймоном Блейком-Уилсоном, Доном Джонсоном, Альфредом Менезесом в книге «Протоколы ключевых соглашений и их анализ безопасности (1997)» [13] , которая была усовершенствована К. Кудлой и К. Г. Патерсоном в книге «Модульная Доказательства безопасности для протоколов соглашения о ключах (2005 г.)» [14] и показали свою безопасность. Он также используется или упоминается в других вариантах. Например:

Долгосрочные секретные ключи Алисы и Боба обозначаются буквами a и b соответственно, с открытыми ключами A и B , а также парами эфемерных ключей x, X и y, Y. Тогда протокол:

Долгосрочные открытые ключи необходимо каким-то образом передать. Это можно сделать заранее в отдельном доверенном канале или можно зашифровать открытые ключи с использованием некоторого соглашения о частичном ключе для сохранения анонимности. Для получения дополнительной информации, а также других улучшений, таких как защита побочного канала или явное подтверждение ключа , а также ранние сообщения и дополнительная аутентификация по паролю, можно, например, взглянуть на «Расширенное модульное рукопожатие для согласования ключей и дополнительной аутентификации» [16].

Работа с более чем двумя сторонами

Соглашение о ключах Диффи-Хеллмана не ограничивается согласованием ключа, совместно используемого только двумя участниками. В соглашении может принять участие любое количество пользователей, выполняя итерации протокола соглашения и обмениваясь промежуточными данными (которые сами по себе не должны храниться в секрете). Например, Алиса, Боб и Кэрол могли бы участвовать в соглашении Диффи-Хеллмана следующим образом, при этом все операции выполняются по модулю p :

  1. Стороны согласовывают параметры алгоритма p и g .
  2. Стороны генерируют свои закрытые ключи с именами a , b и c .
  3. Алиса вычисляет g по модулю p и отправляет его Бобу.
  4. Боб вычисляет ( g a ) b mod p = g ab mod p и отправляет результат Кэрол.
  5. Кэрол вычисляет ( g ab ) c mod p = g abc mod p и использует это как свой секрет.
  6. Боб вычисляет g b mod p и отправляет результат Кэрол.
  7. Кэрол вычисляет ( g b ) c mod p = g bc mod p и отправляет результат Алисе.
  8. Алиса вычисляет ( g bc ) mod p = g bca mod p = g abc mod p и использует его как свой секрет.
  9. Кэрол вычисляет g c mod p и отправляет результат Алисе.
  10. Алиса вычисляет ( g c ) mod p = g ca mod p и отправляет его Бобу.
  11. Боб вычисляет ( g ca ) b mod p = g cab mod p = g abc mod p и использует это как свой секрет.

Подслушивающий смог увидеть g a mod p , g b mod p , g c mod p , gab mod p , gac mod p и g bc mod p , но не может использовать любую их комбинацию для эффективного воспроизведения g abc . мод п .

Чтобы распространить этот механизм на более крупные группы, необходимо следовать двум основным принципам:

Эти принципы оставляют открытыми различные варианты выбора порядка, в котором участники вносят ключи. Самое простое и очевидное решение — расположить N участников по кругу и заставить N ключей вращаться по кругу, пока в конечном итоге каждый ключ не будет передан всеми N участниками (заканчивается его владельцем), и каждый участник не внес свой вклад в N ключей . (заканчивая своими). Однако для этого требуется, чтобы каждый участник выполнил N модульных возведений в степень.

Выбирая более желательный порядок и полагаясь на то, что ключи могут быть дублированы, можно сократить количество модульных возведений в степень, выполняемых каждым участником, до 2 ( N ) + 1 , используя подход в стиле «разделяй и властвуй». , приведенное здесь для восьми участников:

  1. Каждый из участников A, B, C и D выполняет по одному возведению в степень, что дает g abcd ; это значение отправляется в E, F, G и H. Взамен участники A, B, C и D получают g efgh .
  2. Каждый из участников A и B выполняет по одному возведению в степень, получая g efghab , который они отправляют C и D, в то время как C и D делают то же самое, получая g efghcd , который они отправляют A и B.
  3. Участник A выполняет возведение в степень, получая g efghcda , который он отправляет B; аналогично B отправляет g efghcdb A. C и D делают то же самое.
  4. Участник A выполняет одно заключительное возведение в степень, получая секрет g efghcdba = g abcdefgh , а B делает то же самое, чтобы получить g efghcdab = g abcdefgh ; И снова C и D делают то же самое.
  5. Участники от E до H одновременно выполняют одни и те же операции, используя gabcd в качестве отправной точки.

Как только эта операция будет завершена , все участники будут владеть секретным gabcdefgh , но каждый участник выполнит только четыре модульных возведения в степень, а не восемь, подразумеваемые простым круговым расположением.

Безопасность

Протокол считается защищенным от перехвата, если G и g выбраны правильно. В частности, порядок группы G должен быть большим, особенно если одна и та же группа используется для больших объемов трафика. Чтобы получить gab , подслушивающему необходимо решить задачу Диффи–Хеллмана . В настоящее время это считается затруднительным для групп, порядок которых достаточно велик. Эффективный алгоритм решения проблемы дискретного логарифма облегчил бы вычисление a или b и решение проблемы Диффи-Хеллмана, что сделало бы эту и многие другие криптосистемы с открытым ключом небезопасными. Поля с небольшой характеристикой могут быть менее безопасными. [17]

Порядок G должен иметь большой простой множитель, чтобы предотвратить использование алгоритма Полига -Хеллмана для получения a или b . По этой причине простое число Софи Жермен q иногда используется для вычисления p = 2 q + 1 , называемое безопасным простым числом , поскольку тогда порядок G делится только на 2 и q . g затем иногда выбирается для создания подгруппы порядка q группы G , а не G , так что символ Лежандра g a никогда не раскрывает младший бит a . Протоколом, использующим такой выбор, является, например, IKEv2 . [18]

g часто представляет собой небольшое целое число, например 2. Из-за случайной самосократимости задачи дискретного логарифмирования маленькое g так же безопасно, как и любой другой генератор той же группы.

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

В исходном описании обмен Диффи-Хеллмана сам по себе не обеспечивает аутентификацию взаимодействующих сторон и, таким образом, уязвим для атаки «человек посередине» . Мэллори (активный злоумышленник, выполняющий атаку «человек посередине») может установить два отдельных обмена ключами: один с Алисой, другой с Бобом, эффективно маскируясь под Алису для Боба и наоборот, позволяя ей расшифровать, а затем повторно -encrypt, сообщения передаются между ними. Обратите внимание, что Мэллори должна продолжать находиться посередине, активно расшифровывая и повторно шифруя сообщения каждый раз, когда Алиса и Боб общаются. Если она когда-либо отсутствует, ее предыдущее присутствие раскрывается Алисе и Бобу. Они будут знать, что все их частные разговоры были перехвачены и расшифрованы кем-то на канале. В большинстве случаев это не поможет им получить закрытый ключ Мэллори, даже если она использовала один и тот же ключ для обоих обменов.

Для предотвращения атак такого типа обычно необходим метод аутентификации взаимодействующих сторон друг с другом. Вместо этого можно использовать варианты Диффи-Хеллмана, такие как протокол STS , чтобы избежать атак такого типа.

Практические атаки на интернет-трафик

Алгоритм решета числового поля , который обычно является наиболее эффективным при решении задачи дискретного логарифмирования , состоит из четырех вычислительных шагов. Первые три шага зависят только от порядка группы G, а не от конкретного числа, конечный журнал которого требуется. [19] Оказывается, большая часть интернет-трафика использует одну из немногих групп размером порядка 1024 бит или меньше. [3] Путем предварительного вычисления первых трех шагов сита числового поля для наиболее распространенных групп, злоумышленнику нужно выполнить только последний шаг, который требует гораздо меньше вычислительных затрат, чем первые три шага, чтобы получить определенный логарифм. Атака Logjam использовала эту уязвимость для компрометации различных интернет-сервисов, которые позволяли использовать группы, порядок которых представлял собой 512-битное простое число, так называемый уровень экспорта . Авторам потребовалось несколько тысяч процессорных ядер в течение недели для предварительного вычисления данных для одного 512-битного простого числа. Как только это будет сделано, отдельные логарифмы можно будет решить примерно за минуту с помощью двух 18-ядерных процессоров Intel Xeon. [3]

По оценкам авторов атаки Logjam, гораздо более сложные предварительные вычисления, необходимые для решения проблемы дискретного журнала для 1024-битного простого числа, будут стоить порядка 100 миллионов долларов, что вполне укладывается в бюджет крупного национального разведывательного агентства, такого как Агентство национальной безопасности США (АНБ). Авторы Logjam предполагают, что предварительные вычисления на основе широко используемых 1024-битных простых чисел DH лежат в основе утверждений в просочившихся документах АНБ о том, что АНБ способно взломать большую часть современной криптографии. [3]

Чтобы избежать этих уязвимостей, авторы Logjam рекомендуют использовать криптографию на основе эллиптических кривых , для которой не известно ни одной подобной атаки. В противном случае они рекомендуют, чтобы порядок p группы Диффи-Хеллмана составлял не менее 2048 бит. По их оценкам, предварительные вычисления, необходимые для 2048-битного простого числа, в 10 9 раз сложнее, чем для 1024-битного простого числа. [3]

Другое использование

Шифрование

Были предложены схемы шифрования с открытым ключом, основанные на обмене ключами Диффи-Хеллмана. Первой такой схемой является шифрование Эль-Гамаля . Более современный вариант — Integrated Encryption Scheme .

Прямая секретность

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

Соглашение о ключах, подтвержденное паролем

Когда Алиса и Боб используют общий пароль, они могут использовать форму соглашения о ключах с аутентификацией паролем (PK) Диффи-Хеллмана, чтобы предотвратить атаки «человек посередине». Одна простая схема — сравнить хеш-код s , объединенный с паролем, рассчитанным независимо на обоих концах канала. Особенностью этих схем является то, что злоумышленник может проверять только один конкретный пароль на каждой итерации с другой стороной, поэтому система обеспечивает хорошую безопасность при относительно слабых паролях. Этот подход описан в Рекомендации ITU-T X.1035 , которая используется стандартом домашних сетей G.hn.

Примером такого протокола является протокол Secure Remote Password .

Открытый ключ

Также возможно использовать Диффи-Хеллмана как часть инфраструктуры открытых ключей , позволяя Бобу зашифровать сообщение так, чтобы только Алиса могла его расшифровать, без предварительного обмена информацией между ними, кроме того, что Боб доверял знанию открытого ключа Алисы. . Открытый ключ Алисы — . Чтобы отправить ей сообщение, Боб выбирает случайный b , а затем отправляет Алисе (незашифрованное) вместе с сообщением, зашифрованным симметричным ключом . Только Алиса может определить симметричный ключ и, следовательно, расшифровать сообщение, поскольку только у нее есть ( закрытый ключ). Предварительно общий открытый ключ также предотвращает атаки «человек посередине».

На практике алгоритм Диффи-Хеллмана таким образом не используется, поскольку RSA является доминирующим алгоритмом с открытым ключом. Во многом это связано с историческими и коммерческими причинами, а именно с тем, что RSA Security создала центр сертификации для подписи ключей, который стал Verisign . Метод Диффи-Хеллмана, как указано выше, не может использоваться напрямую для подписи сертификатов. Однако с ним математически связаны алгоритмы подписи Эль-Гамаля и DSA , а также MQV , STS и компонент IKE набора протоколов IPsec для защиты связи по Интернет-протоколу .

Смотрите также

Примечания

  1. ^ Синонимы обмена ключами Диффи-Хеллмана включают:
    • Обмен ключами Диффи-Хеллмана-Меркла
    • Ключевое соглашение Диффи-Хеллмана
    • Ключевое заведение Диффи-Хеллмана
    • Ключевые переговоры Диффи-Хеллмана
    • Экспоненциальный обмен ключами
    • Протокол Диффи-Хеллмана
    • Рукопожатие Диффи-Хеллмана

Рекомендации

  1. ^ Меркл, Ральф К. (апрель 1978 г.). «Безопасная связь по незащищенным каналам». Коммуникации АКМ . 21 (4): 294–299. CiteSeerX  10.1.1.364.5157 . дои : 10.1145/359460.359473. S2CID  6967714. Поступило в августе 1975 г.; пересмотрено в сентябре 1977 г.
  2. ^ abc Диффи, Уитфилд ; Хеллман, Мартин Э. (ноябрь 1976 г.). «Новые направления в криптографии» (PDF) . Транзакции IEEE по теории информации . 22 (6): 644–654. CiteSeerX 10.1.1.37.9720 . дои : 10.1109/TIT.1976.1055638. Архивировано (PDF) из оригинала 29 ноября 2014 г. 
  3. ^ abcdef Адриан, Дэвид; и другие. (октябрь 2015 г.). «Несовершенная прямая секретность: как Диффи-Хеллман терпит неудачу на практике» (PDF) . Архивировано (PDF) из оригинала 6 сентября 2015 г.
  4. ^ Эллис, Дж. Х. (январь 1970 г.). «Возможность Несекретного цифрового шифрования» (PDF) . Отчет об исследовании CESG . Архивировано из оригинала (PDF) 30 октября 2014 г. Проверено 28 августа 2015 г.
  5. ^ «Возможность безопасного секретного цифрового шифрования» (PDF) . Архивировано (PDF) из оригинала 16 февраля 2017 г. Проверено 08 июля 2017 г.
  6. ^ «Трио GCHQ признано ключом к обеспечению безопасности покупок в Интернете» . Новости BBC . 5 октября 2010 г. Архивировано из оригинала 10 августа 2014 г. Проверено 5 августа 2014 г.
  7. ^ Патент США 4200770. 
  8. ^ Хеллман, Мартин Э. (май 2002 г.), «Обзор криптографии с открытым ключом» (PDF) , журнал IEEE Communications Magazine , 40 (5): 42–49, CiteSeerX 10.1.1.127.2652 , doi : 10.1109/MCOM.2002.1006971 , S2CID  9504647, заархивировано (PDF) из оригинала 2 апреля 2016 г. 
  9. ^ Вонг, Дэвид (2021). «Стандарты обмена ключами». Криптография реального мира. Мэннинг. ISBN 9781617296710– через Google Книги.
  10. ^ Бухманн, Йоханнес А. (2013). Введение в криптографию (второе изд.). Springer Science+Business Media. стр. 190–191. ISBN 978-1-4419-9003-7.
  11. ^ «Эффективная атака с восстановлением ключа на SIDH» (PDF) . {{cite journal}}: Требуется цитировать журнал |journal=( помощь )
  12. ^ Баркер, Элейн; Чен, Лили; Рогинский, Аллен; Васильев, Апостол; Дэвис, Ричард (16 апреля 2018 г.). Рекомендации по схемам установления парных ключей с использованием криптографии дискретного логарифма (отчет). Национальный институт стандартов и технологий.
  13. ^ Блейк-Уилсон, Саймон; Джонсон, Дон; Менезес, Альфред (1997), Протоколы ключевых соглашений и их анализ безопасности , CiteSeerX 10.1.1.25.387 
  14. ^ Кудла, Кэролайн; Патерсон, Кеннет Г. (2005). «Модульные доказательства безопасности для протоколов соглашения о ключах». В Рое, Бимале (ред.). Достижения в криптологии — ASIACRYPT 2005 . Конспекты лекций по информатике. Том. 3788. Берлин, Гейдельберг: Springer. стр. 549–565. дои : 10.1007/11593447_30 . ISBN 978-3-540-32267-2.
  15. ^ "Тройной Диффи-Хеллман (совместим с ECC). Есть ли на него нападки?" . Проверено 25 ноября 2021 г.
  16. ^ US11025421B2, Фэй, Бьорн, «Расширенное модульное рукопожатие для согласования ключей и дополнительной аутентификации», выпущено 1 июня 2021 г. 
  17. ^ Барбулеску, Разван; Годри, Пьеррик; Жу, Антуан; Томе, Эммануэль (2014). «Эвристический квазиполиномиальный алгоритм дискретного логарифма в конечных полях малой характеристики» (PDF) . Достижения в криптологии – EUROCRYPT 2014 . Материалы 33-й ежегодной международной конференции по теории и применениям криптографических методов. Конспекты лекций по информатике. Том. 8441. Копенгаген, Дания. стр. 1–16. дои : 10.1007/978-3-642-55220-5_1. ISBN 978-3-642-55220-5. Архивировано (PDF) из оригинала 22 марта 2020 г.
  18. ^ «Протокол обмена ключами в Интернете RFC 4306 (IKEv2)» . Internet Engineeringrg/web/20150107073645/http://www.ietf.org/rfc/rfc4306.txt.
  19. ^ Уитфилд Диффи, Пол К. Ван Оршот и Майкл Дж. Винер «Аутентификация и обмен ключами с проверкой подлинности», в Designs, Codes and Cryptography, 2, 107–125 (1992), раздел 5.2, доступно как Приложение B к патенту США № 5,724,425.

Общие ссылки

Внешние ссылки