CN111654381B - 一种基于国密sm2公钥加密的环签名生成方法 - Google Patents
一种基于国密sm2公钥加密的环签名生成方法 Download PDFInfo
- Publication number
- CN111654381B CN111654381B CN202010628535.9A CN202010628535A CN111654381B CN 111654381 B CN111654381 B CN 111654381B CN 202010628535 A CN202010628535 A CN 202010628535A CN 111654381 B CN111654381 B CN 111654381B
- Authority
- CN
- China
- Prior art keywords
- signature
- public key
- calculating
- key encryption
- elliptic curve
- 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.)
- Active
Links
Images
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/3255—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 group based signatures, e.g. ring or threshold signatures
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (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
技术领域
本发明涉及信息安全技术领域,尤其涉及一种基于国密SM2公钥加密的环签名生成方法。
背景技术
传统数字签名可保证数字资源的真实性、有效性及不可抵赖性,但无法实现签名人的匿名性。2001年,Rivest等提出了环签名的概念。在环签名中,签名生成只涉及签名人私钥及其他所有成员的公钥,而签名验证则仅平等地依赖全体成员的公钥。环签名使验证者相信签名源自某个群体但又不知具体签名人,可有力地支撑电子货币、线上选举、数字金融等热点应用中的操作匿名性。
现今已有多种不同形式和不同性质的环签名算法被提出,但大多都是针对国外算法的量身定制,缺少对具体算法的自主控制。2010年12月17日,国家密码管理局颁布了SM2椭圆曲线公钥密码算法,其中涉及的公钥加密算法是一种自主可控密码技术,计算速度快、安全性高。
发明内容
本发明的目的在于克服现有技术的不足,针对目前还没有基于国密SM2公钥加密的环签名生成方法现状,为满足国家对环签名生成方法自主可控的安全需求,提供一种基于国密SM2公钥加密的环签名生成方法,实现过程并不改变国密SM2公钥加密的整体架构,且其安全性完全依赖于国密SM2公钥加密的安全性。
本发明采用的技术方案是:
一种基于国密SM2公钥加密的环签名生成方法,方法包括签名部分和验证部分,
1)签名部分包括以下步骤:
步骤11,获取环签名的基本信息:环内成员数为m,相应公钥集为P={P1,P2,...,Pm},签名者Sl为第l个成员,签名者Sl对应的私钥为dl且满足Pl=[dl]G,其中,G为椭圆曲线的一个基点,其阶为素数;
步骤12,给定待签名消息M,签名者Sl执行基于国密SM2公钥加密的签名算法;签名的具体步骤为:
S1:计算L=H(M||P1||P2||...||Pm);
S2:随机挑选bl,ai,i=l+1,...,m,1,2,...,l-1,其中bl源自国密SM2公钥加密的密文空间,ai源自国密SM2公钥加密的明文空间;
步骤13,最终获得消息M的环签名σ为(b1,a1,a2,...,am);
2)验证部分包括以下步骤:
步骤21,获取消息签名对(M,σ),
步骤22,基于国密SM2公钥加密对消息签名对(M,σ)进行验证;验证的具体步骤为:
V1:计算L=H(M||P1||P2||...||Pm);
进一步地,S3的具体步骤为:
S3.1:随机挑选k∈[1,2,...,n-1],计算椭圆曲线点b=[k]G=(x,y),并将其转化为比特串;
S3.2:计算椭圆曲线点Ti=[h]Pi,当Ti为无穷点,则报错并退出;
S3.3:计算椭圆曲线点[k]Pi=(xi2,yi2),并将坐标xi2,yi2转换为比特串;
S3.4:计算ti=KDF(xi2||yi2,klen),当ti为全0比特串,则返回S3.1;
S3.6:计算bi3=H(xi2||L||bi2||yi2);
S3.7:输出bi=bi1||bi2||bi3,其中bi1=b。
进一步地,S4:解析字符串bl并从中取出bl1,bl2,具体步骤如下:
S4.1:将bl1(即b)转换为椭圆曲线上的点,验证bl1是否满足椭圆曲线方程,若不满足则报错并退出;
S4.2:计算椭圆曲线点Tl=[h]bl1,若Tl是无穷点,则报错并退出;
S4.3:计算[dl]bl1=(xl2,yl2),将坐标xl2,yl2的数据类型转换为比特串;
S4.4:计算tl=KDF(xl2||yl2,klen),若tl为全0比特串,则报错并退出;
S4.6:计算bl3=H(xl2||L||bl2||yl2)。
进一步地,环签名σ可替换为(a1,a2,...,am,bz),其中bz对应任意群组成员,以增加环签名生成方法的普适性。
进一步地,步骤V2中针对i=2,...,m验证者依次执行如下计算:
V2.1:计算椭圆曲线点[k]Pi=(xi2,yi2),并将坐标xi2,yi2转换为比特串;
V2.2:计算ti=KDF(xi2||yi2,klen),若ti为全0比特串,则验证失败签名无效;
V2.4:计算bi3=H(xi2||L||bi2||yi2);
V2.5:输出bi=bi1||bi2||bi3,其中bi1=b。
本发明采用以上技术方案,签名者通过自主收集SM2公钥加密体系下的成员公钥来构建群组并将签名身份信息藏于其中,保护了签名者的隐私。环签名的具体生成过程不改变国密SM2公钥加密的整体架构,其安全性直接依赖于自主可控的国密SM2公钥加密的安全性。
附图说明
以下结合附图和具体实施方式对本发明做进一步详细说明;
图1为基于国密SM2公钥加密的环签名生成方法的原理图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图对本申请实施例中的技术方案进行清楚、完整地描述。
本发明最关键的构思在于基于国密SM2公钥加密的原始框架,完成了环签名生成方法的设计。在保证数据资源的真实性、有效性及不可抵赖性的同时,实现了认证的无条件匿名性。
基于图1所示原理,本发明公开了一种基于国密SM2公钥加密的环签名生成方法,包括签名产生和签名验证两个环节:
1.签名产生环节
环内成员数为m,相应公钥集为P={P1,P2,...,Pm},签名者为第l个成员,对应私钥为dl且满足Pl=[dl]G。给定待签名消息M,签名者Sl执行以下步骤:
S1:计算L=H(M||P1||P2||...||Pm);
S2:随机挑选bl,ai,i=l+1,...,m,1,...,l-1,其中bl源自国密SM2公钥加密的密文空间,ai源自国密SM2公钥加密的明文空间,
S3:i从l+1变至l-1,依次进行如下计算:
S3.1:随机挑选k∈[1,2,...,n-1],计算椭圆曲线点b=[k]G=(x,y),并将其转化为比特串;
S3.2:计算椭圆曲线点Ti=[h]Pi,若Ti为无穷点,则报错并退出;
S3.3:计算椭圆曲线点[k]Pi=(xi2,yi2),并将坐标xi2,yi2转换为比特串;
S3.4:计算ti=KDF(xi2||yi2,klen),若ti为全0比特串,则返回S3.1;
S3.6:计算bi3=H(xi2||L||bi2||yi2);
S3.7:输出bi=bi1||bi2||bi3,其中bi1=b。
S3:解析字符串bl并从中取出bl1,bl2,执行如下操作:
S3.1:将bl1(即b)转换为椭圆曲线上的点,验证bl1是否满足椭圆曲线方程,若不满足则报错并退出;
S3.2:计算椭圆曲线点Tl=[h]bl1,若Tl是无穷点,则报错并退出;
S3.3:计算[dl]bl1=(xl2,yl2),将坐标xl2,yl2的数据类型转换为比特串;
S3.4:计算tl=KDF(xl2||yl2,klen),若tl为全0比特串,则报错并退出;
S3.6:计算bl3=H(xl2||L||bl2||yl2);
S4:最终输出消息M的环签名σ为(a1,a2,...,am,bz,k),其中bz可对应任意成员。
2.签名验证环节
给定消息M及环签名(a1,a2,...,am,bz,k),验证者基于群组的公钥集合P={P1,P2,...,Pm)执行以下验证步骤:
V1:计算L=H(M||P1||P2||...||Pm);
V2.1:计算椭圆曲线点[k]Pi=(xi2,yi2),并将坐标xi2,yi2转换为比特串;
V2.2:计算ti=KDF(xi2||yi2,klen),若ti为全0比特串,则验证失败签名无效;
V2.4:计算bi3=H(xi2||L||bi2||yi2);
V2.5:输出bi=bi1||bi2||bi3,其中bi1=b。
相比于现有技术,本发明具有如下优势:(1)基于国密SM2公钥加密的直接设计;(2)安全性直接依赖于国密SM2公钥加密的安全性;(3)环签名的生成满足自主可控的安全需求。
本发明采用以上技术方案,签名者通过自主收集SM2公钥加密体系下的成员公钥来构建群组并将签名身份信息藏于其中,保护了签名者的隐私。环签名的具体生成过程不改变国密SM2公钥加密的整体架构,其安全性直接依赖于自主可控的国密SM2公钥加密的安全性。
本申请已经结合实施例对本发明进行了详细地描述,但是本领域技术人员应当理解的是,本发明并非仅限于特定实施例,相反,在没有超出本申请精神和实质的各种修正、变形和替换都落入到本申请的保护范围之中。
Claims (2)
1.一种基于国密SM2公钥加密的环签名生成方法,其特征在于:方法包括签名部分和验证部分,
1)签名部分包括以下步骤:
步骤11,获取环签名的基本信息:环内成员数为m,相应公钥集为P={P1,P2,...,Pm},签名者Sl为第l个成员,签名者Sl对应的私钥为dl且满足Pl=[dl]G,其中,G为椭圆曲线的一个基点,其阶为素数;
步骤12,给定待签名消息M,签名者Sl执行基于国密SM2公钥加密的签名算法;签名的具体步骤为:
S1:计算L=H(M||P1||P2||...||Pm);
S2:随机挑选bl,ai,i=l+1,...,m,1,2,...,l-1,其中bl源自国密SM2公钥加密的密文空间,ai源自国密SM2公钥加密的明文空间;
S3.1:随机挑选k∈[1,2,...,n-1],计算椭圆曲线点b=[k]G=(x,y),并将其转化为比特串;
S3.2:计算椭圆曲线点Ti=[h]Pi,当Ti为无穷点,则报错并退出;
S3.3:计算椭圆曲线点[k]Pi=(xi2,yi2),并将坐标xi2,yi2转换为比特串;
S3.4:计算ti=KDF(xi2||yi2,klen),当ti为全0比特串,则返回S3.1;
S3.6:计算bi3=H(xi2||L||bi2||yi2);
S3.7:输出bi=bi1||bi2||bi3,其中bi1=b;
S4:解析字符串bl并从中取出bl1,bl2,具体步骤如下:
S4.1:将bl1转换为椭圆曲线上的点,验证bl1是否满足椭圆曲线方程,若不满足则报错并退出;
S4.2:计算椭圆曲线点Tl=[h]bl1,若Tl是无穷点,则报错并退出;
S4.3:计算[dl]bl1=(xl2,yl2),将坐标xl2,yl2的数据类型转换为比特串;
S4.4:计算tl=KDF(xl2||yl2,klen),若tl为全0比特串,则报错并退出;
S4.6:计算bl3=H(xl2||L||bl2||yl2);
步骤13,最终获得消息M的环签名σ为(b1,a1,a2,...,am);
2)验证部分包括以下步骤:
步骤21,获取消息签名对(M,σ),
步骤22,基于国密SM2公钥加密对消息签名对(M,σ)进行验证;验证的具体步骤为:
V1:计算L=H(M||P1||P2||...||Pm);
V2.1:计算椭圆曲线点[k]Pi=(xi2,yi2),并将坐标xi2,yi2转换为比特串;
V2.4:计算bi3=H(xi2||L||bi2||yi2);
V2.5:输出bi=bi1||bi2||bi3,其中bi1=b;
2.根据权利要求1所述的一种基于国密SM2公钥加密的环签名生成方法,其特征在于:环签名σ可替换为(a1,a2,...,am,bz),其中bz对应任意群组成员,以增加环签名生成方法的普适性。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010628535.9A CN111654381B (zh) | 2020-07-01 | 2020-07-01 | 一种基于国密sm2公钥加密的环签名生成方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010628535.9A CN111654381B (zh) | 2020-07-01 | 2020-07-01 | 一种基于国密sm2公钥加密的环签名生成方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111654381A CN111654381A (zh) | 2020-09-11 |
CN111654381B true CN111654381B (zh) | 2023-04-07 |
Family
ID=72351962
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010628535.9A Active CN111654381B (zh) | 2020-07-01 | 2020-07-01 | 一种基于国密sm2公钥加密的环签名生成方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111654381B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107453865A (zh) * | 2017-07-18 | 2017-12-08 | 众安信息技术服务有限公司 | 一种保护数据发送源隐私的多方数据共享方法及系统 |
CN108809658A (zh) * | 2018-07-20 | 2018-11-13 | 武汉大学 | 一种基于sm2的身份基的数字签名方法与系统 |
CN110932865A (zh) * | 2019-11-26 | 2020-03-27 | 武汉大学 | 一种基于sm2数字签名算法的可链接环签名生成方法 |
CN110932866A (zh) * | 2019-11-26 | 2020-03-27 | 武汉大学 | 一种基于sm2数字签名算法的环签名生成方法 |
-
2020
- 2020-07-01 CN CN202010628535.9A patent/CN111654381B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107453865A (zh) * | 2017-07-18 | 2017-12-08 | 众安信息技术服务有限公司 | 一种保护数据发送源隐私的多方数据共享方法及系统 |
CN108809658A (zh) * | 2018-07-20 | 2018-11-13 | 武汉大学 | 一种基于sm2的身份基的数字签名方法与系统 |
CN110932865A (zh) * | 2019-11-26 | 2020-03-27 | 武汉大学 | 一种基于sm2数字签名算法的可链接环签名生成方法 |
CN110932866A (zh) * | 2019-11-26 | 2020-03-27 | 武汉大学 | 一种基于sm2数字签名算法的环签名生成方法 |
Non-Patent Citations (6)
Title |
---|
The Software/Hardware Co-Design and Implementation of SM2/3/4 Encryption/Decryption and Digital Signature System;Xin Zheng 等;《IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems》;20190904;全文 * |
交互型电子签名的形式化分析;朱鹏飞 等;《信息网络安全》;20160910(第09期);全文 * |
基于Borromean环签名的隐私数据认证方案;张凡 等;《密码学报》;20181015(第05期);全文 * |
基于环签名的CA系统的设计与实现;何伟林;《中国优秀硕士学位论文全文数据库 信息科技辑》;20200115;全文 * |
椭圆曲线数字签名方案的分析与设计;李靳元;《中国优秀硕士学位论文全文数据库 信息科技辑》;20190115;全文 * |
环签名算法研究与应用;刘彪;《中国优秀硕士学位论文全文数据库 信息科技辑》;20130415;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN111654381A (zh) | 2020-09-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110971405B (zh) | 多方协同的sm2签名、解密方法及其系统 | |
CN109257184B (zh) | 基于匿名广播加密的可链接环签名方法 | |
CN109787743B (zh) | 一种基于矩阵运算的可验证的全同态加密方法 | |
JP6042663B2 (ja) | signcryption方法と装置及び対応するsigncryption検証方法と装置 | |
CN110545279A (zh) | 兼具隐私和监管功能的区块链交易方法、装置及系统 | |
JPH1041932A (ja) | 暗号キー回復方法及び装置 | |
CN108712259B (zh) | 基于身份的可代理上传数据的云存储高效审计方法 | |
CN106936584B (zh) | 一种无证书公钥密码系统的构造方法 | |
CN110336673B (zh) | 一种基于隐私保护的区块链设计方法 | |
CN110867012A (zh) | 一种基于智能合约的去中心电子投票方法、装置、系统及存储介质 | |
CN113162773A (zh) | 一种可证安全的异构盲签密方法 | |
Kohlweiss et al. | Accountable metadata-hiding escrow: A group signature case study | |
CN110932865B (zh) | 一种基于sm2数字签名算法的可链接环签名生成方法 | |
CN116502266A (zh) | 基于同态加密的区块链可监管零知识证明的验证方法 | |
CN113132104A (zh) | 一种主动安全的ecdsa数字签名两方生成方法 | |
CN101931535A (zh) | 一种无需认证中心的自适应数据加密及认证方法 | |
CN116349203A (zh) | 识别拒绝服务攻击 | |
CN111245615B (zh) | 一种基于身份的数字签名密码逆向防火墙方法 | |
CN116346336B (zh) | 一种基于多层密钥生成中心的密钥分发方法及相关系统 | |
Shankar et al. | Improved Multisignature Scheme for Authenticity of Digital Document in Digital Forensics Using Edward-Curve Digital Signature Algorithm | |
CN111224783B (zh) | 一种支持密钥刷新的两方椭圆曲线数字签名方法 | |
CN110932863B (zh) | 一种基于编码的广义签密方法 | |
CN111654381B (zh) | 一种基于国密sm2公钥加密的环签名生成方法 | |
CN110932866B (zh) | 一种基于sm2数字签名算法的环签名生成方法 | |
CN113452529A (zh) | 一种基于sm2算法的适配器签名生成方法 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |