CN111314081A - 一种用于物联网设备的轻量级椭圆曲线数字签名方法 - Google Patents
一种用于物联网设备的轻量级椭圆曲线数字签名方法 Download PDFInfo
- Publication number
- CN111314081A CN111314081A CN202010045946.5A CN202010045946A CN111314081A CN 111314081 A CN111314081 A CN 111314081A CN 202010045946 A CN202010045946 A CN 202010045946A CN 111314081 A CN111314081 A CN 111314081A
- Authority
- CN
- China
- Prior art keywords
- signature
- verification
- signer
- elliptic curve
- calculates
- 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
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3247—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
- H04L9/3252—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures using DSA or related signature schemes, e.g. elliptic based signatures, ElGamal or Schnorr schemes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0869—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
- H04L9/3066—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Physics (AREA)
- Physics & Mathematics (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Optimization (AREA)
- Computing Systems (AREA)
- Mathematical Analysis (AREA)
- General Physics & Mathematics (AREA)
- Algebra (AREA)
- Storage Device Security (AREA)
Abstract
本发明涉及一种用于物联网设备的轻量级椭圆曲线数字签名方法,包括签名生成和签名认证,选取随机整数作为私钥并计算出公钥,选取随机数计算出第一签名部分,通过发送的消息摘要计算出另一签名部分,对计算的第一签名部分和另一签名部分进行签名认证;该签名方法减少了模块化的模逆运算,不影响整个签名方法的安全性时,提高了该签名方法的效率。
Description
技术领域
本发明涉及网络通讯安全技术领域,具体涉及一种用于物联网设备设备的轻量级椭圆曲线数字签名方法。
背景技术
为保证物联网设备通信的安全性,设备间需要进行身份认证,这一过程中使用签名算法检查认证消息的来源和有效性。常用的签名算法ECDSA由于含有耗时的模逆运算而影响签名效率,在资源非常有限的情况下,提高数字签名效率显得尤为重要;
当前常用的签名算法是椭圆曲线数字签名算法ECDSA,包含签名生成和签名验证两个阶段。假设智能卡A和读卡器B是两个要执行ECDSA的实体,它们必须在曲线参数上达成共识,并选择指定的椭圆曲线和基点G(x,y)。
关于椭圆曲线的说明:通常将有限域Fp上的一条椭圆曲线描述为T=(p,a,b,G,n,h),其中p为大于3的素数,a,b∈Fp是椭圆曲线Ep(a,b)的两个系数,这三者确定了椭圆曲线Ep(a,b),即Ep(a,b):y2=x3+ax+b(modp),其中a和b满足4a3+27b2≠0(modp);G为基点,n是点G 的阶;设椭圆曲线群E(Fp)的阶为N,则h=N/n称为余因子。其中E(Fp),Fp,G和n公开。
ECDSA签名生成与签名验证的原理:发送消息明文m,为了保证m在传输过程中不被攻击者修改,需要使用签名算法来验证m的来源和完整性。在签名生成阶段,对消息m进行一系列操作(包括椭圆曲线乘法、模块化乘法、模块化加法和模逆运算,其中模逆运算是主要的运算负担)生成数字签名,附在消息明文m后一同进行签名验证,消息明文m及签名之后通过一系列操作(包括椭圆曲线加法和乘法、模块化乘法和模逆运算)检查签名的正确性,正确则说明消息m在传输过程中未被修改,可以对其进行后续操作,否则m在传输过程中被篡改,拒绝任何操作。
该ECDSA签名生成与签名验证方法涉及模逆运算(例如s=k-1(h+rdA)modn和ω=s-1(modn)),而模逆运算被证明是影响算法签名效率的重要因素之一,因此ECDSA 不适用于需要高效签名算法的环境。
发明内容
为了克服上述现有技术的缺点,本发明的目的是提供一种不影响安全性且提高效率的用于物联网设备设备的轻量级椭圆曲线数字签名方法。
为达到上述目的,本发明采用以下技术方案,一种用于物联网设备设备的轻量级椭圆曲线数字签名方法,包括签名生成和签名认证,
所述签名生成按照如下步骤进行:
步骤S101,签名者选取随机整数dA作为私钥,并根据该私钥计算出公钥QA=dAG;
步骤S102,签名者选取随机数k(k∈[0,n-1]),并计算点kG=(x1,y1),G为基点;
步骤S103,签名者计算第一签名部分r=x1modn(n是点G的阶,mod运算为求余运算);
步骤S104,签名者计算消息m的摘要h=H(m),H(m)是一个哈希函数;
步骤S105,签名者计算另一部分签名s=k+(h+r)dA;
步骤S106,签名者将待发送的消息m及生成的签名(r,s)发给验签者进行签名验证;
所述签名验证按照如下步骤进行:
步骤S201,验签者接收到消息m及签名生成的签名(r,s),进行初步验证,如验证失败则停止验证,如验证成功进入下一步;
步骤S202,验签者计算接收到的消息m的摘要,即h'=H(m),其中H(m)是哈希函数;
步骤S203,验签者计算X=sG-(h'+r)QA=(x2,y2)和t=x2modn,并比较是否t=r,是则验证成功,否则失败。
所述步骤S102中签名者所选取的随机数k是除步骤S101中随机整数dA以外的任意随机整数。
所述步骤S103中,如计算出r=0,则返回到S102中重新选取随机数k,再次执行步骤S102和步骤103。
所述步骤105中,如s=0,返回到步骤S102中重新选取随机数k,再次执行步骤S102- 步骤105。
所述步骤201中进行初步验证,初步验证的条件是检查r和s是否是区间[1,n-1]内的整数,如果任意一个不是,则验证失败。
本发明的有益效果是:减少了模逆运算,不影响整个签名方法的安全性时,提高了该签名算法的效率。
具体实施方式
下面结合实施例对本发明进行详细的描述。
实施例
本实施例以智能卡A向读卡器B发送明文消息m为例,具体按照如下方法进行:
步骤S101,智能卡A选取随机整数dA作为私钥,并根据该私钥计算出公钥QA=dAG,其中G为基点;
步骤S102,智能卡A选取随机数k(k∈[0,n-1]),并计算点kG=(x1,y1),G为基点;所选取的随机数k是除步骤S101中随机整数dA以外的任意随机整数数;
步骤S103,智能卡A计算第一签名部分r=x1modn(n是点G的阶,mod运算为求余运算),如计算出r=0,则返回到S102中重新选取随机数k,再次执行步骤S102和步骤 103;
步骤S104,智能卡A计算消息m的摘要h=H(m),H(m)是一个哈希函数;
步骤S105,智能卡A计算另一部分签名s=k+(h+r)dA;如果s=0,返回到步骤S102中重新选取随机数k,再次执行步骤S102-步骤105;
步骤S106,智能卡A将待发送的消息m及签名生成的签名(r,s)发送到读卡器B中进行签名验证;
所述签名验证按照如下步骤进行:
步骤S201,接读卡器B收到消息m及生成的签名(r,s),检查r和s是否是区间[1,n-1]内的整数,如果任意一个不是,则验证失败,如都是该区间内的整数,则进入到下一步;
步骤S202,对接收到消息m的消息摘要进行计算,计算公式h'=H(m),其中H(m)是哈希函数;
步骤S203,计算X=sG-(h'+r)QA=(x2,y2)和t=x2modn,并比较是否t=r,是则验证成功,否则验证失败。
对比例
签名生成阶段:
智能卡A对消息m签名并将其发送给读卡器B,其工作过程为:(1)智能卡A选择一个随机整数dA作为私钥并计算QA=dAG以产生公钥QA;(2)智能卡A选择除dA以外的随机数k(k∈[0,n-1]),并计算点kG=(x1,y1);(3)智能卡A计算r=x1modn,如果r=0,则A必须再次执行步骤(2)-(3),否则执行下一步;(4)智能卡A计算消息摘要h=H(m), H(m)是一个哈希函数;(5)智能卡A计算s=k-1(h+rdA)modn,如果s=0,智能卡A必须再次执行步骤(2)-(5),否则执行下一步;(6)A向B发送消息m及其签名(r,s);
签名验证阶段:
读卡器B验证从智能卡A接收到的签名。工作过程如下:(1)在接收到m和(r,s)之后,读卡器B首先检查r和s是否是区间[1,n-1]内的整数,如果任意一个不是,则验证失败;(2)读卡器B计算消息摘要h'=H(m),其中H(m)是哈希函数;(3)读卡器B计算ω=s-1(modn);(4)读卡器B计算u1=h'ω和u2=rω;(5)读卡器B计算X=u1G+u2QA=(x2,y2),如果X=∞,验证失败;(6)读卡器B计算t=x2modn,如果t=r,则验证成功,否则验证失败。
效率分析
在对比例中,模逆操作非常耗时,实施例则避免了此类操作,下表是具体的时间和复杂程度比较;
首先确定5个计算时间的概念:
Tmul表示模块化乘法运算时间;Tadd表示模块化加法运算时间;Tinv表示模逆运算时间;TEC-mul表示椭圆曲线点乘运算时间;TEC-add表示椭圆曲线点加运算时间。以Tmul为基数,与其它几项时间参数大小关系为:Tadd远小于Tmul,且可以忽略不计,Tinv=11.6Tmul, TEC-mul=29Tmul和TEC-add=0.12Tmul;
表为时间复杂度比较
对表中的公式进行如下说明:
对比例中签名生成阶段,kG表示椭圆曲线点乘运算,所以时间复杂度上添加TEC-mul;计算签名s=k-1(h+rdA)modn时,(h+rdA)modn包含模块化乘法运算和模块化加法运算,所以时间复杂度加上Tmul和Tadd,k-1modn就是模逆运算,时间复杂度加上Tinv。因此对比例签名生成阶段的时间复杂度公式是Tmul+TEC-mul+Tinv+Tadd。
对比例中签名验证阶段,ω=s-1(modn)中包含模逆运算,时间复杂度加上Tinv;u1=h'ω和u2=rω分别表示一次模块化乘法运算,时间复杂度加上2Tmul;计算X=u1G+u2QA=(x2,y2) 时,u1G和u2QA分别表示一次椭圆曲线点乘运算,时间复杂度加上2TEC-mul,最后二者进行椭圆曲线点加运算,时间复杂度加TEC-add。因此对比例签名验证阶段的时间复杂度公式是2Tmul+2TEC-mul+Tinv+TEC-add。
实施例中签名生成阶段,kG表示椭圆曲线点乘运算,时间复杂度上添加TEC-mul;计算签名s=k+(h+r)dA时,(h+r)dAmodn包含模块化加法和模块化乘法运算,所以时间复杂度加上Tadd和Tmul,然最后和k进行模块化加法运算,时间复杂度再加上Tadd。因此实施例签名生成阶段的时间复杂度公式是Tmul+TEC-mul+2Tadd。
实施例签名验证阶段,计算X=sG-(h'+r)QA=(x2,y2)过程中,sG是椭圆曲线点乘运算, (h'+r)QA包含一次模块化加法运算和椭圆曲线点乘运算,最后二者进行椭圆曲线点加运算,因此实施例签名验证阶段的时间复杂度公式是2TEC-mul+TEC-add+Tadd。
从表中可以看出,无论是签名生成阶段还是签名验证阶段,NOMOP-ECDSA(实施例)的时间复杂度都小于ECDSA(对比例),由此可知前者具有更高的效率。
上实施例仅仅是对本发明的举例说明,并不构成对本发明的保护范围的影响。
Claims (5)
1.一种用于物联网设备的轻量级椭圆曲线数字签名方法,包括签名生成和签名认证,其特征在于,
所述签名生成按照如下步骤进行:
步骤S101,签名者选取随机整数dA作为私钥,并根据该私钥计算出公钥QA=dAG;
步骤S102,签名者选取随机数k(k∈[0,n-1]),并计算点kG=(x1,y1),G为基点;
步骤S103,签名者计算第一签名部分r=x1mod n(n是点G的阶,mod运算为求余运算);
步骤S104,签名者计算消息m的摘要h=H(m),H(m)是一个哈希函数;
步骤S105,签名者计算另一部分签名s=k+(h+r)dA;
步骤S106,签名者将待发送的消息m及生成的签名(r,s)发给验签者进行签名验证;
所述签名验证按照如下步骤进行:
步骤S201,验签者接收到消息m及签名生成的签名(r,s),进行初步验证,如验证失败则停止验证,如验证成功进入下一步;
步骤S202,验签者计算接收到的消息m的摘要,即h'=H(m),其中H(m)是哈希函数;
步骤S203,验签者计算X=sG-(h'+r)QA=(x2,y2)和t=x2mod n,并比较是否t=r,是则验证成功,否则失败。
2.根据权利要求1所述一种用于物联网设备设备的轻量级椭圆曲线数字签名方法,其特征在于,所述步骤S102中签名者所选取的随机数k是除步骤S101中随机整数dA以外的任意随机整数。
3.根据权利要求1所述一种用于物联网设备设备的轻量级椭圆曲线数字签名方法,其特征在于,所述步骤S103中,如计算出r=0,则返回到S102中重新选取随机数k,再次执行步骤S102和步骤103。
4.根据权利要求1所述一种用于物联网设备设备的轻量级椭圆曲线数字签名方法,其特征在于,所述步骤105中,如s=0,返回到步骤S102中重新选取随机数k,再次执行步骤S102-步骤105。
5.根据权利要求1所述一种用于物联网设备设备的轻量级椭圆曲线数字签名方法,其特征在于,所述步骤201中进行初步验证,初步验证的条件是检查r和s是否是区间[1,n-1]内的整数,如果任意一个不是,则验证失败。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010045946.5A CN111314081A (zh) | 2020-01-16 | 2020-01-16 | 一种用于物联网设备的轻量级椭圆曲线数字签名方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010045946.5A CN111314081A (zh) | 2020-01-16 | 2020-01-16 | 一种用于物联网设备的轻量级椭圆曲线数字签名方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111314081A true CN111314081A (zh) | 2020-06-19 |
Family
ID=71161396
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010045946.5A Pending CN111314081A (zh) | 2020-01-16 | 2020-01-16 | 一种用于物联网设备的轻量级椭圆曲线数字签名方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111314081A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113034811A (zh) * | 2021-03-23 | 2021-06-25 | 深圳市顺易通信息技术有限公司 | 一种支持远程控制协议的智能电子柜 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101753306B (zh) * | 2009-12-22 | 2012-08-15 | 上海大学 | 运用Montgomery型椭圆曲线的数字签名认证方法 |
CN105025474A (zh) * | 2015-06-26 | 2015-11-04 | 安徽大学 | 一种面向无线传感网的轻量级数字签名方法 |
CN104052606B (zh) * | 2014-06-20 | 2017-05-24 | 北京邮电大学 | 数字签名、签名认证装置以及数字签名方法 |
CN108667621A (zh) * | 2018-05-14 | 2018-10-16 | 河南科技大学 | 一种椭圆曲线数字签名方法 |
CN110020524A (zh) * | 2019-03-31 | 2019-07-16 | 西安邮电大学 | 一种基于智能卡的双向认证方法 |
CN110086628A (zh) * | 2019-04-23 | 2019-08-02 | 西安邮电大学 | 单源网络编码环境下椭圆曲线签名的方法 |
-
2020
- 2020-01-16 CN CN202010045946.5A patent/CN111314081A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101753306B (zh) * | 2009-12-22 | 2012-08-15 | 上海大学 | 运用Montgomery型椭圆曲线的数字签名认证方法 |
CN104052606B (zh) * | 2014-06-20 | 2017-05-24 | 北京邮电大学 | 数字签名、签名认证装置以及数字签名方法 |
CN105025474A (zh) * | 2015-06-26 | 2015-11-04 | 安徽大学 | 一种面向无线传感网的轻量级数字签名方法 |
CN108667621A (zh) * | 2018-05-14 | 2018-10-16 | 河南科技大学 | 一种椭圆曲线数字签名方法 |
CN110020524A (zh) * | 2019-03-31 | 2019-07-16 | 西安邮电大学 | 一种基于智能卡的双向认证方法 |
CN110086628A (zh) * | 2019-04-23 | 2019-08-02 | 西安邮电大学 | 单源网络编码环境下椭圆曲线签名的方法 |
Non-Patent Citations (2)
Title |
---|
侯爱琴等: "基于椭圆曲线的一种高效率数字签名", 《计算机应用与软件》 * |
张凯凡等: "一种高效的基于椭圆曲线密码的数字签名方案", 《湖北工业大学学报》 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113034811A (zh) * | 2021-03-23 | 2021-06-25 | 深圳市顺易通信息技术有限公司 | 一种支持远程控制协议的智能电子柜 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108551392B (zh) | 一种基于sm9数字签名的盲签名生成方法及系统 | |
CN101753306B (zh) | 运用Montgomery型椭圆曲线的数字签名认证方法 | |
CN110880977B (zh) | 一种安全高效的sm9环签名生成与验证方法 | |
US6088798A (en) | Digital signature method using an elliptic curve, a digital signature system, and a program storage medium having the digital signature method stored therein | |
KR0144086B1 (ko) | 인증교환과 전자서명 방법 | |
CN112118111B (zh) | 一种适用于门限计算的sm2数字签名方法 | |
WO2006104362A1 (en) | Fast batch verification method and apparatus there-of | |
CN110505061B (zh) | 一种数字签名算法及系统 | |
CN116094731A (zh) | 一种基于报文哈希链的签名认证方法及系统 | |
EP2553865A1 (en) | Collision based multivariate signature scheme | |
CN112446052A (zh) | 一种适用于涉密信息系统的聚合签名方法及系统 | |
CN111478772A (zh) | 一种流水线友好的签名和验签方法、设备及存储介质 | |
KR0146438B1 (ko) | 인증교환 방법과 복원형 전자서명 방법 및 부가형 전자서명 방법 | |
US20150006900A1 (en) | Signature protocol | |
US20100023775A1 (en) | Compressed ecdsa signatures | |
CN115442057A (zh) | 一种具有强不可链接性的可随机化盲签名方法及系统 | |
CN114499887B (zh) | 签名密钥生成及相关方法、系统、计算机设备和存储介质 | |
CN113032844B (zh) | 椭圆曲线的签名方法、验签方法和装置 | |
CN111314081A (zh) | 一种用于物联网设备的轻量级椭圆曲线数字签名方法 | |
CN102064940A (zh) | 一种在线/离线高效的数字签名方法 | |
CN110460609B (zh) | 终端应用与安全认证平台的双向认证方法及系统 | |
Boudgoust et al. | Overfull: Too Large Aggregate Signatures Based on Lattices | |
WO2023016729A1 (en) | Generating digital signature shares | |
CA2306468A1 (en) | Signature verification for elgamal schemes | |
Boudgoust et al. | Non-interactive half-aggregate signatures based on module lattices-a first attempt |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |