当前位置: 首页 > 专利查询>武汉大学专利>正文

一种基于SM2算法的两方适配器签名生成方法及系统技术方案

技术编号:35187775 阅读:20 留言:0更新日期:2022-10-12 18:00
本发明专利技术公开了一种基于SM2算法的两方适配器签名生成方法及系统,引入双方协同产生适配器签名,在保证协同签名的正确性和公平性的同时,满足适配器签名的功能特性。本发明专利技术具有安全性高、功能完善等优点,可以在保证两方协同签名功能的基础上,提供适配器功能。能够被应用于区块链支付通道、区块链原子交换等多个应用领域。用领域。用领域。

【技术实现步骤摘要】
一种基于SM2算法的两方适配器签名生成方法及系统


[0001]本专利技术属于信息安全
,特别是一种基于SM2算法的两方适配器签名生成方法及系统。

技术介绍

[0002]数字签名技术作为公钥密码体系的一部分,在很多场合有着重要的作用。通过在数据单元上附加额外数据或对数据单元作密码变换,允许数据的接收者确认数据的来源、完整性并防止伪造,根据应用场景和需求不同,衍生出了多种形式的数字签名:环签名、盲签名、代理签名和聚合签名等等。
[0003]适配器签名(Adaptor Signature)本质上是一种两步式的签名算法:拥有私钥的签名者对一个消息和一个秘密值的承诺进行预签名,拥有秘密值的适配者可以将预签名值适配为完整的签名值。该方案是标准数字签名的一种扩展形式,它可以创建一个隐含困难关系(例如离散对数)状态的“预签名”,并通过困难关系证据将该预签名转换为一个完整签名,且转换后的完整签名。可通过一个标准签名方案的验证算法验证其有效性。
[0004]SM2算法是由国家密码管理局发布的一套椭圆曲线密码算法,也是我国网络空间安全的核心技术之一,标准文档内容主要包括4部分:总则,数字签名算法,密钥交换协议和公钥加密算法,其中用到的哈希算法为SM3密码杂凑算法,密钥派生函数在标准中也有定义。
[0005]本专利以SM2数字签名算法为基础,设计了一种新的两方适配器签名生成方法及系统,引入双方协同产生适配器签名,在保证协同签名的正确性和公平性的同时,满足适配器签名的功能特性,可以有效地衔接SM2签名方案的密钥生成、签名生成和签名验证算法。

技术实现思路

[0006]本专利技术的上述技术问题主要是通过下述技术方案得以解决的:
[0007]一种基于SM2算法的两方适配器签名生成方法,其特征在于,在一个适配器预签名生成后,用户能够通过困难关系证据将预签名转变为完整签名,并且任何用户能够通过预签名和完整签名提取困难关系证据。
[0008]在上述的方法,困难关系证据包括离散对数实例I
Y
,其中,离散对数实例I
Y
为(Y,y),其中Y=yG。
[0009]在上述的方法,转变为完整签名之前需要验证签名的有效性,具体是:
[0010]计算和r

=x1+H(Z||m)modq。
[0011]比较r

=r。如果相等,则b
r
=true;否则,b
r
=false。
[0012]验证零知识证明b=P
Y
((P,Q),π)。
[0013]如果b
r
和b均为true,则签名有效并输出true;否则,签名无效输出false。
[0014]在上述的方法,输入系统参数PP、预签名值和离散对数解y,完整的签名值σ=(r,s),其中
[0015]在上述的方法,提取困难关系证据时,输入系统参数PP、预签名值签名值σ和离散对数实例I
Y
,提取过程如图3所示,首先计算验证(Y,y)是否为一个正确的离散对数实例,如果是,则提取成功并输出y

;否则,提取失败。
[0016]在上述的方法,生成SM2数字签名时,有两方共同参与,一方为客户端U,一方为服务器S。客户端U和服务器S在本阶段利用各自的部分私钥,协同产生关于消息m的SM2适配器签名。签名者根据SM2签名算法的密钥生成算法产生其公私钥对,记其私钥sk为其公钥pk为P=dG。离散对数实例I
Y
为(Y,y),其中Y=yG。
[0017]在上述的方法,
[0018]密钥生成时,输入系统参数PP,输出用户和服务器的公私钥对。并且,
[0019]用户U生成随机数作为部分私钥,计算公钥发送给服务器S。
[0020]服务器S生成随机数作为部分私钥,计算公钥发送给用户U。
[0021]用户U计算
[0022]服务器S计算
[0023]在上述的方法,
[0024]给定输入系统参数PP、待签名的消息m、离散对数实例I
Y
,用户产生预签名值具体是:
[0025]用户U计算e=H(Z||m),随机选取生成随机数计算K
U
=[k
U
·
d
U
]G,发送(e,K
U
)给服务器S。
[0026]服务器S随机选取生成随机数计算其中计算r=x1+e mod q,产生中间变量s

