CN1505313A - 椭圆曲线签名和验证签名方法和装置 - Google Patents
椭圆曲线签名和验证签名方法和装置 Download PDFInfo
- Publication number
- CN1505313A CN1505313A CNA021547165A CN02154716A CN1505313A CN 1505313 A CN1505313 A CN 1505313A CN A021547165 A CNA021547165 A CN A021547165A CN 02154716 A CN02154716 A CN 02154716A CN 1505313 A CN1505313 A CN 1505313A
- Authority
- CN
- China
- Prior art keywords
- signature
- function
- certifying
- curve
- value
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Computer And Data Communications (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明是一种椭圆曲线签名方法。其中发送方公开系统参数及其公钥YA,然后生成随机数k,将k与曲线的基点G进行椭圆曲线点乘运算,得到曲线上的点kG,使用函数d将得到的点kG和明文m进行运算,得到r=d(m,kG);函数f0,f1,g0,g1皆为r的函数,使用函数f0,f1,g0,g1和随机数以及私钥xA求解方程f0(r)+f1(r)s=k-xA(g0(r)+g1(r)s)解得s=(k-xAg0(r)-f0(r))(f1(r))-g1(r))-1;接收方接收使用发送方的公钥YA、椭圆曲线基点G以及函数f0,f1,g0,g1计算得到P=(f0(r)+f1(r)s)G+(g0(r)+g1(r)s)YA,使用函数d’计算m’=d’(r,P);将计算得到的m’和接收到的m进行比较;其中上述的函数d和函数d’必须具有以下性质:设函数d形为D=d(x,y),从函数d可以推得y=d’(x,D)。本发明可以缩短具有相同安全强度的签名的长度,加快签名速度。
Description
技术领域
本发明涉及数据签名和验证签名,是利用椭圆曲线离散对数问题的签名和验证签名方法。
背景技术
密码系统分为对称密码系统和非对称密码系统。
对称密码有时也叫传统密码算法,就是加密密钥能够从解密密要中推算出来,反之也成立。在大多数算法中,加/解密密钥是相同的。这些算法也叫秘密密钥算法或单密钥算法,它要求发送者和接收者在安全通信之前,协商一个密钥。对称密码的安全性依赖于密钥,泄密密钥就意味着任何人都能对消息进行加/解密。所以,虽然对称密码的速度很快,但是如何将密钥安全分发给合法使用者却是一个问题。
在专利“密码设备和方法”(“CRYPTOGRAPHIC APPARATUS METHOD”,专利号:US4200770)中给出了一个可以在公开信道中交换密钥的方法和设备,这个方法称为公开密钥交换或称为Diffie-Hellman密钥交换方法。该专利使得通信双方使用一个模幂函数协商和传递他们的秘密信息。攻击者要想获得传递的秘密信息,必须解决离散对数问题。如果使用的参数足够大,解离散对数问题是个难解的问题。
公钥密码,又称非对称密码,则可以有效的解决上述身份验证的问题。公钥密码与只使用一个密钥的对称密码不同,公钥密码学是非对称的,它使用两个独立但有着某种数学联系的密钥:公钥和私钥。这样通信中的接收者保密其私钥,公开其公钥。公钥密码中的最重要的进展就是数字签名,通过公钥密码实现数字签名可以有效的解决上述身份验证的问题。用户A在向B发送信息之前,使用自己的私钥对该信息进行数字签名,用户B在接收到A发送的信息后,使用A公开的公钥验证A的签名,因为只有A拥有其私钥,这就保证了B所收到的信息确实来自于A,并且没有被篡改过,同时也证实了A的身份。
专利“密码通信系统和方法”(“CRYPTOGRAPHIC COMMUNICATIONSSYSTEM AND METHOD”,专利号:US4405829)提出了Rivest,Shamir和Adleman发明的一种公钥密码方法——RSA。RSA公钥密码方法的安全性基于大整数因子分解问题的难解性。但随着目前对安全性要求的不断提高,对RSA密钥长度的要求也越来也高。
Taher ElGamal提出了一种基于欧拉算法的公钥数字签名机制。在这个机制中,发送方A使用模幂函数隐藏私钥x,计算y=gx mod p,并将公钥y公开。接收方B利用私钥进行签名,而B利用A的公钥来验证签名,具体算法如下:
1、预处理过程:获得签名所需要的各项参数
1.1:确定有限域GF(p),即确定素数p;
1.2:确定生成元g;
1.3:选取随机数XA,使得1≤XA≤p-1,将XA作为签名密钥,即私钥;
1.4:计算yA=gxA,yA作为公钥,用来验证签名;
1.6:公开参数g,p,和公钥yA。
2、签名过程:
2.1:发送方公开参数g,p,和公钥yA;
2.2:生成随机数k,其中1≤k≤p-1,利用模幂函数计算得到r=gk;
2.3:对于明文m计算:s=k-1(m-xr)mod p;
2.4:上述获得的(r,s)即为发送方对明文m的签名,发送方将(r,s)以及明文m发送给接收方。
3、验证过程:
3.1:接收方B接收到明文m以及其签名(r,s);
3.2:根据已知参数p,g和A的公钥yA,判断yA r rs mod p是否等于gm mod p,如果是,则验证通过,否则,验证失败
4、结束。
此方法随后被称之为数字签名算法(DSA)。
与E1Gama1数字签名机制相关的数学基础相当复杂,且签名长度相当长。美国专利“在数据交换系统中生成和验证电子签名以及识别签名的方法”(“Method for Identifying Subscribers and for Generatingand Verifying Electronic Signatures in a Data Exchange System”专利号US4,995,082)中,提出了一种安全的生成较短数字签名的方法,其基础是其它具有较低复杂度的数学方法。
在美国专利“数字签名算法”(“Digital Signature Algorithm”专利号US5,231,668)中,在保持相同数学复杂度的情况下,缩短了E1Gama1数字签名的长度。
随后,瑞士的Rueppel和澳大利亚的Nyberg在美国获得了专利“数字签名方法和密钥交换方法”(“Digital Signature Method and KeyAgreement Method”专利号US5,600,725),该专利中的签名方法具有签名、验证速度快和消息恢复的功能。其具体的签名验证过程如下:
1、预处理过程:获得签名所需要的各项参数
1.1:确定有限域GF(p);
1.2:确定生成元g;
1.3:选取随机数XA,使得1≤XA≤p-1,将XA作为用户私钥;
1.4:计算yA=gxA mod p,yA作为用户公钥;
1.6:公开g,p和公钥yA。
2、签名过程:
2.1:获取签名消息m;
2.2:签名者生成随机数k,其中1≤k≤p-1,利用模幂函数
计算r=mg-k mod p;
2.3:计算s=k-xr mod p;
2.4:签名者将消息m和其签名(r,s)发送给接收方。
3、验证过程:
3.1:接收方接收到消息m和其签名(r,s);
3.2:根据已知参数p,g,yA,判断gsyA r mod p是否等于m(mod
p),如果相等,则验证通过,否则,验证失败;
4、结束。
1985年Neal Koblitz和Victor Miller分别提出将椭圆曲线用于公钥密码系统,并用椭圆曲线实现了已存在的公钥密码算法。基于椭圆曲线离散对数问题难解性的密码算法被称为椭圆曲线密码算法(Elliptic Curve Cryptography简称ECC),成为被国际密码界所广泛接受的公钥密码算法。
随后,上文提及的DSA签名机制和NR签名机制陆续被移植到椭圆曲线上,成为ECDSA签名算法和ECNR签名算法,使得签名机制所基于的数学难题,从离散对数问题难解性提升为基于椭圆曲线离散对数问题难解性。
发明内容
本发明的目的在于提出一种新的椭圆曲线签名方法。该签名方法基于椭圆曲线离散对数问题,该问题在数学上具有更高的复杂性,因而具有单位安全强度更高的特点,即可以大大缩短具有相同安全强度的数字签名的长度,加快签名速度,从而更能够满足移动通讯等受限环境的需求;而且该签名算法能够通过参数的选择构造出比DSA数字签名算法在椭圆曲线上的应用ECDSA椭圆曲线数字签名算法更加高效的算法,还能使该算法具有消息恢复的功能,使得用户即使不传递被签名的消息也能进行签名验证。
本发明提供了一种签名和验证签名方法,系统首先确定有限域GF(q),选取椭圆曲线方程E;选取椭圆曲线的基点G,并计算有限域上椭圆曲线点群的阶N。发送方A作为签名者,利用这些系统参数生成自己的私钥XA,其中1≤XA≤N-1,然后利用基点G计算点乘得到椭圆曲线上的点YA=XAG作为公钥。发送者A对于明文m的签名过程步骤以下:
首先,发送方A公开系统参数及其公钥YA,然后生成随机数k,使得k落在区间[1,N-1]上,将k与曲线的基点G进行椭圆曲线点乘运算,得到曲线上的点kG;使用函数d将得到的点kG和明文m进行运算,其中保证无法从d中获取k的值,得到r=d(m,kG)。函数f0,f1,g0,g1皆为r的函数,使用函数f0,f1,g0,g1和随机数以及私钥XA求解方程f0(r)+f1(r)s=k-XA(g0(r)+g1(r)s)解得s=(k-XAg0(r)-f0(r))(f1(r))-g1(r)-1,这样得到的(r,s)即为A对明文m的签名。发送者A将明文m和其签名(r,s)发送给B。
接收方B接收到明文m和其签名(r,s),首先使用公钥YA、椭圆曲线基点G以及函数f0,f1,g0,g1计算得到P=(f0(r)+f1(r)s)G+(g0(r)+g1(r)s)YA,使用函数d’计算m’=d’(r,P)。将计算得到的m’和接收到的m进行比较,如果相同则签名合法,同时m’是从签名结果中恢复得到的明文,如果不同则签名非法。
其中上述的函数d和函数d’必须具有以下性质:设函数d形为D=d(x,y),从函数d可以推得y=d’(x,D),这样得到的函数d可以在上述签名和验证过程中有效的隐藏明文信息和随机数信息;函数d’可以在上述验证过程中恢复得到隐藏的明文信息。
根据本发明的另一个方面,提供一种采用所述椭圆曲线签名和验证签名方法的签名和验证签名的装置,;
附图说明
图1是本发明签名过程的流程图。
图2是本发明验证签名过程的流程图。
图3是本发明的签名和验证签名装置的方框图。
具体实施方式
图1示出本发明的签名过程的流程图。
在步骤101,接收方A公开其公钥YA和系统参数:曲线E、椭圆曲线点群的基点G、椭圆曲线点群的阶N;
在步骤102,接收方A生成随机数k,其中1≤k≤n-1,其中N为椭圆曲线的点群的阶;
在步骤103,将k与基点G作椭圆曲线的点乘运算,得到曲线上的点kG;
在步骤104,获取明文m。当实际消息的长度比可以签名的消息长度长时,消息m可以用Hash函数h(m)的结果替换,即使用私钥对消息m的Hash值h(m)进行签名;在验证时,将接收的消息m先Hash得到h(m),再使用h(m)验证签名;
在步骤105,使用函数d对步骤104中获取的明文m和kG进行运算,得到r=d(m,kG)。其中函数d必须具有以下性质:设d函数形为D=d(x,y),从函数d可以推得函数d’,有y=d’(x,D)这样得到的d函数可以在上述签名和验证过程中有效的隐藏明文信息和随机数信息;d’函数可以在下述验证过程步骤204中恢复得到隐藏的明文信息;
在步骤106,使用函数d对步骤104中获取的明文m和P进行运算,得到r=d(m,P)。使用r的函数f0,f1,g0,g1和随机数以及私钥XA求解方程f0(r)+f1(r)s=k-XA(g0(r)+g1(r)s)解得s=(k-XAg0(r)-f0(r))(f1(r))-g1(r))-1;
在步骤107,在发送签名结果之前,必须判断得到的签名r和s是否为零,如果为零,则必须跳至步骤102,重新选择随机数k,重新对明文m进行签名;
在步骤108,当步骤107中得到的r和s不为零,则得到了A对明文m的签名结果(r,s)。发送者A将明文m和其签名(r,s)发送给B。
至此,签名过程结束。
图2示出本发明的验证签名过程的流程图。
在步骤201,接收方B接收到A发送的明文m和签名(r,s);
在步骤202,B获取系统参数和A的公钥YA;
在步骤203,B使用公钥YA、椭圆曲线基点G以及函数f0,f1,g0,g1计算得到P=(f0(r)+f1(r)s)G+(g0(r)+g1(r)s)YA;
在步骤204,B使用函数d’计算m’=d’(r,P);
在步骤205,B将步骤204中得到的m’和接收到的m进行比较,如果相等,则至步骤206,如果不相等,则至步骤207;
在步骤206,m’和接收到的m相等,验证通过,签名合法;
在步骤206,m’和接收到的m不相等,签名非法。
至此,验证签名过程结束。
在步骤104,当实际消息的长度比可以签名的消息长度长时,消息m可以用Hash函数h(m)的结果替换,即对消息周的Hash值h(m)进行签名;在验证步骤201中,将接收的消息m先使用Hash函数处理得到h(m),再对h(m)验证签名。
如果在签名的消息m中嵌入填充(Padding)信息,则在发送签名时可以不发送消息m,而只发送签名(r,s);在验证时,利用签名(r,s)恢复出消息m,然后利用填充(Padding)信息验证签名的真实性和完整性。
在步骤105中的函数d和步骤204的函数d’必须具有以下性质:设d函数形为D=d(x,y),从函数d可以推得y=d’(x,D),这样得到的d函数可以在上述签名和验证过程中有效的隐藏明文信息和随机数信息;d’函数可以在上述验证过程中恢复得到隐藏的明文信息。d和d’可以包含如下形式:
a)d(m,kG)可以取值为:d(m,kG)=(kG)x=r,则
其中(kG)x和Px分别指的是取点kG和P的横坐标;
b)d(m,kG)可以取值为:d(m,kG)=m(kG)y=r,则
其中(kG)x和Px分别指的是取点kG和P的纵坐标;
c)d(m,kG)可以取值为:d(m,kG)=m(kG)x=r,则d’(r,P)=rPx=m,其中运算也可以使用运算来代替;
d)d(m,kG)可以取值为:d(m,kG)=m(kG)y=r,则d’(r,P)=rPy=m,其中运算也可以使用运算来代替;
e)d(m,kG)可以取值为:d(m,kG)=(m+(kG)x)mod N=r,则d’(r,P)=(r-Px)mod N=m,其中N为点G在椭圆曲线点群的阶;
f)d(m,kG)可以取值为以m为明文,kG为密钥的对称加密函数,而d’(r,P)可以取值为相应的以r为密文,P为密钥的对称解密函数;
g)等等。
步骤106和步骤203中的函数f0,f1,g0,g1均为r的线性函数,为了取得较高的计算效率,可以取如下一些r的简单函数:
h)函数f0,f1,g0,g1可以分别取值为f0(r)=c0*r、f1(r)=c1、g0(r)=c2、g1(r)=c0*r,其中c0、c1、c2为常数且函数f0,f1,g0,g1可以互换;
i)函数f0,f1,g0,g1可以分别取值为f0(r)=c1、f1(r)=c2、g0(r)=c0*r、g1(r)=c3,其中c0、c1、c2、c3为常数且函数f0,f1,g0,g1可以互换;
j)等等。
图3示出本发明的签名和验证签名装置。发送方A和接收方B在一个通信信道上通信时,发送方A使用密钥生成装置340生成密钥对:公钥YA和私钥XA,公布其公钥和系统参数。A使用签名器320,结合图1说明的签名过程对明文m进行签名,并将明文m和签名结果S发送给B。
接收方B接收到明文m和签名结果S,获取系统参数和A的公钥YA,使用验证签名器350,通过结合图2说明的验证对明文m的签名结果S,得到验证结果。
以上结合本发明的最佳实施例对本发明进行了描述,本领域的普通技术人员可以在不偏离本发明的范围的情况下可对其作各种修改和改变。
Claims (24)
1.一种椭圆曲线签名和验证签名方法,其中发送方拥有自己的密钥对:私钥XA和公钥YA,并公布系统参数和公钥YA,发送方使用自己的私钥XA对明文m实现数字签名,并将明文m和签名发送给接收方,接收方可以使用发送方的公钥YA来验证发送方对明文m的签名是否合法,包含以下步骤:
发送方公开系统参数及其公钥YA,然后生成随机数k,使得k落在区间[1,n-1]上,其中N为椭圆曲线的点群的阶,将k与曲线的基点G进行椭圆曲线点乘运算,得到曲线上的点kG,使用函数d将得到的点kG和明文m进行运算,其中保证无法从d中获取k的值,得到r=d(m,kG);函数f0,f1,g0,g1皆为r的函数,使用函数f0,f1,g0,g1和随机数以及私钥XA求解方程f0(r)+f1(r)s=k-xA(g0(r)+g1(r)s)解得s=(k-xAg0(r)-f0(r))(f1(r))-g1(r)-1,这样得到的(r,s)即为发送方对明文m的签名;发送方将明文m和其签名(r,s)发送给接收方;
接收方接收到明文m和发送方对m的签名(r,s),首先使用发送方的公钥YA、椭圆曲线基点G以及函数f0,f1,g0,g1计算得到P=(f0(r)+f1(r)s)G+(g0(r)+g1(r)s)YA,使用函数d’计算m’=d’(r,P);将计算得到的m’和接收到的m进行比较,如果相同则签名合法,同时m’是从签名结果中恢复得到的明文,如果不同则签名非法;
其中上述的函数d和函数d’必须具有以下性质:设函数d形为D=d(x,y),从函数d可以推得y=d’(x,D)。
2.如权利要求1的椭圆曲线签名和验证签名方法,其中当实际消息m的长度比可以签名的消息长度长时,消息m可以用Hash函数h(m)的结果替换,即使用私钥对消息m的Hash值h(m)进行签名;在验证时,将接收的消息m先Hash得到h(m),再使用h(m)验证签名。
3.如权利要求1的椭圆曲线签名和验证签名方法,其中,如果在签名的消息m中嵌入填充信息,则在发送签名时可以不发送消息m,而只发送签名(r,s);在验证时,利用签名(r,s)恢复出消息m,然后利用填充信息验证签名的真实性和完整性。
4.如权利要求1的椭圆曲线签名和验证签名方法,其中函数d和函数d’必须具有以下性质:设d函数形为D=d(x,y),从函数d可以推得y=d’(x,D),这样得到的d函数可以在上述签名和验证过程中有效的隐藏明文信息和随机数信息;d’函数可以在上述验证过程中恢复得到隐藏的明文信息。
5.如权利要求1的椭圆曲线签名和验证签名方法,其中函数d和函数d’取为:当d(m,kG)取值为d(m,kG)=m(kG)x=r时,则 其中(kG)x和Px分别指的是取点kG和P的横坐标。
6.如权利要求1的椭圆曲线签名和验证签名方法,其中函数d和函数d’取为:当d(m,kG)取值为d(m,kG)=m(kG)y=r时,则 其中(kG)x和Px分别指的是取点kG和P的纵坐标。
7.如权利要求1的椭圆曲线签名和验证签名方法,其中函数d和函数d’取为:当d(m,kG)取值为d(m,kG)=m(kG)x=r时,则d’(r,P)=rPx=m,其中运算也可以使用运算来代替。
8.如权利要求1的椭圆曲线签名和验证签名方法,其中函数d和函数d’取为:当d(m,kG)取值为d(m,kG)=m(kG)y=r时,则d’(r,P)=rPy=m,其中运算也可以使用运算来代替。
9.如权利要求1的椭圆曲线签名和验证签名方法,其中函数d和函数d’取为:当d(m,kG)取值为以m为明文,kG为密钥的对称加密函数时,而d’(r,P)可以取值为相应的以r为密文,P为密钥的对称解密函数。
10.如权利要求1的椭圆曲线签名和验证签名方法,其中函数f0,f1,g0,g1均为r的线性函数。
11.如权利要求1的椭圆曲线签名和验证签名方法,其中函数f0,f1,g0,g1取为:f0(r)=c0*r、f1(r)=c1、g0(r)=c2、g1(r)=c0*r,其中c0、c1、c2为常数且函数f0,f1,g0,g1可以互换。
12.如权利要求1的椭圆曲线签名和验证签名方法,其中函数f0,f1,g0,g1可以分别取值为f0(r)=c1、f1(r)=c2、g0(r)=c0*r、g1(r)=c3,其中c0、c1、c2、c3为常数且函数f0,f1,g0,g1可以互换。
13.一种椭圆曲线签名和验证签名系统,包括密钥生成装置(340),签名装置(320)和验证签名装置(350),其中该系统的发送方使用所述密钥生成装置(340)生成密钥对:私钥XA和公钥YA,并公布系统参数和公钥YA,并使用所述签名器(320)利用自己的私钥XA对明文m实现数字签名,其中所述签名器(320)执行:
公开系统参数及其公钥YA,然后生成随机数k,使得k落在区间[1,N-1]上,其中N为椭圆曲线的点群的阶,将k与曲线的基点G进行椭圆曲线点乘运算,得到曲线上的点kG;使用函数d将得到的点kG和明文m进行运算,其中保证无法从d中获取k的值,得到r=d(m,kG);函数f0,f1,g0,g1皆为r的函数,使用函数f0,f1,g0,g1和随机数以及私钥XA求解方程f0(r)+f1(r)s=k-XA(g0(r)+g1(r)s)解得s=(k-XAg0(r)-f0(r))(f1(r))-g1(r))-1,这样得到的(r,s)即为发送方对明文m的签名;发送方将明文m和其签名(r,s)发送给接收方;
所述验证签名器(320)执行:
接收明文m和发送方对m的签名(r,s),首先使用发送方的公钥YA、椭圆曲线基点G以及函数f0,f1,g0,g1计算得到P=(g0(r)+f1(r)s)G+(g0(r)+g1(r)s)YA,使用函数d’计算m’=d’(r,P);将计算得到的m’和接收到的m进行比较,如果相同则签名合法,同时m’是从签名结果中恢复得到的明文,如果不同则签名非法;
其中上述的函数d和函数d’必须具有以下性质:设函数d形为D=d(x,y),从函数d可以推得y=d’(x,D)。
14.如权利要求13的椭圆曲线签名和验证签名系统,其中当实际消息m的长度比可以签名的消息长度长时,签名器将消息m替换为Hash函数h(m)的结果,即使用私钥对消息m的Hash值h(m)进行签名;在验证时,验证签名器将接收的消息m先Hash得到h(m),再使用h(m)验证签名。
15.如权利要求13的椭圆曲线签名和验证签名系统,其中,如果在签名的消息m中嵌入填充信息,则在发送签名时可以不发送消息m,而只发送签名(r,s);在验证时,利用签名(r,s)恢复出消息m,然后利用填充信息验证签名的真实性和完整性。
16.如权利要求13的椭圆曲线签名和验证签名系统,其中函数d和函数d’必须具有以下性质:设d函数形为D=d(x,y),从函数d可以推得y=d’(x,D),这样得到的d函数可以在上述签名和验证过程中有效的隐藏明文信息和随机数信息;d’函数可以在上述验证过程中恢复得到隐藏的明文信息。
17.如权利要求13的椭圆曲线签名和验证签名系统,其中函数d和函数d’取为:当d(m,kG)取值为d(m,kG)=m(kg)x=r时,则 其中(kG)x和Px分别指的是取点kG和P的横坐标。
18.如权利要求13的椭圆曲线签名和验证签名系统,其中函数d和函数d’取为:当d(m,kG)取值为d(m,kG)=m(kg)y=r时,则 其中(kG)x和Px分别指的是取点kG和P的纵坐标。
19.如权利要求13的椭圆曲线签名和验证签名系统,其中函数d和函数d’取为:当d(m,kG)取值为d(m,kG)=m(kG)x=r时,则d’(r,P)=rPx=m,其中运算也可以使用运算来代替。
20.如权利要求13的椭圆曲线签名和验证签名系统,其中函数d和函数d’取为:当d(m,kG)取值为d(m,kG)=m(kG)y=r时,则d’(r,P)=rPy=m,其中运算也可以使用运算来代替。
21.如权利要求13的椭圆曲线签名和验证签名系统,其中函数d和函数d’取为:当d(m,kG)取值为以m为明文,kG为密钥的对称加密函数时,而d’(r,P)可以取值为相应的以r为密文,P为密钥的对称解密函数。
22.如权利要求13的椭圆曲线签名和验证签名系统,其中函数f0,f1,g0,g1均为r的线性函数。
23.如权利要求13的椭圆曲线签名和验证签名系统,其中函数f0,f1,g0,g1取为:f0(r)=c0*r、f1(r)=c1、g0(r)=c2、g1(r)=c0*r,其中c0、c1、c2为常数且函数f0,f1,g0,g1可以互换。
24.如权利要求13的椭圆曲线签名和验证签名系统,其中函数f0,f1,g0,g1可以分别取值为f0(r)=c1、f1(r)=c2、g0(r)=c0*r、g1(r)=c3,其中c0、c1、c2、c3为常数且函数f0,f1,g0,g1可以互换。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB021547165A CN100440776C (zh) | 2002-11-29 | 2002-11-29 | 椭圆曲线签名和验证签名方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB021547165A CN100440776C (zh) | 2002-11-29 | 2002-11-29 | 椭圆曲线签名和验证签名方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1505313A true CN1505313A (zh) | 2004-06-16 |
CN100440776C CN100440776C (zh) | 2008-12-03 |
Family
ID=34235561
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB021547165A Expired - Lifetime CN100440776C (zh) | 2002-11-29 | 2002-11-29 | 椭圆曲线签名和验证签名方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100440776C (zh) |
Cited By (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2006074611A1 (fr) * | 2005-01-14 | 2006-07-20 | Xianghao Nan | Procede et dispositif pour generer une cle privee sur la base d'un identifiant |
CN101079701B (zh) * | 2006-05-22 | 2011-02-02 | 北京华大信安科技有限公司 | 高安全性的椭圆曲线加解密方法和装置 |
CN101547099B (zh) * | 2009-05-07 | 2011-08-03 | 张键红 | 基于椭圆曲线的自认证签名方法与装置 |
CN101488958B (zh) * | 2009-02-20 | 2011-09-07 | 东南大学 | 一种使用椭圆曲线进行的大集群安全实时通讯方法 |
CN101296075B (zh) * | 2007-04-29 | 2012-03-21 | 四川虹微技术有限公司 | 一种基于椭圆曲线的身份认证系统 |
CN102487321A (zh) * | 2010-12-03 | 2012-06-06 | 航天信息股份有限公司 | 一种签密方法和系统 |
CN101507176B (zh) * | 2005-07-01 | 2012-07-04 | 微软公司 | 椭圆曲线点乘法 |
CN101427500B (zh) * | 2006-04-24 | 2013-06-05 | 摩托罗拉移动公司 | 椭圆曲线公钥加密确认的方法 |
CN104660399A (zh) * | 2013-11-25 | 2015-05-27 | 上海复旦微电子集团股份有限公司 | 一种rsa模幂运算方法和装置 |
CN101385305B (zh) * | 2006-01-30 | 2015-08-19 | 西门子公司 | 在第一通信设备与第二通信设备之间约定公用密钥的方法和设备 |
CN104866779A (zh) * | 2015-04-07 | 2015-08-26 | 福建师范大学 | 一种控制电子文件生命周期及安全删除的方法及系统 |
CN106685651A (zh) * | 2016-12-22 | 2017-05-17 | 北京信安世纪科技有限公司 | 一种客户端和服务端协作生成数字签名的方法 |
CN103701598B (zh) * | 2013-12-05 | 2017-07-11 | 武汉信安珞珈科技有限公司 | 一种基于sm2签名算法的复核签名方法和数字签名设备 |
CN107257284A (zh) * | 2016-06-24 | 2017-10-17 | 收付宝科技有限公司 | 一种用于进行虚拟卡交易的方法和装置 |
CN107395370A (zh) * | 2017-09-05 | 2017-11-24 | 深圳奥联信息安全技术有限公司 | 基于标识的数字签名方法和装置 |
CN107612934A (zh) * | 2017-10-24 | 2018-01-19 | 济南浪潮高新科技投资发展有限公司 | 一种基于密钥分割的区块链移动端计算系统和方法 |
CN109104712A (zh) * | 2018-07-17 | 2018-12-28 | 葫芦岛智多多科技有限责任公司 | 一种基于nfc功能的无线充值加密系统及其加密方法 |
CN110022210A (zh) * | 2019-03-28 | 2019-07-16 | 思力科(深圳)电子科技有限公司 | 基于椭圆曲线密码的签名验签方法、签名端以及验签端 |
CN111125782A (zh) * | 2019-12-24 | 2020-05-08 | 兴唐通信科技有限公司 | 一种不可克隆芯片id的验证方法及系统 |
CN111475856A (zh) * | 2020-04-03 | 2020-07-31 | 数据通信科学技术研究所 | 数字签名方法和验证数字签名的方法 |
CN113225190A (zh) * | 2021-02-08 | 2021-08-06 | 数字兵符(福州)科技有限公司 | 一种使用新难题的量子安全的数字签名方法 |
CN113810195A (zh) * | 2021-06-04 | 2021-12-17 | 国网山东省电力公司 | 一种电力培训仿真考核数据的安全传输方法及装置 |
CN114065171A (zh) * | 2021-11-11 | 2022-02-18 | 北京海泰方圆科技股份有限公司 | 一种身份认证方法、装置、系统、设备及介质 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109889341A (zh) * | 2019-01-15 | 2019-06-14 | 思力科(深圳)电子科技有限公司 | 数据处理方法、电子标签及射频读卡器 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5271061A (en) * | 1991-09-17 | 1993-12-14 | Next Computer, Inc. | Method and apparatus for public key exchange in a cryptographic system |
US6088798A (en) * | 1996-09-27 | 2000-07-11 | Kabushiki Kaisha Toshiba | Digital signature method using an elliptic curve, a digital signature system, and a program storage medium having the digital signature method stored therein |
EP0874307B2 (en) * | 1997-03-25 | 2016-12-28 | Certicom Corp. | Accelerated finite field operations on an elliptic curve |
EP1710951A3 (en) * | 1997-07-17 | 2006-10-25 | Matsushita Electric Industrial Co., Ltd. | Elliptic curve calculation apparatus capable of calculating multiples at high speed |
CN1280726A (zh) * | 1997-12-05 | 2001-01-17 | 保密信息技术公司 | 优化椭圆曲线密码计算的变换方法 |
JPH11231779A (ja) * | 1998-02-19 | 1999-08-27 | Nippon Telegr & Teleph Corp <Ntt> | 楕円曲線を用いたブラインド署名方法、その装置およびプログラム記録媒体 |
CN1108041C (zh) * | 1999-12-01 | 2003-05-07 | 陈永川 | 运用椭圆曲线加密算法的数字签名方法 |
-
2002
- 2002-11-29 CN CNB021547165A patent/CN100440776C/zh not_active Expired - Lifetime
Cited By (33)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2006074611A1 (fr) * | 2005-01-14 | 2006-07-20 | Xianghao Nan | Procede et dispositif pour generer une cle privee sur la base d'un identifiant |
CN101507176B (zh) * | 2005-07-01 | 2012-07-04 | 微软公司 | 椭圆曲线点乘法 |
CN101385305B (zh) * | 2006-01-30 | 2015-08-19 | 西门子公司 | 在第一通信设备与第二通信设备之间约定公用密钥的方法和设备 |
CN101427500B (zh) * | 2006-04-24 | 2013-06-05 | 摩托罗拉移动公司 | 椭圆曲线公钥加密确认的方法 |
CN101079701B (zh) * | 2006-05-22 | 2011-02-02 | 北京华大信安科技有限公司 | 高安全性的椭圆曲线加解密方法和装置 |
CN101296075B (zh) * | 2007-04-29 | 2012-03-21 | 四川虹微技术有限公司 | 一种基于椭圆曲线的身份认证系统 |
CN101488958B (zh) * | 2009-02-20 | 2011-09-07 | 东南大学 | 一种使用椭圆曲线进行的大集群安全实时通讯方法 |
CN101547099B (zh) * | 2009-05-07 | 2011-08-03 | 张键红 | 基于椭圆曲线的自认证签名方法与装置 |
CN102487321A (zh) * | 2010-12-03 | 2012-06-06 | 航天信息股份有限公司 | 一种签密方法和系统 |
CN102487321B (zh) * | 2010-12-03 | 2014-07-02 | 航天信息股份有限公司 | 一种签密方法和系统 |
CN104660399A (zh) * | 2013-11-25 | 2015-05-27 | 上海复旦微电子集团股份有限公司 | 一种rsa模幂运算方法和装置 |
CN104660399B (zh) * | 2013-11-25 | 2018-02-23 | 上海复旦微电子集团股份有限公司 | 一种rsa模幂运算方法和装置 |
CN103701598B (zh) * | 2013-12-05 | 2017-07-11 | 武汉信安珞珈科技有限公司 | 一种基于sm2签名算法的复核签名方法和数字签名设备 |
CN104866779A (zh) * | 2015-04-07 | 2015-08-26 | 福建师范大学 | 一种控制电子文件生命周期及安全删除的方法及系统 |
CN104866779B (zh) * | 2015-04-07 | 2018-05-11 | 福建师范大学 | 一种控制电子文件生命周期及安全删除的方法及系统 |
CN107257284A (zh) * | 2016-06-24 | 2017-10-17 | 收付宝科技有限公司 | 一种用于进行虚拟卡交易的方法和装置 |
CN107257284B (zh) * | 2016-06-24 | 2020-05-19 | 收付宝科技有限公司 | 一种用于进行虚拟卡交易的方法和装置 |
CN106685651A (zh) * | 2016-12-22 | 2017-05-17 | 北京信安世纪科技有限公司 | 一种客户端和服务端协作生成数字签名的方法 |
CN107395370A (zh) * | 2017-09-05 | 2017-11-24 | 深圳奥联信息安全技术有限公司 | 基于标识的数字签名方法和装置 |
CN107395370B (zh) * | 2017-09-05 | 2020-07-14 | 深圳奥联信息安全技术有限公司 | 基于标识的数字签名方法和装置 |
CN107612934A (zh) * | 2017-10-24 | 2018-01-19 | 济南浪潮高新科技投资发展有限公司 | 一种基于密钥分割的区块链移动端计算系统和方法 |
CN109104712A (zh) * | 2018-07-17 | 2018-12-28 | 葫芦岛智多多科技有限责任公司 | 一种基于nfc功能的无线充值加密系统及其加密方法 |
CN109104712B (zh) * | 2018-07-17 | 2021-04-30 | 北京神州安付科技股份有限公司 | 一种基于nfc功能的无线充值加密系统及其加密方法 |
CN110022210A (zh) * | 2019-03-28 | 2019-07-16 | 思力科(深圳)电子科技有限公司 | 基于椭圆曲线密码的签名验签方法、签名端以及验签端 |
CN111125782A (zh) * | 2019-12-24 | 2020-05-08 | 兴唐通信科技有限公司 | 一种不可克隆芯片id的验证方法及系统 |
CN111475856A (zh) * | 2020-04-03 | 2020-07-31 | 数据通信科学技术研究所 | 数字签名方法和验证数字签名的方法 |
CN111475856B (zh) * | 2020-04-03 | 2023-12-22 | 数据通信科学技术研究所 | 数字签名方法和验证数字签名的方法 |
CN113225190A (zh) * | 2021-02-08 | 2021-08-06 | 数字兵符(福州)科技有限公司 | 一种使用新难题的量子安全的数字签名方法 |
CN113225190B (zh) * | 2021-02-08 | 2024-05-03 | 数字兵符(福州)科技有限公司 | 一种使用新难题的量子安全的数字签名方法 |
CN113810195A (zh) * | 2021-06-04 | 2021-12-17 | 国网山东省电力公司 | 一种电力培训仿真考核数据的安全传输方法及装置 |
CN113810195B (zh) * | 2021-06-04 | 2023-08-15 | 国网山东省电力公司 | 一种电力培训仿真考核数据的安全传输方法及装置 |
CN114065171A (zh) * | 2021-11-11 | 2022-02-18 | 北京海泰方圆科技股份有限公司 | 一种身份认证方法、装置、系统、设备及介质 |
CN114065171B (zh) * | 2021-11-11 | 2022-07-08 | 北京海泰方圆科技股份有限公司 | 一种身份认证方法、装置、系统、设备及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN100440776C (zh) | 2008-12-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1505313A (zh) | 椭圆曲线签名和验证签名方法和装置 | |
EP1083700B1 (en) | Hybrid digital signature scheme | |
AU719462B2 (en) | Cyclotomic polynomial construction of discrete logarithm cryptosystems over finite fields | |
CN1902853A (zh) | 一种公开密钥的可验证生成的方法和设备 | |
CN104052606B (zh) | 数字签名、签名认证装置以及数字签名方法 | |
CN101873307A (zh) | 基于身份的前向安全的数字签名方法、装置及系统 | |
CN101079701A (zh) | 高安全性的椭圆曲线加解密方法和装置 | |
CN105025474B (zh) | 一种面向无线传感网的轻量级数字签名方法 | |
WO2006104362A1 (en) | Fast batch verification method and apparatus there-of | |
CN1554047A (zh) | 计算模指数结果之装置及方法 | |
US7904721B2 (en) | Digital certificates | |
US20010014153A1 (en) | Key validation scheme | |
CN110601859A (zh) | 一种基于25519椭圆曲线的无证书公钥密码签名方法 | |
CN100452695C (zh) | 椭圆曲线加密解密方法和装置 | |
CN1905447A (zh) | 一种认证加密方法和电子邮件系统 | |
Saho et al. | Securing document by digital signature through RSA and elliptic curve cryptosystems | |
CN1456993A (zh) | 一种用户计算机之间交换密钥的方法 | |
US20080072055A1 (en) | Digital signature scheme based on the division algorithm and the discrete logarithm problem | |
Li et al. | Group-oriented (t, n) threshold digital signature schemes with traceable signers | |
US20100150343A1 (en) | System and method for encrypting data based on cyclic groups | |
CN1268086C (zh) | 基于环的签名方案 | |
Tahat | Convertible multi-authenticated encryption scheme with verification based on elliptic curve discrete logarithm problem | |
EP1025674A1 (en) | Signature verification for elgamal schemes | |
CN1464678A (zh) | 基于半群上离散对数问题的数字签名及验证的方法 | |
Brown et al. | A small subgroup attack on Arazi’s key agreement protocol |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CX01 | Expiry of patent term | ||
CX01 | Expiry of patent term |
Granted publication date: 20081203 |