CN101296076A - 一种基于ecc的数字签名方案 - Google Patents
一种基于ecc的数字签名方案 Download PDFInfo
- Publication number
- CN101296076A CN101296076A CNA2007100490015A CN200710049001A CN101296076A CN 101296076 A CN101296076 A CN 101296076A CN A2007100490015 A CNA2007100490015 A CN A2007100490015A CN 200710049001 A CN200710049001 A CN 200710049001A CN 101296076 A CN101296076 A CN 101296076A
- Authority
- CN
- China
- Prior art keywords
- digital signature
- signature
- montgomery
- territory
- scheme based
- 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.)
- Pending
Links
Images
Landscapes
- Storage Device Security (AREA)
Abstract
本发明公开了一种基于ECC的数字签名方案。利用椭圆曲线标量乘、点加等运算,以及蒙哥马利域的模运算法则,实现快速地数字签名和签名验证。本方案采用移位的方法对不符合要求的随机数进行处理,避免了重新生成随机数的过程;采用移位、截取、补零等方法对杂凑值进行处理,避免了频繁地在大素数域和蒙哥马利域的转换;签名与验证的运算基本都在蒙哥马利域进行运算,避免了耗时的模归约运算。该数字签名方案可用于电子商务、内容保护接口、银行***、军事通信、知识产权保护等环境中。
Description
技术领域
本发明是一种数字签名方案,具体地说是基于椭圆曲线密码体系的一种数字签名与验证方案,其运算过程基本在蒙哥马利域实现。
背景技术
数字签名是密码学中的重要问题之一,它是传统文件手写签名的模拟,能够实现用户对电子形式存放消息的认证。数字签名可以提供数据源认证、数据完整性和不可否认性,通常由可信的认证中心使用数字签名来签署将通信实体和其公钥相绑定的证书。数字签名也可以用于网络环境中的商业交易,其目的是使接收方能够确证发送方的签名,但不能伪造;发送方发出了签了名的消息给接收方后,就不能否认它所签发的消息。
椭圆曲线版的数字签名具有更高的安全性,因为椭圆曲线的求解难度是指数级的,高于以往任何一种密码算法;在相同安全强度下椭圆曲线具有最短的密钥长度,这样就使其对存储空间的要求少;在数字签名与验证、加解密等算法中,椭圆曲线的计算量小,处理速度快;当应用于短消息加密时,椭圆曲线密码***的带宽要求要低得多。在椭圆曲线的运算过程中,有多种算法可以选择,其中的蒙哥马利域运算具有许多比较成熟的快速算法,可以避免耗时的模归约运算等。
目前,基于椭圆曲线的数字签名算法一般在有限域中运算,通常要经过频繁的求逆、求模等十分耗时的数学运算。本方案提出了一种新的数字签名算法,能够应用现有的一些成熟算法达到快速数字签名的目的。
发明内容
本方案是一种基于椭圆曲线的数字签名算法,它具有以下特点:
数字签名方案:
输入:参数组D(p,a,b,G,n,h),私钥d,消息m
输出:签名值(r’,s’)
1、选择随机数k≠0,若k≥n,则k=k>>1,直到k<n。
2、转化参数G、d到蒙哥马利域:G->G’=(x1’,y1’),d->d’。
3、在蒙哥马利域计算kG’=(x’,y’)。
4、在蒙哥马利域计算r’=x’mod n,若r’=0,则k=k>>1,返回第3步。
5、转化参数k到蒙哥马利域:k->k’。
6、计算杂凑值e’=H(m),在高位扩展或截取使e’位宽符合要求,若e’≥n,则e’=e’>>1,直到e’<n。默认e’为蒙哥马利域元素。
7、在蒙哥马利域计算s’=k’-1(e’+d’r’)mod n,若s’=0,则k=k>>1,返回第3步。
8、返回签名值(r’,s’)。
在以上签名过程中,标量乘kG’的输入参数k为大素数域元素,基点坐标(x1’,y1’)为蒙哥马利域元素,在蒙哥马利域进行标量乘的运算,输出参数(x’,y’)仍旧为蒙哥马利域元素。签名与验证采用相同的杂凑值处理方式,这样简化了运算过程,又能保持同样的安全强度。签名结果为蒙哥马利域元素,直接作为签名值(如图2所示)。省去了蒙哥马利域到素数域的转化过程,在签名验证算法中直接对蒙域元素值进行验证。
签名验证方案:
输入:参数组D(p,a,b,G,n,h),公钥R,消息m,签名值(r’,s’)
输出:签名值是否合法
1、检验签名值r’,s’∈[1,n-1],否则,拒绝该签名值。
2、计算杂凑值e’=H(m),在高位扩展或截取使e’位宽符合要求,若e’≥n,则e’=e’>>1,直到e’<n。默认e’为蒙哥马利域元素。
3、在蒙哥马利域计算w’=s’-1 mod n。
4、转化参数到蒙哥马利域:G->G’=(x1’,y1’),R->R’=(x2’,y2’)。
5、在蒙哥马利域计算u1’=e’w’mod n,u2’=r’w’mod n。
6、转化参数u1’、u2’到大素数域:u1’->u1,u2’->u2。
7、在蒙哥马利域计算X’=u1G’+u2R’=(x’,y’)。
8、若X’为无穷远点,则拒绝该签名值。
9、在蒙哥马利域计算v’=x’mod n。
10、若v’=r’,则接受该签名值;否则,拒绝该签名值。
以上验证过程中,输入的签名值(r’,s’)为蒙哥马利域中的元素,直接进行运算,避免了由大素数域到蒙哥马利域的转换。对杂凑值的处理方式同数字签名部分。在标量乘中,虽然是在蒙哥马利域中进行运算,但标量还是以大素数域中的元素表示,而曲线点的坐标应转化到蒙哥马利域。因此要将u1’、u2’转化到大素数域,然后再进行标量乘和点加运算。这里的标量乘和点加运算都是在蒙哥马利域进行的,其输入输出都是蒙哥马利域中的元素。最后签名值的校验,同样在蒙哥马利域中进行,避免了域的转换(如图3所示)。
签名方案证明:
在签名过程中,有s’=k’-1(e’+d’r’)mod n,可知:
k’=s’-1(e’+d’r’)=s’-1e’+s’-1r’d’=u1’+u2’d’
由此k=u1+u2d
在验证过程中,又有公钥R=dG,R’=dG’,则
X’=u1G’+u2R’=(u1+u2d)G’=kG’
由此可以证明:v’=r’
附图说明
图1是本发明的位向量操作示意图
图2是本发明的数字签名过程示意图
图3是本发明的数字签名验证过程示意图
具体实施方式
具体操作实现时,该算法的所有参数均由可信任的第三方权威机构确定。把一部分参数公开,而另一部分参数严格保密,并把相应的参数设置到设备A中去。为简便起见,本实施例选用了NIST所推荐的素数域上的P-192椭圆曲线和一些简单参数。具体过程如下:
1、由权威信任机构选定椭圆曲线参数(p,a,b,G,n,h)等:
椭圆曲线方程y2=x3-ax-b
P=2192-264-1
a=-3(mod p)=p-3=2192-264-22
b=0x 64210519 E59C80E7 0FA7E9AB 72243049 FEB8DEEC C146B9B1
Gx=0x 188DA80E B03090F6 7CBF20EB 43A18800 F4FF0AFD 82FF1012
Gy=0x 07192B95 FFC8DA78 631011ED 6B24CDD5 73F977A1 1E794811
n=0x FFFFFFFF FFFFFFFF FFFFFFFF 99DEF836 146BC9B1 B4D22831
h=1
2、由权威信任机构为设备A选取一个保密的随机数d∈[1,n-1]。为了计算简单此处取值为d=1。计算标量乘R=dG如下:
Rx=0x 188DA80E B03090F6 7CBF20EB 43A18800 F4FF0AFD 82FF1012
Ry=0x 07192B95 FFC8DA78 631011ED 6B24CDD5 73F977A1 1E794811
将d作为设备A的私钥,标量乘R作为设备A的公钥。
3、设备A用私钥d对消息m进行数字签名,得到签名值(r’,s’)。
4、设备B用设备A的公钥R对签名值(r’,s’)进行验证。
Claims (5)
1、一种基于ECC的数字签名方案,利用椭圆曲线密码和蒙哥马利域模运算实现快速的数字签名和验证。其特征是:对待签名的消息m进行哈希运算,得出杂凑值e;使用截取、添加、移位等技术手段产生值e’,e’小于基点G的阶n且位宽与n一致;e’被默认为蒙哥马利域元素,直接参与数字签名或验证运算。
2、根据权利要求1所述的一种基于ECC的数字签名方案,其特征是:数字签名和签名验证算法中,对待签名消息m的哈希值e采用相同的处理方法。
3、根据权利要求2所述的一种基于ECC的数字签名方案,其特征是:在数字签名算法中,要求随机数k≠0;可以采取添加、截取、移位的方法使其位宽与n一致,且使k小于n。
4、根据权利要求3所述的一种基于ECC的数字签名方案,其特征是:数字签名算法中输出的签名值为蒙哥马利域的元素(r’,s’)。
5、根据权利要求4所述的一种基于ECC的数字签名方案,其特征是:签名验证算法中,对签名值(r’,s’)的检查与验证都是在蒙哥马利域中进行的。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA2007100490015A CN101296076A (zh) | 2007-04-29 | 2007-04-29 | 一种基于ecc的数字签名方案 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA2007100490015A CN101296076A (zh) | 2007-04-29 | 2007-04-29 | 一种基于ecc的数字签名方案 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101296076A true CN101296076A (zh) | 2008-10-29 |
Family
ID=40066112
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2007100490015A Pending CN101296076A (zh) | 2007-04-29 | 2007-04-29 | 一种基于ecc的数字签名方案 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101296076A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101441693B (zh) * | 2008-11-25 | 2010-09-01 | 西安理工大学 | 基于椭圆曲线对电子文档数字签名的安全保护方法 |
WO2011039765A2 (en) * | 2009-09-08 | 2011-04-07 | Tata Consultancy Services Ltd. | A system and method for designing digital signature schemes based on message preprocessing functions |
CN102761415A (zh) * | 2011-04-27 | 2012-10-31 | 航天信息股份有限公司 | p元域SM2椭圆曲线的数字签名生成、验证及混合*** |
CN103957110A (zh) * | 2014-05-28 | 2014-07-30 | 拓维信息***股份有限公司 | 基于ecc的移动电子商务安全框架*** |
CN104488219A (zh) * | 2012-03-16 | 2015-04-01 | 德国捷德有限公司 | 用于在射频识别标签和读取设备之间进行安全通信的方法和*** |
CN109582284A (zh) * | 2018-11-16 | 2019-04-05 | 大唐微电子技术有限公司 | 一种芯片中的标量乘实现方法及装置、计算机可读存储介质 |
CN113032845A (zh) * | 2021-03-31 | 2021-06-25 | 郑州信大捷安信息技术股份有限公司 | 一种用于资源受限芯片的EdDSA签名实现方法和装置 |
-
2007
- 2007-04-29 CN CNA2007100490015A patent/CN101296076A/zh active Pending
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101441693B (zh) * | 2008-11-25 | 2010-09-01 | 西安理工大学 | 基于椭圆曲线对电子文档数字签名的安全保护方法 |
WO2011039765A2 (en) * | 2009-09-08 | 2011-04-07 | Tata Consultancy Services Ltd. | A system and method for designing digital signature schemes based on message preprocessing functions |
WO2011039765A3 (en) * | 2009-09-08 | 2011-06-16 | Tata Consultancy Services Ltd. | A system and method for designing digital signature schemes based on message preprocessing functions |
CN102761415A (zh) * | 2011-04-27 | 2012-10-31 | 航天信息股份有限公司 | p元域SM2椭圆曲线的数字签名生成、验证及混合*** |
CN102761415B (zh) * | 2011-04-27 | 2015-04-08 | 航天信息股份有限公司 | p元域SM2椭圆曲线的数字签名生成、验证及混合*** |
CN104488219A (zh) * | 2012-03-16 | 2015-04-01 | 德国捷德有限公司 | 用于在射频识别标签和读取设备之间进行安全通信的方法和*** |
CN104488219B (zh) * | 2012-03-16 | 2018-07-17 | 捷德移动安全有限责任公司 | 用于在射频识别标签和读取设备之间进行安全通信的方法和*** |
CN103957110A (zh) * | 2014-05-28 | 2014-07-30 | 拓维信息***股份有限公司 | 基于ecc的移动电子商务安全框架*** |
CN109582284A (zh) * | 2018-11-16 | 2019-04-05 | 大唐微电子技术有限公司 | 一种芯片中的标量乘实现方法及装置、计算机可读存储介质 |
CN109582284B (zh) * | 2018-11-16 | 2020-11-13 | 大唐微电子技术有限公司 | 一种芯片中的标量乘实现方法及装置、计算机可读存储介质 |
CN113032845A (zh) * | 2021-03-31 | 2021-06-25 | 郑州信大捷安信息技术股份有限公司 | 一种用于资源受限芯片的EdDSA签名实现方法和装置 |
CN113032845B (zh) * | 2021-03-31 | 2022-02-11 | 郑州信大捷安信息技术股份有限公司 | 一种用于资源受限芯片的EdDSA签名实现方法和装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11876901B2 (en) | Elliptic curve random number generation | |
Mallouli et al. | A survey on cryptography: comparative study between RSA vs ECC algorithms, and RSA vs El-Gamal algorithms | |
RU2376651C2 (ru) | Использование изогений для разработки криптосистем | |
EP1467512A1 (en) | Encryption process employing chaotic maps and digital signature process | |
US20080240443A1 (en) | Method and apparatus for securely processing secret data | |
JP7123959B2 (ja) | 楕円曲線点乗算デバイス及び方法 | |
CN111615810A (zh) | 获取数字签名的数据的计算机实现方法和*** | |
CN101296076A (zh) | 一种基于ecc的数字签名方案 | |
Aggarwal et al. | Digital signatures | |
Diffie et al. | New Directions in cryptography (1976) | |
Fanfara et al. | Usage of asymmetric encryption algorithms to enhance the security of sensitive data in secure communication | |
Kuryazov | Development of electronic digital signature algorithms with compound modules and their cryptanalysis | |
WO2023072502A1 (en) | Generating shared keys | |
RU2417410C2 (ru) | Способ хранения и использования криптографического ключа | |
CN117795901A (zh) | 生成数字签名份额 | |
Ahirwal et al. | Signcryption scheme that utilizes elliptic curve for both encryption and signature generation | |
Viswanath et al. | A secure cryptosystem using the decimal expansion of an Irrational number | |
JP2005055488A (ja) | 楕円曲線暗号におけるスカラー倍計算方法と、その装置およびそのプログラム | |
Bjoernsen | Koblitz Curves and its practical uses in Bitcoin security | |
Sahoo et al. | An implementation of elliptic curve cryptography | |
Mohapatra | Signcryption schemes with forward secrecy based on elliptic curve cryptography | |
Toradmalle et al. | Implementation of provably-secure digital signature scheme based on elliptic curve | |
Badawy | Security Evaluation of Different Hashing Functions with RSA for Digital Signature | |
JP4502817B2 (ja) | 楕円曲線スカラー倍計算方法および装置 | |
Prajwal | Digital Signature Algorithm: A Hybrid Approach |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Open date: 20081029 |