CN115174058A - 一种基于sm2算法的两方适配器签名生成方法及系统 - Google Patents

一种基于sm2算法的两方适配器签名生成方法及系统 Download PDF

Info

Publication number
CN115174058A
CN115174058A CN202210727987.1A CN202210727987A CN115174058A CN 115174058 A CN115174058 A CN 115174058A CN 202210727987 A CN202210727987 A CN 202210727987A CN 115174058 A CN115174058 A CN 115174058A
Authority
CN
China
Prior art keywords
signature
user
algorithm
server
adapter
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
CN202210727987.1A
Other languages
English (en)
Other versions
CN115174058B (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.)
Wuhan University WHU
Original Assignee
Wuhan University WHU
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 Wuhan University WHU filed Critical Wuhan University WHU
Priority to CN202210727987.1A priority Critical patent/CN115174058B/zh
Priority claimed from CN202210727987.1A external-priority patent/CN115174058B/zh
Publication of CN115174058A publication Critical patent/CN115174058A/zh
Application granted granted Critical
Publication of CN115174058B publication Critical patent/CN115174058B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0825Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic 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/3247Cryptographic 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)

Abstract

本发明公开了一种基于SM2算法的两方适配器签名生成方法及系统,引入双方协同产生适配器签名,在保证协同签名的正确性和公平性的同时,满足适配器签名的功能特性。本发明具有安全性高、功能完善等优点,可以在保证两方协同签名功能的基础上,提供适配器功能。能够被应用于区块链支付通道、区块链原子交换等多个应用领域。

Description