=d
S
·
(k
S
+r)mod q,生成零知识证明π=P
Y
((P
S
,Q),d
S
),该证明是向验证者证明存在一个满足且发送(r,s

,Q,π)给用户U。
[0027]用户U计算输出预签名值
[0028]一种系统,其特征在于,该系统被配置为能够在一个适配器预签名生成后,用户能够通过该系统中的困难关系证据将预签名转变为完整签名,并且任何用户能够通过该系统中预签名和完整签名提取困难关系证据。
[0029]因此,本专利技术具有如下优点:本专利技术的两方适配器签名方案在两方协同签名的基础上,提供适配器功能,可以广泛应用于区块链支付通道、区块链原子交换等多个应用领域。
附图说明
[0030]附图1是本专利技术的密钥与预签名生成流程图;
[0031]附图2是本专利技术的预签名验证流程图;
[0032]附图3是本专利技术的签名适配与提取过程流程图;
具体实施方式
[0033]下面通过实施例,并结合附图,对本专利技术的技术方案作进一步具体的说明。
[0034]实施例:
[0035]本专利技术涉及的参数定义如下:
[0036]阶为素数q的椭圆曲线群,元素为椭圆曲线上的点。
[0037]G:循环群的一个生成元。
[0038]q:循环群的阶。
[0039]由整数1,2,...,q

1组成的整数集合。
[0040]mod q:模q运算。
[0041]kP:椭圆曲线上点P的k倍点,k是正整数。
[0042]H:密码杂凑函数,
[0043]m:待签名的消息值。
[0044]Z:签名算法输入的共同信息。
[0045]预签名值。
[0046]σ:签名值。
[0047]||:比特串拼接。
[0048]U:用户。
[0049]S:服务器。
[0050]d
U
:用户U的生成第一部分私钥。
[0051]P
U
:用户U的生成第一部分公钥,这里
[0052]d
S
:服务器S的生成第二部分私钥。
[0053]P
S
:服务器S的生成第二部分公钥,这里...

【技术保护点】

【技术特征摘要】
1.一种基于SM2算法的两方适配器签名生成方法,其特征在于,在一个适配器预签名生成后,用户能够通过困难关系证据将预签名转变为完整签名,并且任何用户能够通过预签名和完整签名提取困难关系证据。2.根据权利要求1所述的一种基于SM2算法的两方适配器签名生成方法,其特征在于,困难关系证据包括离散对数实例I
Y
,其中,离散对数实例I
Y
为(Y,y),其中Y=yG。3.根据权利要求1所述的一种基于SM2算法的两方适配器签名生成方法,其特征在于,转变为完整签名之前需要验证签名的有效性,具体是:计算和r

=x1+H(Z||m)modq;比较r

=r;如果相等,则b
r
=true;否则,b
r
=false;验证零知识证明b=P
Y
((P,Q),π);如果b
r
和b均为true,则签名有效并输出true;否则,签名无效输出false。4.根据权利要求1所述的一种基于SM2算法的两方适配器签名生成方法,其特征在于,输入系统参数PP、预签名值和离散对数解y,完整的签名值σ=(r,s),其中5.根据权利要求1所述的一种基于SM2算法的两方适配器签名生成方法,其特征在于,提取困难关系证据时,输入系统参数PP、预签名值签名值σ和离散对数实例I
Y
,提取过程如图3所示,首先计算验证(Y,y)是否为一个正确的离散对数实例,如果是,则提取成功并输出y

;否则,提取失败。6.根据权利要求1所述的一种基于SM2算法的两方适配器签名生成方法,其特征在于,生成SM2数字签名时,有两方共同参与,一方为客户端U,一方为服务器S;客户端U和服务器S在本...

【专利技术属性】
技术研发人员:包子健何德彪韦薇陈鑫冯琦罗敏
申请(专利权)人:武汉大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1