CN101296072A - 一种椭圆曲线上的共享密钥产生方法 - Google Patents

一种椭圆曲线上的共享密钥产生方法 Download PDF

Info

Publication number
CN101296072A
CN101296072A CNA2007100489997A CN200710048999A CN101296072A CN 101296072 A CN101296072 A CN 101296072A CN A2007100489997 A CNA2007100489997 A CN A2007100489997A CN 200710048999 A CN200710048999 A CN 200710048999A CN 101296072 A CN101296072 A CN 101296072A
Authority
CN
China
Prior art keywords
elliptic curve
shared key
xyg
equipment
generation method
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
Application number
CNA2007100489997A
Other languages
English (en)
Other versions
CN101296072B (zh
Inventor
王志辉
刘兆彬
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sichuan Hongwei Technology Co Ltd
Original Assignee
Sichuan Hongwei Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Sichuan Hongwei Technology Co Ltd filed Critical Sichuan Hongwei Technology Co Ltd
Priority to CN2007100489997A priority Critical patent/CN101296072B/zh
Publication of CN101296072A publication Critical patent/CN101296072A/zh
Application granted granted Critical
Publication of CN101296072B publication Critical patent/CN101296072B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

本发明公开了一种椭圆曲线上的共享密钥产生方法。利用椭圆曲线离散对数的难以分解性、DH交换协议以及杂凑函数等,实现快速、安全地产生共享密钥。假设A与B进行密钥交换,由可信任机构产生x、xG分配给A,y、yG分配给B。A、B交换x、y,并分别计算出共享密钥xyG,然后以杂凑函数验证共享密钥的一致性。该方法不仅执行速度快,而且安全强度极高,可以用于数字内容保护接口、电子商务、银行系统、智能卡、身份验证等软硬件环境中。

Description

一种椭圆曲线上的共享密钥产生方法
技术领域
本发明是一种共享密钥的产生方法,具体地说是基于椭圆曲线密码体系的一种密钥交换方法。
背景技术
信息安全一直是各国政府、企事业单位以及个人在信息传递过程中所关注的焦点问题。例如在军事通信中要对所传送的信息内容进行加密,以防止敌方窃取重要信息;在银行系统中要保证交易双方的秘密信息不被泄漏,要保证对方身份的真实有效性等;在知识产权领域,需要通过对知识产权内容进行加密、签名等手段保证不被非法窃取。对于高带宽的数字内容传输要求,只能采用分组密码或者流密码等对称密码体制进行加密,加密与解密设备使用相同的密钥。对于对称密码体制,通信双方必须就密钥的秘密性和真实性达成一致。在密钥的分发上存在着诸多不便,有时也是不现实的,例如在消费电子领域,不可能任何两个设备都拥有相同的密钥,或者一个设备拥有其他所有设备的密钥,这样也是不安全的。从而需要在任何两个进行密文传送的设备之间现场生成共享密钥,以供通信双方对称加解密所用。
1976年Diffie和Hellman在“密码学的新方向”提出了公钥密码的思想,开创了公钥密码学的新纪元。公钥密码体制中的DH密钥交换可以有效地解决共享密钥的产生问题,克服了对称密码系统的不足。通信双方通过交换一个参数值,双方就可以产生一个相同的共享密钥。公钥密码体制的安全性都是基于求解某个数学难题的,其中的椭圆曲线密码算法具有多方面的优点。椭圆曲线的求解难度是指数级的,高于以往任何一种密码算法;在相同安全强度下椭圆曲线具有最短的密钥长度,这样就使其减少对存储空间的要求;在数字签名与验证、加解密等算法中,椭圆曲线的计算量小,处理速度快;当应用于短消息加密时,椭圆曲线密码系统的带宽要求要低得多。
目前有多种共享密钥的产生算法,比如基于RSA的DH密钥交换算法和基于ECC的DH密钥交换算法等。基于RSA的DH密钥交换算法的安全强度以及运算速度、运算量等明显不如基于ECC的DH密钥交换算法。前述的基于ECC的DH密钥交换算法只要求整数x、y是保密的,而其他的参数都是公开的,其交换的参数是现场计算的标量乘结果xG和yG,如图1所示。如果选取的整数值x、y比较小,通过椭圆曲线基点G和xG或者yG就可能计算出x、y的值,从而降低共享密钥的安全性。
本方法提出了一种崭新的密钥交换思路,预计算xG和yG的值,并保密椭圆曲线基点G和xG或者yG等信息,通过交换整数值x、y产生共享密钥xyG。这种方法减少了通信双方的通信量和密钥交换时的计算量,同时仅仅通过x、y的值也根本无法求解椭圆曲线点G、xG和yG,因此具有更高的安全强度。
发明内容
本方法的目的是利用公钥密码体制中的椭圆曲线算法和DH交换算法,通过交换两个整数值x、y产生一个用于对称密码系统的共享密钥。该方法如下:
1、首先选定椭圆曲线参数(p,a,b,G,n,h)等;
其中需要公开的参数为:
p为素域Fp的阶,a、b为椭圆曲线y2=x3+ax+b的系数;
需要严格保密的参数为:
G为椭圆曲线上的一个点,n为点G的阶,h为余因子。
2、分别为设备A和B选择两个参数:x、y,要求x、y∈[1,n-1],并计算椭圆曲线标量乘xG和yG。将x和xG分配给设备A,将y和yG分配给设备B,并严格保密xG和yG。
3、设备A发送x给设备B,设备B发送y给设备A。在x与y值的位宽选择上,因为x、y∈[1,n-1],所以可以选择与n同宽。
4、设备A计算标量乘y·xG得到共享密钥xyG;设备B计算标量乘x·yG,得到共享密钥xyG。
5、设备A和设备B分别检查计算出的xyG是否为无穷远点,若是则返回第2步重新选择密钥交换参数x、y,如图2所示。
由于信道干扰等原因导致出现误码,通信双方生成的共享密钥不一定相同,可以执行以下步骤检测其共享密钥是否一致。
6、设备A和设备B分别用数字摘要函数计算共享密钥xyG的哈希值h1和h1’,并由一方将计算出哈希值发送给对方。
7、另一方将接收到哈希值同自己计算的哈希值进行比较,若h1=h1’,则密钥交换成功;否则,返回第3步重新执行密钥交换,如图3所示。
在以上密钥交换过程中,x,y的取值范围为x、y∈[1,n-1],它们的乘积xy∈[1,(n-1)2],所以必须在计算完共享密钥xyG后检查其是否为无穷远点。也可以选取 x , y ∈ [ 1 , n - 1 ] , 这样xy<n,因此通信双方计算出的共享密钥xyG就不会为无穷远点,省略掉第5步的无穷远点检测,如图4所示。同时在第2步双方交换x、y值时,x、y的位宽可以选择为n位宽的一半,从而减少双方传送的数据量。
在整个DH交换中,第三方设备能监听和窃取的只有x、y这两个参数,这让攻击者几乎没有办法计算出椭圆曲线点G、xG、yG的值。
附图说明
图1是一般的ECC密钥交换方法
图2是本发明的ECC密钥交换方法
图3是本发明的带校验功能的ECC密钥交换方法
图4是本发明的不需进行无穷远点检测的ECC密钥交换方法
具体实施方式
具体操作实现时,该算法的所有参数均由可信任的第三方权威机构确定。把一部分参数公开,而另一部分参数严格保密,并把相应的参数设置到设备A和设备B中去。为简便起见,本实施例选用了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
基点G应该由权威信任机构选取并严格保密,此处为简单起见而选取NIST所推荐的基点参数G。
2、由权威信任机构为设备A和设备B选取两个可公开的设备公钥x、y,且x、y∈[1,n-1],为了计算简单此处x、y取值为x=y=1。计算标量乘xG、yG如下:
xGx=0x 188DA80E B03090F6 7CBF20EB 43A18800 F4FF0AFD 82FF1012
xGy=0x 07192B95 FFC8DA78 631011ED 6B24CDD5 73F977A1 1E794811
yGx=0x 188DA80E B03090F6 7CBF20EB 43A18800 F4FF0AFD 82FF1012
yGy=0x 07192B95 FFC8DA78 631011ED 6B24CDD5 73F977A1 1E794811
将标量乘xG和yG作为设备的私钥,分配如下:公私钥对x和xG分配给设备A,公私钥对y和yG分配给设备B。其中,私钥xG和yG严格保密。
3、设备A发送x=1给设备B,设备B发送y=1给设备A。在x与y值的位宽选择上,因为x、y∈[1,n-1],所以可以选择为192比特。
4、设备A计算标量乘y·xG得到共享密钥yxG;设备B计算标量乘x·yG,得到共享密钥xyG。计算结果如下:
yxGx=0x 188DA80E B03090F6 7CBF20EB 43A18800 F4FF0AFD 82FF1012
yxGy=0x 07192B95 FFC8DA78 631011ED 6B24CDD5 73F977A1 1E794811
xyGx=0x 188DA80E B03090F6 7CBF20EB 43A18800 F4FF0AFD 82FF1012
xyGy=0x 07192B95 FFC8DA78 631011ED 6B24CDD5 73F977A1 1E794811
5、经过检查,设备A和设备B计算出的共享密钥xyG是属于椭圆曲线上的点,而非无穷远点。
6、设备A和设备B分别用哈希函数SHA-1计算共享密钥xyG的哈希值h1和h1’,并由设备B将计算结果h1’发送给设备A。
7、设备A将接收到哈希值h1’同本地计算的哈希值h1进行比较,经检查h1=h1’,因此设备双方成功地协商出了共享密钥xyG。

Claims (5)

1、一种椭圆曲线上的共享密钥产生方法,利用椭圆曲线密码算法与DH密钥交换协议产生共享密钥。其特征是:选择整数x、y,计算标量乘xG和yG,且x、xG属于设备A,y、yG属于设备B;设备A和设备B交换整数x、y,并分别计算出共享密钥xyG;
2、根据权利要求1所述的一种椭圆曲线上的共享密钥产生方法,其特征是:椭圆曲线基点G和标量乘xG、yG以及基点G的阶n和余因子h是严格保密的;有限域的阶p、椭圆曲线y2=x3+ax+b的系数a、b以及整数x、y是公开的。
3、根据权利要求2所述的一种椭圆曲线上的共享密钥产生方法,其特征是:x、y∈[1,n-1],整数x、y的位宽可以与基点G的阶n的位宽一致;产生共享密钥xyG后,在设备A和设备B中分别检测xyG是否为无穷远点。
4、根据权利要求2所述的一种椭圆曲线上的共享密钥产生方法,其特征是: x , y ∈ [ 1 , n - 1 ] , xy≤n-1,整数x、y的位宽可以与基点G的阶n的位宽一致或者其位宽是基点G的阶n的位宽的一半,产生的共享密钥xyG是椭圆曲线上的一般点。
5、根据权利要求3或4所述的一种椭圆曲线上的共享密钥产生方法,其特征是:在生成共享密钥后,分别在设备A和设备B中利用Hash杂凑函数对xyG进行运算,得到杂凑值h1和h1’,据此判定双方共享密钥的一致性。
CN2007100489997A 2007-04-29 2007-04-29 一种椭圆曲线上的共享密钥产生方法 Expired - Fee Related CN101296072B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2007100489997A CN101296072B (zh) 2007-04-29 2007-04-29 一种椭圆曲线上的共享密钥产生方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2007100489997A CN101296072B (zh) 2007-04-29 2007-04-29 一种椭圆曲线上的共享密钥产生方法

Publications (2)

Publication Number Publication Date
CN101296072A true CN101296072A (zh) 2008-10-29
CN101296072B CN101296072B (zh) 2011-11-09

Family

ID=40066109

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2007100489997A Expired - Fee Related CN101296072B (zh) 2007-04-29 2007-04-29 一种椭圆曲线上的共享密钥产生方法

Country Status (1)

Country Link
CN (1) CN101296072B (zh)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102104482A (zh) * 2009-12-21 2011-06-22 上海华虹集成电路有限责任公司 椭圆曲线密码体制中无穷远点在仿射坐标系下的表示方法
CN102761411A (zh) * 2011-04-27 2012-10-31 航天信息股份有限公司 p元域SM2椭圆曲线密钥协商系统
CN102902897A (zh) * 2011-07-25 2013-01-30 上海华虹集成电路有限责任公司 适用于ecc点乘算法的抗无穷远点攻击的方法
CN104468125A (zh) * 2014-12-24 2015-03-25 江西倍康信息技术有限公司 基于国密算法的移动互联网信息通信加密方法
CN105812142A (zh) * 2016-03-10 2016-07-27 西京学院 一种融合指纹、ecdh和ecc的强前向安全数字签名方法
CN106209360A (zh) * 2016-07-22 2016-12-07 安徽皖通邮电股份有限公司 一种基于国密算法的预共享密钥的身份鉴别方法
CN106603246A (zh) * 2017-01-22 2017-04-26 武汉理工大学 一种sm2数字签名分割生成方法及系统
CN107104793A (zh) * 2017-04-12 2017-08-29 武汉理工大学 一种数字签名生成方法及系统
CN109150544A (zh) * 2018-08-30 2019-01-04 天津通卡智能网络科技股份有限公司 一种在嵌入式设备端加快sm2验签的方法
TWI734087B (zh) * 2019-03-19 2021-07-21 開曼群島商現代財富控股有限公司 基於同態加密的簽章系統及其方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1380766A (zh) * 2001-04-16 2002-11-20 南相浩 密钥交换与密钥传递方案
CN1192543C (zh) * 2003-04-23 2005-03-09 浙江大学 一种椭圆曲线上基于公钥证书的密钥交换方法

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102104482A (zh) * 2009-12-21 2011-06-22 上海华虹集成电路有限责任公司 椭圆曲线密码体制中无穷远点在仿射坐标系下的表示方法
CN102761411A (zh) * 2011-04-27 2012-10-31 航天信息股份有限公司 p元域SM2椭圆曲线密钥协商系统
CN102761411B (zh) * 2011-04-27 2015-06-10 航天信息股份有限公司 p元域SM2椭圆曲线密钥协商系统
CN102902897B (zh) * 2011-07-25 2016-08-24 上海华虹集成电路有限责任公司 适用于ecc点乘算法的抗无穷远点攻击的方法
CN102902897A (zh) * 2011-07-25 2013-01-30 上海华虹集成电路有限责任公司 适用于ecc点乘算法的抗无穷远点攻击的方法
CN104468125A (zh) * 2014-12-24 2015-03-25 江西倍康信息技术有限公司 基于国密算法的移动互联网信息通信加密方法
CN105812142A (zh) * 2016-03-10 2016-07-27 西京学院 一种融合指纹、ecdh和ecc的强前向安全数字签名方法
CN105812142B (zh) * 2016-03-10 2019-03-05 西京学院 一种融合指纹、ecdh和ecc的强前向安全数字签名方法
CN106209360A (zh) * 2016-07-22 2016-12-07 安徽皖通邮电股份有限公司 一种基于国密算法的预共享密钥的身份鉴别方法
CN106603246A (zh) * 2017-01-22 2017-04-26 武汉理工大学 一种sm2数字签名分割生成方法及系统
CN106603246B (zh) * 2017-01-22 2019-05-24 武汉理工大学 一种sm2数字签名分割生成方法及系统
CN107104793A (zh) * 2017-04-12 2017-08-29 武汉理工大学 一种数字签名生成方法及系统
CN107104793B (zh) * 2017-04-12 2019-10-25 武汉理工大学 一种数字签名生成方法及系统
CN109150544A (zh) * 2018-08-30 2019-01-04 天津通卡智能网络科技股份有限公司 一种在嵌入式设备端加快sm2验签的方法
TWI734087B (zh) * 2019-03-19 2021-07-21 開曼群島商現代財富控股有限公司 基於同態加密的簽章系統及其方法

Also Published As

Publication number Publication date
CN101296072B (zh) 2011-11-09

Similar Documents

Publication Publication Date Title
CN101296072B (zh) 一种椭圆曲线上的共享密钥产生方法
CN101296075B (zh) 一种基于椭圆曲线的身份认证系统
US8670563B2 (en) System and method for designing secure client-server communication protocols based on certificateless public key infrastructure
CN104270249B (zh) 一种从无证书环境到基于身份环境的签密方法
CN101931529B (zh) 一种数据加密方法、数据解密方法及节点
EP1675299B1 (en) Authentication method using bilinear mappings
US9705683B2 (en) Verifiable implicit certificates
CN104301108B (zh) 一种从基于身份环境到无证书环境的签密方法
US11870891B2 (en) Certificateless public key encryption using pairings
US20060026426A1 (en) Identifier-based signcryption with two trusted authorities
CN112202544B (zh) 一种基于Paillier同态加密算法的智能电网数据安全聚合方法
CN104821880A (zh) 一种无证书广义代理签密方法
KR101516114B1 (ko) 인증서 기반 프록시 재암호화 방법 및 이를 위한 시스템
CN110519226B (zh) 基于非对称密钥池和隐式证书的量子通信服务端保密通信方法和系统
US20160352689A1 (en) Key agreement protocol
Fanfara et al. Usage of asymmetric encryption algorithms to enhance the security of sensitive data in secure communication
Jain et al. Secure communication using RSA algorithm for network environment
US20220038267A1 (en) Methods and devices for secured identity-based encryption systems with two trusted centers
CN101296077A (zh) 一种基于总线型拓扑结构的身份认证系统
WO2016187690A1 (en) Key agreement protocol
CN102487321B (zh) 一种签密方法和系统
KR20170087120A (ko) 무인증서 공개키 암호 시스템 및 수신 단말기
CN109905232A (zh) 一种签解密方法、系统、设备及计算机可读存储介质
Hoceini et al. Authentication based elliptic curves digital signature for ZigBee networks
CN109921896A (zh) 一种签解密方法、系统、设备及计算机可读存储介质

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
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20111109

Termination date: 20160429