一种基于SM2算法的两方适配器签名生成方法及系统
技术领域
本发明属于信息安全技术领域,特别是一种基于SM2算法的两方适配器签名生成方法及系统。
背景技术
数字签名技术作为公钥密码体系的一部分,在很多场合有着重要的作用。通过在数据单元上附加额外数据或对数据单元作密码变换,允许数据的接收者确认数据的来源、完整性并防止伪造,根据应用场景和需求不同,衍生出了多种形式的数字签名:环签名、盲签名、代理签名和聚合签名等等。
适配器签名(Adaptor Signature)本质上是一种两步式的签名算法:拥有私钥的签名者对一个消息和一个秘密值的承诺进行预签名,拥有秘密值的适配者可以将预签名值适配为完整的签名值。该方案是标准数字签名的一种扩展形式,它可以创建一个隐含困难关系(例如离散对数)状态的“预签名”,并通过困难关系证据将该预签名转换为一个完整签名,且转换后的完整签名。可通过一个标准签名方案的验证算法验证其有效性。
SM2算法是由国家密码管理局发布的一套椭圆曲线密码算法,也是我国网络空间安全的核心技术之一,标准文档内容主要包括4部分:总则,数字签名算法,密钥交换协议和公钥加密算法,其中用到的哈希算法为SM3密码杂凑算法,密钥派生函数在标准中也有定义。
本专利以SM2数字签名算法为基础,设计了一种新的两方适配器签名生成方法及系统,引入双方协同产生适配器签名,在保证协同签名的正确性和公平性的同时,满足适配器签名的功能特性,可以有效地衔接SM2签名方案的密钥生成、签名生成和签名验证算法。
发明内容
本发明的上述技术问题主要是通过下述技术方案得以解决的:
一种基于SM2算法的两方适配器签名生成方法,其特征在于,在一个适配器预签名生成后,用户能够通过困难关系证据将预签名转变为完整签名,并且任何用户能够通过预签名和完整签名提取困难关系证据。
在上述的方法,困难关系证据包括离散对数实例IY,其中,离散对数实例IY为(Y,y),其中Y=yG。
在上述的方法,转变为完整签名之前需要验证签名的有效性,具体是:
计算
Figure BDA0003710294910000021
和r′=x1+H(Z||m)modq。
比较r′=r。如果相等,则br=true;否则,br=false。
验证零知识证明b=PY((P,Q),π)。
如果br和b均为true,则签名有效并输出true;否则,签名无效输出false。
在上述的方法,输入系统参数PP、预签名值
Figure BDA0003710294910000022
和离散对数解y,完整的签名值σ=(r,s),其中
Figure BDA0003710294910000023
在上述的方法,提取困难关系证据时,输入系统参数PP、预签名值
Figure BDA0003710294910000024
签名值σ和离散对数实例IY,提取过程如图3所示,首先计算
Figure BDA0003710294910000025
验证(Y,y)是否为一个正确的离散对数实例,如果是,则提取成功并输出y′;否则,提取失败。
在上述的方法,生成SM2数字签名时,有两方共同参与,一方为客户端U,一方为服务器S。客户端U和服务器S在本阶段利用各自的部分私钥,协同产生关于消息m的SM2适配器签名。签名者根据SM2签名算法的密钥生成算法产生其公私钥对,记其私钥sk为
Figure BDA0003710294910000026
其公钥pk为P=dG。离散对数实例IY为(Y,y),其中Y=yG。
在上述的方法,
密钥生成时,输入系统参数PP,输出用户和服务器的公私钥对。并且,
用户U生成随机数
Figure BDA0003710294910000027
作为部分私钥,计算公钥
Figure BDA0003710294910000028
发送给服务器S。
服务器S生成随机数
Figure BDA0003710294910000029
作为部分私钥,计算公钥
Figure BDA00037102949100000210
发送给用户U。
用户U计算
Figure BDA00037102949100000211
服务器S计算
Figure BDA00037102949100000212
在上述的方法,
给定输入系统参数PP、待签名的消息m、离散对数实例IY,用户产生预签名值
Figure BDA00037102949100000213
具体是:
用户U计算e=H(Z||m),随机选取生成随机数
Figure BDA00037102949100000214
计算KU=[kU·dU]G,发送(e,KU)给服务器S。
服务器S随机选取生成随机数
Figure BDA0003710294910000031
计算
Figure BDA0003710294910000032
其中
Figure BDA0003710294910000033
计算r=x1+e mod q,产生中间变量s′=dS·(kS+r)mod q,生成零知识证明π=PY((PS,Q),dS),该证明是向验证者证明存在一个
Figure BDA0003710294910000034
满足
Figure BDA0003710294910000035
Figure BDA0003710294910000036
发送(r,s′,Q,π)给用户U。
用户U计算
Figure BDA0003710294910000037
输出预签名值
Figure BDA0003710294910000038
一种系统,其特征在于,该系统被配置为能够在一个适配器预签名生成后,用户能够通过该系统中的困难关系证据将预签名转变为完整签名,并且任何用户能够通过该系统中预签名和完整签名提取困难关系证据。
因此,本发明具有如下优点:本发明的两方适配器签名方案在两方协同签名的基础上,提供适配器功能,可以广泛应用于区块链支付通道、区块链原子交换等多个应用领域。
附图说明
附图1是本发明的密钥与预签名生成流程图;
附图2是本发明的预签名验证流程图;
附图3是本发明的签名适配与提取过程流程图;
具体实施方式
下面通过实施例,并结合附图,对本发明的技术方案作进一步具体的说明。
实施例:
本发明涉及的参数定义如下:
Figure BDA0003710294910000039
阶为素数q的椭圆曲线群,元素为椭圆曲线上的点。
G:循环群
Figure BDA00037102949100000310
的一个生成元。
q:循环群
Figure BDA00037102949100000311
的阶。
Figure BDA00037102949100000312
由整数1,2,...,q-1组成的整数集合。
mod q:模q运算。
kP:椭圆曲线上点P的k倍点,k是正整数。
H:密码杂凑函数,
Figure BDA00037102949100000313
m:待签名的消息值。
Z:签名算法输入的共同信息。
Figure BDA0003710294910000041
预签名值。
σ:签名值。
||:比特串拼接。
U:用户。
S:服务器。
dU:用户U的生成第一部分私钥。
PU:用户U的生成第一部分公钥,这里
Figure BDA0003710294910000042
dS:服务器S的生成第二部分私钥。
PS:服务器S的生成第二部分公钥,这里
Figure BDA0003710294910000043
PPUB:完整公钥,这里
Figure BDA0003710294910000044
π:零知识证明。
(Y,y):离散对数实例。
本发明提出了一种基于SM2算法的两方适配器签名生成方法及系统。在本方案中,生成SM2数字签名时,有两方共同参与,一方为客户端U,一方为服务器S。客户端U和服务器S在本阶段利用各自的部分私钥,协同产生关于消息m的SM2适配器签名。
签名者根据SM2签名算法的密钥生成算法产生其公私钥对,记其私钥sk为
Figure BDA0003710294910000045
其公钥pk为P=dG。离散对数实例IY为(Y,y),其中Y=yG。
1)密钥生成
如图1所示,密钥生成方法步骤为:输入系统参数PP,输出用户和服务器的公私钥对。
a)U→S:用户U生成随机数
Figure BDA0003710294910000046
作为部分私钥,计算公钥
Figure BDA0003710294910000047
发送给服务器S。
b)S→U:服务器S生成随机数
Figure BDA0003710294910000048
作为部分私钥,计算公钥
Figure BDA0003710294910000049
发送给用户U。
c)用户U计算
Figure BDA00037102949100000410
d)服务器S计算
Figure BDA00037102949100000411
2)预签名生成
输入系统参数PP、待签名的消息m、离散对数实例IY,如图1所示,用户和服务器按照以下步骤进行交互,最终用户产生预签名值
Figure BDA0003710294910000051
a)U→S:用户U计算e=H(Z||m),随机选取生成随机数
Figure BDA0003710294910000052
计算KU=[kU·dU]G,发送(e,KU)给服务器S。
b)S→U:服务器S随机选取生成随机数
Figure BDA0003710294910000053
计算
Figure BDA0003710294910000054
Figure BDA0003710294910000055
其中
Figure BDA0003710294910000056
计算r=x1+e mod q,产生中间变量s′=dS·(kS+r)mod q,生成零知识证明π=PY((PS,Q),dS),该证明是向验证者证明存在一个
Figure BDA0003710294910000057
满足
Figure BDA0003710294910000058
Figure BDA0003710294910000059
发送(r,s′,Q,π)给用户U。
c)用户U计算
Figure BDA00037102949100000510
输出预签名值
Figure BDA00037102949100000511
3)预签名验证
输入系统参数PP、待验证的消息m、离散对数实例IY和预签名值
Figure BDA00037102949100000512
如图2所示,按照以下步骤验证预签名值有效性:
a)计算
Figure BDA00037102949100000513
和r′=x1+H(Z||m)modq。
b)比较r′=r。如果相等,则br=true;否则,br=false。
c)验证零知识证明b=PY((P,Q),π)。
d)如果br和b均为true,则签名有效并输出true;否则,签名无效输出false。
4)适配
输入系统参数PP、预签名值
Figure BDA00037102949100000514
和离散对数解y,适配过程如图3所示,计算完整的签名值σ=(r,s),其中
Figure BDA00037102949100000515
5)提取
输入系统参数PP、预签名值
Figure BDA00037102949100000516
签名值σ和离散对数实例IY,提取过程如图3所示,首先计算
Figure BDA00037102949100000517
验证(Y,y)是否为一个正确的离散对数实例,如果是,则提取成功并输出y′;否则,提取失败。
本文中所描述的具体实施例仅仅是对本发明精神作举例说明。本发明所属技术领域的技术人员可以对所描述的具体实施例做各种各样的修改或补充或采用类似的方式替代,但并不会偏离本发明的精神或者超越所附权利要求书所定义的范围。

Claims (9)

1.一种基于SM2算法的两方适配器签名生成方法,其特征在于,在一个适配器预签名生成后,用户能够通过困难关系证据将预签名转变为完整签名,并且任何用户能够通过预签名和完整签名提取困难关系证据。
2.根据权利要求1所述的一种基于SM2算法的两方适配器签名生成方法,其特征在于,困难关系证据包括离散对数实例IY,其中,离散对数实例IY为(Y,y),其中Y=yG。
3.根据权利要求1所述的一种基于SM2算法的两方适配器签名生成方法,其特征在于,转变为完整签名之前需要验证签名的有效性,具体是:
计算
Figure FDA0003710294900000011
和r′=x1+H(Z||m)modq;
比较r′=r;如果相等,则br=true;否则,br=false;
验证零知识证明b=PY((P,Q),π);
如果br和b均为true,则签名有效并输出true;否则,签名无效输出false。
4.根据权利要求1所述的一种基于SM2算法的两方适配器签名生成方法,其特征在于,输入系统参数PP、预签名值
Figure FDA0003710294900000012
和离散对数解y,完整的签名值σ=(r,s),其中
Figure FDA0003710294900000013
5.根据权利要求1所述的一种基于SM2算法的两方适配器签名生成方法,其特征在于,提取困难关系证据时,输入系统参数PP、预签名值
Figure FDA0003710294900000014
签名值σ和离散对数实例IY,提取过程如图3所示,首先计算
Figure FDA0003710294900000015
验证(Y,y)是否为一个正确的离散对数实例,如果是,则提取成功并输出y′;否则,提取失败。
6.根据权利要求1所述的一种基于SM2算法的两方适配器签名生成方法,其特征在于,生成SM2数字签名时,有两方共同参与,一方为客户端U,一方为服务器S;客户端U和服务器S在本阶段利用各自的部分私钥,协同产生关于消息m的SM2适配器签名;签名者根据SM2签名算法的密钥生成算法产生其公私钥对,记其私钥sk为
Figure FDA0003710294900000016
其公钥pk为P=dG;离散对数实例IY为(Y,y),其中Y=yG。
7.根据权利要求6所述的一种基于SM2算法的两方适配器签名生成方法,其特征在于,
密钥生成时,输入系统参数PP,输出用户和服务器的公私钥对;并且,
用户U生成随机数
Figure FDA0003710294900000017
作为部分私钥,计算公钥
Figure FDA0003710294900000018
发送给服务器S;
服务器S生成随机数
Figure FDA0003710294900000021
作为部分私钥,计算公钥
Figure FDA0003710294900000022
发送给用户U;
用户U计算
Figure FDA0003710294900000023
服务器S计算
Figure FDA0003710294900000024
8.根据权利要求6所述的一种基于SM2算法的两方适配器签名生成方法,其特征在于,
给定输入系统参数PP、待签名的消息m、离散对数实例IY,用户产生预签名值
Figure FDA0003710294900000025
具体是:
用户U计算e=H(Z||m),随机选取生成随机数
Figure FDA0003710294900000026
计算KU=[kU·dU]G,发送(e,KU)给服务器S;
服务器S随机选取生成随机数
Figure FDA0003710294900000027
计算
Figure FDA0003710294900000028
其中
Figure FDA0003710294900000029
计算r=x1+e mod q,产生中间变量s′=dS·(kS+r)mod q,生成零知识证明π=PY((PS,Q),dS),该证明是向验证者证明存在一个
Figure FDA00037102949000000210
满足
Figure FDA00037102949000000211
Figure FDA00037102949000000212
发送(r,s′,Q,π)给用户U;
用户U计算
Figure FDA00037102949000000213
输出预签名值
Figure FDA00037102949000000214
9.一种系统,其特征在于,该系统被配置为能够在一个适配器预签名生成后,用户能够通过该系统中的困难关系证据将预签名转变为完整签名,并且任何用户能够通过该系统中预签名和完整签名提取困难关系证据。
CN202210727987.1A 2022-06-23 一种基于sm2算法的两方适配器签名生成方法及系统 Active CN115174058B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210727987.1A CN115174058B (zh) 2022-06-23 一种基于sm2算法的两方适配器签名生成方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210727987.1A CN115174058B (zh) 2022-06-23 一种基于sm2算法的两方适配器签名生成方法及系统

Publications (2)

Publication Number Publication Date
CN115174058A true CN115174058A (zh) 2022-10-11
CN115174058B CN115174058B (zh) 2024-06-11

Family

ID=

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140211938A1 (en) * 2013-01-29 2014-07-31 Certicom Corp. Modified elliptic curve signature algorithm for message recovery
CN107124274A (zh) * 2017-05-18 2017-09-01 深圳奥联信息安全技术有限公司 基于sm2的数字签名方法和装置
WO2019047418A1 (zh) * 2017-09-05 2019-03-14 深圳奥联信息安全技术有限公司 数字签名方法、装置和系统
CN112152807A (zh) * 2020-09-27 2020-12-29 成都国泰网信科技有限公司 一种基于sm2算法的两方协同数字签名方法
CN113452529A (zh) * 2021-06-02 2021-09-28 武汉大学 一种基于sm2算法的适配器签名生成方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140211938A1 (en) * 2013-01-29 2014-07-31 Certicom Corp. Modified elliptic curve signature algorithm for message recovery
CN107124274A (zh) * 2017-05-18 2017-09-01 深圳奥联信息安全技术有限公司 基于sm2的数字签名方法和装置
WO2019047418A1 (zh) * 2017-09-05 2019-03-14 深圳奥联信息安全技术有限公司 数字签名方法、装置和系统
CN112152807A (zh) * 2020-09-27 2020-12-29 成都国泰网信科技有限公司 一种基于sm2算法的两方协同数字签名方法
CN113452529A (zh) * 2021-06-02 2021-09-28 武汉大学 一种基于sm2算法的适配器签名生成方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
冯琦;何德彪;罗敏;李莉;: "移动互联网环境下轻量级SM2两方协同签名", 计算机研究与发展, no. 10, 9 October 2020 (2020-10-09) *
梁宵;耿方;杜悦琨;: "一种基于国产密码算法的粮食数据交换方案", 食品安全导刊, no. 33, 25 November 2016 (2016-11-25) *

