当前位置:   article > 正文

椭圆曲线上两种基本的运算:点集运算、P+Q详解_椭圆曲线点加运算

椭圆曲线点加运算

椭圆曲线简介

RSA密码体制在我们现在还是非常常用的,但是当今,计算机运算速度之快给该加密方式带来了一定的威胁,为了保证安全性,它的密钥长度需要一再地增大,使其运算负担也随之增大。相比下,椭圆密码体制ECC(elliptic curve cryptography)可以用短得多的密钥获得同样的安全性,因而具有广泛的前景,如果没记错的话,区块链技术就有用到椭圆曲线密码体制,感兴趣的小伙伴可以了解了解。

在密码中,比较普遍的是采用有限域的椭圆曲线,有限域的椭圆曲线指的是曲线方程y2+axy+by=x3+cx2+dx+e(一般形式)中,所有系数都是某一有限域GF(p)中的元素(其中p为一个大素数)。(GF(p)是定义在整数集合{0, 1, 2, …, p-1}上的域,GF(p)上的加法和乘法分别是模加法和模乘法)。其中最常用的曲线方程是y2≡x3+ax+b(mod p)(其中a,b属于GF(p),4a3+27b2≠0)。

基本运算一:求椭圆曲线上的点集

查阅了很多网上的资料,椭圆曲线上的点集计算大多数的人都是通过代码或者伪代码(大多都是用暴力穷举)来表示给我们看。但是对于需要考试,用笔计算的我来说可能不太适用,所以在此,想和大家分享下动笔计算的方法。

步骤

以我们假定的椭圆曲线为例,即:椭圆曲线方程为:y2≡x3+x+1,p=23。所以满足a,b属于GF(p),4a3+27b2≠0。下面就开始计算点集E23(1,1),我们可以进行计算第一象限的点集,即{(x, y)|0<=x<p, 0<=y<p, x, y均为整数}:
1.对于每一x计算x3+ax+b(mod p),记录其值,假定为x’。
2. 对于每一个y计算y2(mod p),记录其值,假定为y’。
3. 如果x’==y’,就记录(x, y)这一点就是椭圆曲线点集中的一点。
4. 在这个例子中,x可以有23种可能,y也可能有23种可能,所以我们要计算232个点。
5. 最终满足条件的点所构成的集合就是该曲线方程的点集。
我们可以从步骤种看出我们所需要计算量之大,因此用程序跑,可能会省时省力。

基本运算二:P+Q

在这个计算中,P点和Q点的相加不是我们初高中所列的式子(x1+x2, y1+y2)这么简单,椭圆密码体制下的P+Q有其一套运算。

步骤

假定P点为(x1, y1),Q点为(x2, y2),P+Q为(x3, y3),因此P+Q由以下规则确定:

  1. x3
    声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/不正经/article/detail/612245
推荐阅读
相关标签