Diffie-Hellman密码学的椭圆曲线版本如何工作?

cma*_*uro 3 elliptic-curve diffie-hellman

椭圆曲线diffie hellman计算是否与此处定义的标准曲线有任何不同:

            /*
             * 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
             * 
             */
Run Code Online (Sandbox Code Playgroud)

或者它只是选择g,a,p和b的特定方式?无论如何选择g,a,p和b?

Joh*_*lla 7

基本原理是相同的,但私钥的选择以及如何计算公钥是显着不同的.此外,每个人都必须事先同意椭圆曲线才能使用.

如前所述,在的Diffie-Hellman的椭圆曲线版本,你首先决定哪些你使用椭圆曲线.这确定了许多称为域参数的独立参数.在没有太过技术性的情况下,事实证明有些曲线比其他曲线更好用于加密目的,因此参数实际上是谨慎选择而不是随机选择.这有点类似于选择良好的素因子.

有两组域参数:

  • E,椭圆曲线本身.
  • G,E上的一个点,称为基点.

EG对于描述您需要的所有信息是必要且充分的.

在ECC-DH,私钥d通过取在间隔随机选择的数计算的[1, n-1],其中,n顺序ģ.公钥Q是通过取计算Q = dG.在那之后,一般的想法是相同的,除了不是试图解决硬整数分解问题,而是试图解决硬离散对数问题.

  • 那么,标准DH也是离散对数问题而不是整数分解问题.它还有域参数. (3认同)