Similar Documents

Publication Publication Date Title
CN108809658B (zh) 一种基于sm2的身份基的数字签名方法与系统
CN108667626B (zh) 安全的两方协作sm2签名方法
CN110912708B (zh) 一种基于sm9数字签名算法的环签名生成方法
CN109474422B (zh) 一种多方协同产生sm2数字签名的方法
CN108551392B (zh) 一种基于sm9数字签名的盲签名生成方法及系统
CN104539423B (zh) 一种无双线性对运算的无证书公钥密码体制的实现方法
CN107659395B (zh) 一种多服务器环境下基于身份的分布式认证方法及系统
CN111130804B (zh) 一种基于sm2算法的协同签名方法及装置、系统、介质
CN110138567B (zh) 一种基于ecdsa的协同签名方法
CN107248909A (zh) 一种基于sm2算法的无证书安全签名方法
JP2013539295A (ja) メッセージ復元を伴うデジタル署名の認証された暗号化
CN106936584B (zh) 一种无证书公钥密码系统的构造方法
CN114095181B (zh) 一种基于国密算法的门限环签名方法及系统
CN113572603A (zh) 一种异构的用户认证和密钥协商方法
CN111447065A (zh) 一种主动安全的sm2数字签名两方生成方法
CN113162773A (zh) 一种可证安全的异构盲签密方法
CN110943845A (zh) 一种轻量级两方协同产生sm9签名的方法及介质
CN113179153B (zh) 一种基于无证书的用户认证和密钥协商方法
CN111245615B (zh) 一种基于身份的数字签名密码逆向防火墙方法
CN112800482A (zh) 基于身份的在线/离线安全云存储审计方法
CN115174056B (zh) 一种基于sm9签名的变色龙签名生成方法及装置
Wang et al. Perfect ambiguous optimistic fair exchange
CN115174058B (zh) 一种基于sm2算法的两方适配器签名生成方法及系统
CN114978488A (zh) 一种基于sm2算法的协同签名方法及系统
CN115174058A (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