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

一种基于SM9的防双重认证签名方法及系统技术方案

技术编号:37965162 阅读:8 留言:0更新日期:2023-06-30 09:40
本发明专利技术公开了一种基于SM9的防双重认证签名方法及系统,其中的方法包括初始化步骤、密钥生成步骤、签名步骤、验证步骤以及密钥提取步骤,利用一次性签名架构的转换,对不诚实签名者进行私钥提取公开,有效防止双重认证,符合不可伪造安全性。本发明专利技术具有安全性高、功能完善、运算效率高等优点,对密码算法的国产化具有极大的推动作用,适用于区块链支付系统防止双花攻击、PKI体系防止管理机构重复发放证书等多种场景。书等多种场景。书等多种场景。

【技术实现步骤摘要】
一种基于SM9的防双重认证签名方法及系统


[0001]本专利技术涉及信息安全
,尤其涉及一种基于SM9的防双重认证签名方法及系统。

技术介绍

[0002]数字签名技术是一种重要的密码学原语,作为公钥密码体系的组成部分之一,在众多日常生活场景中起着不可替代的作用。通过利用签名者私钥在消息数据单元上附加额外数据或对数据单元作密码变换,允许数据的接收者追溯数据的来源,保证完整性并防止伪造。根据应用场景和需求不同,衍生出了多种形式的数字签名:群签名、环签名、盲签名、门限签名等等。
[0003]双重身份验证防止签名(DAP)是一种签名性质,旨在对两个具有相同第一部分(称为地址,address)但不同第二部分(称之为内容载荷,payload)的消息进行签名,允许从两个这样的签名中公开提取秘密签名密钥但不揭露签名者身份。DAP的主要应用是抑制和/或惩罚在同一地址内的不同有效载荷上创建两个签名,例如惩罚PKI体系中为同一域名分发不同密钥证书的证书管理机构、抵抗交易系统中的双花攻击等。
[0004]目前还没有基于SM9的防双重认证签名方法。

技术实现思路

[0005]本专利技术以SM9数字签名算法为基础,设计了一种新型的防双重认证签名生成方法及系统,在保证签名的正确性和不可伪造性的同时,满足防双重认证签名的功能特性,有效地将SM9签名方案的密钥生成、签名生成和签名验证算法结合起来。
[0006]本专利技术第一方面提供了一种基于SM9的防双重认证签名方法,包括:
[0007]初始化步骤:密钥生成中心生成系统公共参数pp、主私钥msk、主公钥P
pub

[0008]密钥生成步骤:将用户身份ID
A
作为其公钥,生成用户密钥对;
[0009]签名步骤:根据待签名的消息m,私钥计算消息签名σ;
[0010]验证步骤:根据待验证的消息m

=(a,p),主公钥P
pub
,身份ID
A
和消息签名值σ

=S,验证签名是否通过;
[0011]密钥提取步骤:根据SOT公钥vk,消息m1=(a1,p1),m2=(a2,p2),签名σ1=S1,σ2=S2;对消息m1、m2进行解析,根据解析结果和预设条件提取出用户私钥
[0012]在一种实施方式中,初始化步骤具体包括:
[0013]a)密钥生成中心产生随机数作为主私钥,并计算主公钥P
pub
=[d]P2;
[0014]b)计算群G
T
中的元素g=e(P1,P
pub
)。
[0015]在一种实施方式中,密钥生成步骤具体包括:
[0016]a)密钥生成中心生成用户A部分私钥为
[0017]b)初始化vk[
·
]←⊥
,K[
·
]←⊥

[0018]c)对于所有的地址进行如下计算:
[0019]i.F为伪随机函数;
[0020]ii.计算随机元素w=u
·
G;
[0021]iii.令vk[a]←
w;
[0022]iv.令
[0023]d)
[0024]e)vk

(vk[
·
],K[
·
])。
[0025]其中,H1(
·
):为由密码杂凑函数派生的密码函数,为

表示赋值操作,H(
·
)为由密码杂凑函数派生的密码函数,为vk(
·
)为SOT的部分公钥生成函数,用于生成验证签名的公钥;vk[]表示生成对应地址a的用户公钥,K(
·
)为SOT的部分公钥生成函数,用于生成提取用户私钥的公钥;sk、vk为用户私钥和用户公钥。
[0026]在一种实施方式中,签名步骤具体包括:
[0027]a)将待签名的消息m解析为(a,p);
[0028]b)F为伪随机函数;
[0029]c)计算w

