. 1.已知点G=(2,7)在椭圆曲线En1(1,6)上,求2G和3G。
时间: 2024-03-18 20:44:57 浏览: 92
C#已知三点求圆方程算法
根据椭圆曲线的加法规则,可以通过将点 G 与自身相加得到 2G,再将点 G 与 2G 相加得到 3G。
首先,计算斜率 k = (3x1^2 + a) / 2y1,其中 x1 = 2,y1 = 7,a = 1。
k = (3*2^2 + 1) / (2*7) = 13/14
然后,计算 x3 = k^2 - 2x1 = (13/14)^2 - 4 = 101/196
计算 y3 = k(x1 - x3) - y1 = (13/14)(2 - 101/196) - 7 = -3013/2744
因为椭圆曲线是对称的,所以2G 的另一个解是 (x3, -y3)。
因此,2G = (101/196, 3013/2744) 和 (101/196, -3013/2744)。
接下来,我们将点 G 与 2G 相加来得到 3G。
计算斜率 k = (y2 - y1) / (x2 - x1),其中 x1 = 2,y1 = 7,x2 = 101/196,y2 = 3013/2744。
k = (3013/2744 - 7) / (101/196 - 2) = -4619/9409
计算 x3 = k^2 - x1 - x2 = (-4619/9409)^2 - 2 - 101/196 = 390487/8836
计算 y3 = k(x1 - x3) - y1 = (-4619/9409)(2 - 390487/8836) - 7 = 10421677/830584
因为椭圆曲线是对称的,所以3G 的另一个解是 (x3, -y3)。
因此,3G = (390487/8836, 10421677/830584) 和 (390487/8836, -10421677/830584)。
阅读全文