Как работает криптография Диффи-Хеллмана с эллиптической кривой? - PullRequest
3 голосов
/ 23 апреля 2010

Отличается ли расчет эллиптической кривой Диффи-Хеллмана от стандартного, определенного здесь:

            /*
             * The basic Diffie-Hellman Key Agreement Equation 
             * 
             * The client initiates
             * A = g^a mod p
             * 
             * Sends (g p A) to the server
             * 
             * The server calculates B
             * B = g^b mod p
             * 
             * Sends B back to client
             * 
             * The client calculates K
             * K = B^a mod p
             * 
             * The server calucaltes K
             * K = A^b mod p
             * 
             */

Или это просто особый способ выбора g, a, p и b? Как все-таки выбираются g, a, p и b?

1 Ответ

7 голосов
/ 23 апреля 2010

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

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

Существует два набора параметров домена:

  • E , сама эллиптическая кривая.
  • G , точка на E , которая называется базовая точка .

E и G необходимы и достаточны для описания всей необходимой вам информации.

В ECC-DH закрытый ключ d вычисляется путем выбора случайно выбранного числа на интервале [1, n-1], где n - это заказ из G . Открытый ключ Q вычисляется путем взятия Q = dG. После этого общая идея остается прежней, за исключением того, что вместо того, чтобы пытаться решить сложную целочисленную задачу факторизации , вы пытаетесь решить сложный дискретный логарифм проблема .

...