=u
·
G;
[0030]d)计算h=H2(m||

);
[0031]e)计算l=u

hmodq;
[0032]f)计算
[0033]g)输出签名值σ=S;
[0034]其中,u

为生成的对应地址a的用户A的随机数,e

为生成签名的中间变量,h为哈希值,H2(
·
)为由密码杂凑函数派生的密码函数,为l为生成签名的中间变量,S为签名值。
[0035]在一种实施方式中,验证步骤具体包括:
[0036]a)将待验证的消息m

解析为(a,p);
[0037]b)计算w
″←
vk[a];
[0038]c)计算h

=H2(m

||

);
[0039]d)计算P=[H1(ID
A
)]P2+P
pub

[0040]e)计算u

=e(S,P);
[0041]f)计算w
″′
=u
·
g
h

[0042]g)计算h

=H2(m

||w
″′
),若h

=h

,通过验证;反之,验证不通过;
[0043]其中,w

为签名验证阶段从列表中获得的用户A的随机元素,h

为验证签名的中间值,P为验证签名的中间值,u

为验证签名的中间值,w
″′
为验证签名的中间值,h

为对m

||w
″′
的哈希值。
[0044]在一种实施方式中,密钥提取步骤具体包括:
[0045]a)解析m
i
为(a1p1),m2为(a2,p2);
[0046]b)(vk[a1],K[a1])

vk;
[0047]c)检查是否满足条件a1=a2∧p1≠p2,若满足,则执行下一步d),否则,返回


[0048]d)检查是否满足条件若满足,则执行下一步e),否则,返回


[0049]e)计算w1←
vk[a1];
[0050]f)计算h1=片2(m1||w
i
),h2=H2(m2||w1);
[0051]g)计算若返回u1=

,则退出算法;
[0052]h)
[00本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于SM9的防双重认证签名方法,其特征在于,包括:初始化步骤:密钥生成中心生成系统公共参数pp、主私钥msk、主公钥P
pub
;密钥生成步骤:将用户身份ID
A
作为其公钥,生成用户密钥对;签名步骤:根据待签名的消息m,私钥计算消息签名σ;验证步骤:根据待验证的消息m

=(a,p),主公钥P
pub
,身份ID
A
和消息签名值σ

=S,验证签名是否通过;密钥提取步骤:根据SOT公钥vk,消息m1=(a1,p1),m2=(a2,p2),签名σ1=S1,σ2=S2;对消息m1、m2进行解析,根据解析结果和预设条件提取出用户私钥2.如权利要求1所述的基于SM9的防双重认证签名方法,其特征在于,初始化步骤具体包括:a)密钥生成中心产生随机数作为主私钥,并计算主公钥P
pub
=[d]P2;b)计算群G
T
中的元素g=e(P1,P
pub
)。3.如权利要求1所述的基于SM9的防双重认证签名方法,其特征在于,密钥生成步骤具体包括:a)密钥生成中心生成用户A部分私钥为b)初始化vk[
·
]
←⊥
,K[
·
]
←⊥
;c)对于所有的地址进行如下计算:F为伪随机函数;ii.计算随机元素w=u
·
G;iii.令vk[a]

w;iv.令d)e)vk

(vk[
·
],K[
·
]);其中,H1(
·
)为由密码杂凑函数派生的密码函数,为

表示赋值操作,H(
·
)为由密码杂凑函数派生的密码函数,为vk(
·
)为SOT的部分公钥生成函数,用于生成验证签名的公钥;vk[a]表示生成对应地址a的用户公钥,K(
·
)为SOT的部分公钥生成函数,用于生成提取用户私钥的公钥;sk、vk为用户私钥和用户公钥。4.如权利要求l所述的基于SM9的防双重认证签名方法,其特征在于,签名步骤具体包括:a)将待签名的消息m解析为(a,p);b)F为伪随机函数;c)计算w

=u
·
G;d)计算h=H2(m||w

);e)计算l=u

h mod q;f)计算g)输出签名值σ=S;其中,u

为生成的对应地址a的用户A的随机数,w

为生成签名的中间变量,h为哈希值,
H2(
·
)为由密码杂凑函数派生的密码函数,为l为生成签名的中间变量,S为签名值。5.如权利要求1所述的基于SM9的防双重认证签名方法,其特征在于,验证步骤具体包括:a)将待验证的消息m

解析为(a,p);b)计算w
″←
vk[a];c...

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

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

1