ECDH (Elliptic Curve Diffie-Hellman)

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

ECDH получает общее секретное значение из секретного ключа, принадлежащего объекту A, и открытого ключа, принадлежащего объекту B, когда ключи имеют одни и те же параметры домена эллиптической кривой. Объект A может быть инициатором транзакции проверки ключей или ответчиком в схеме.

Если два объекта правильно выполняют одни и те же операции с соответствующими ключами, создается одно и то же значение.

Как пользоваться

Оба участника должны создать пару из открытого и закрытого ключей ECC. Ключ может быть внутренним или внешним, а также зашифрованным или открытым. Оба ключа должны иметь одинаковые параметры домена эллиптической кривой (тип кривой и размер ключа):

  • Brainpool (размер 160, 192, 224, 256, 320, 384 или 512);
  • Prime (размер 192, 224, 256, 384 или 521);
  • Эдвардс (размер 255, 448);
  • Коблиц (размер 256).

В дополнение к одинаковым параметрам домена эллиптической кривой ключи должны обладать полем использования, установленным для разрешения использования ключа KEY-MGMT либо KM-ONLY.

Технические подробности

  1. Обязательно ключевое слово соглашения о ключах.
  2. Необязательный транспортный тип ключа. Требуется, если output_KEK_key_identifier является меткой, которая определяет, какой набор данных хранилища ключей содержит выходной токен ключа KEK.
  3. Необязательный тип выходного ключа (требуется, если output_key_identifier является меткой), который определяет, какой набор данных хранилища ключей содержит токен выходного ключа.
  4. Когда вывод представляет собой токен ключа DES, необязательный метод переноса ключей и необязательное ключевое слово управления переводом.
  5. Необязательный тип хэша для ключевого слова массива правил DERIV02.
  6. Внутренний или внешний ключ-токен ECC, содержащий закрытый ключ (пара открытый-закрытый ключ).

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