5

椭圆曲线 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
             * 
             */

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

4

1 回答 1

9

基本原理是一样的,但是私钥的选择和公钥的计算方式有很大的不同。另外,要使用椭圆曲线,大家必须事先达成一致。

如前所述,在 Diffie-Hellman 的椭圆曲线版本中,您首先要确定要使用椭圆曲线。这决定了一些称为域参数的独立参数。无需太技术化,事实证明,对于加密目的,某些曲线比其他曲线更好,因此参数实际上是仔细选择的,而不是随机选择的。这有点类似于选择好的主要因素。

有两组域参数:

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

EG是必要且充分的,可以描述您需要的所有信息。

在 ECC-DH 中,私钥d是通过在区间 上随机选择一个数字来计算的[1, n-1],其中nG的数。公钥Q由 计算得出。在那之后,一般的想法是一样的,除了你试图解决一个困难的离散对数问题,而不是试图解决一个硬整数分解问题。Q = dG

于 2010-04-23T19:32:45.573 回答