【技术实现步骤摘要】
一种基于国密SM2多重签名的数据验证方法
[0001]本专利技术涉及区块链
,特别是涉及一种基于国密
SM2
多重签名的数据验证方法
。
技术介绍
[0002]随着区块链技术的迅速发展,各种不同的区块链网络应运而生,为多样化的功能和应用场景提供了支持
。
然而,这些独立的区块链网络之间存在信息孤岛和互操作性问题,从而限制了区块链技术的全面发展和应用
。
为了解决这一挑战,跨链技术应运而生
。
跨链技术作为一种创新性的解决方案,旨在实现不同区块链网络之间的互联互通
。
通过跨链技术,可以确保资产转移
、
数据共享和智能合约在不同区块链网络之间顺畅地进行交互
。
这将有助于打破各个区块链网络之间的信息孤岛,进一步推动区块链技术的广泛应用和发展
。
[0003]当前主流的跨链技术包括哈希锁定
、
侧链
/
中继和公证人机制
。
各种技术都有其优缺点,但公证人机制在实现原理上相对简单,较好地克服了其他跨链技术存在的缺点
。
然而,节点的信誉
、
跨链交互的安全性和中心化现象等问题是公证人机制的软肋
。
[0004]侧链
/
中继技术符合区块链“去中心化”的要求,但侧链技术要求侧链在跨链交互之前必须知道主链相关信息,且侧链与侧链之间无法直接完成跨链交互
。
中继 ...
【技术保护点】
【技术特征摘要】
1.
一种基于国密
SM2
多重签名的数据验证方法,包括:
S1、
选择一个素数并确定公共参数,在公共参数中选择一个随机数作为第一随机数,第一随机数为私钥,并通过私钥和公共参数计算公钥;
S2、
输入一个消息,在公共参数中选择一个随机数作为第二随机数,通过第二随机数计算第一椭圆曲线点,设定单重签名标准,计算单重签名并选取合适的单重签名;
S3、
有多个参与方时,每个参与方输入各自的私钥并进行本地计算,每个参与方选择第三随机数和第四随机数,根据私钥
、
本地计算的结果以及第三随机数和第四随机数执行隐私乘积协议,得到加法份额,计算第二椭圆曲线点,并进行本地累加重构,得到多重签名,设定多重签名标准,选取合适的多重签名;
S4、
若输入单重签名
、
公钥和消息,计算第三椭圆曲线点,根据第三椭圆曲线点
、
公开参数和需要验证的单重签名进行计算,得到单重签名的一部分,验证单重签名是否有效;若输入多重签名
、
公钥集合和消息,计算第四椭圆曲线点,根据第四椭圆曲线点
、
公开参数和需要验证的多重签名进行计算,得到多重签名的一部分,验证多重签名是否有效;
S5、
判断单重签名或多重签名的验证的正确性
。2.
根据权利要求1所述的一种基于国密
SM2
多重签名的数据验证方法,其特征在于,在步骤
S1
中,选择一个素数并确定公共参数的过程为系统中的用户协商选择一个素数
p
,并挑选
a
,
b∈F
p
输入,
F
p
为素数阶
p
的有限域,根据椭圆曲线公式
E
生成椭圆曲线
E
p
(a
,
b)
,椭圆曲线公式
E
如下:
y2=
x3+ax+b(mod p)
在
E
p
(a
,
b)
上选择一个基点
G
=
(x
G
,
y
G
)≠O
,其中
x
G
,
y
G
∈F
p
,
G
的阶为
N
,并选择一个
Hash
函数,输出公共参数
pp
=
(E
p
(a
,
b)
,
N
,
G
,
Hash)。3.
根据权利要求1所述的一种基于国密
SM2
多重签名的数据验证方法,其特征在于,在步骤
S1
中,根据公共参数
pp
,用户选择一个随机数
d∈[1
,
N
‑
1]
作为第一随机数,第一随机数为私钥,计算
d
·
G
作为自己的公钥,输出公钥
pk
=
d
·
G
,私钥
sk
=
d。4.
根据权利要求1所述的一种基于国密
SM2
多重签名的数据验证方法,其特征在于,在步骤
S2
中,计算单重签名并选取合适的单重签名的具体过程为:
S211、
选择一个第二随机数
k∈[1
,
N
‑
1]
,计算第一椭圆曲线点
(x
k
,
y
k
)
=
k
·
G
;
S212、
计算
r
=
(Hash(m)+x
k
)mod N
,若
r
=0或
r+k
=
N
,则重新执行步骤
S211
;
S213、
计算
s
=
((d+1)
‑1*(k
‑
rd))mod N
,若
s
=0,则重新执行步骤
S211
和
S212
;
S214、
输出签名
σ
=
(r
,
s)。5.
根据权利要求1所述的一种基于国密
SM2
多重签名的数据验证方法,其特征在于,在步骤
S3
中,选取合适的多重签名的过程为:
S311、
每个参与方输入各自的私钥并进行本地计算的过程为有
n
个参与方
P1,
...
,
P
n
,他们各自的私钥分别为
d1,
...
,
d
n
,第一个参与方
P1本地计算其余参与方
P
i
(i≠1)
本地计算则
S312、
每个参与方
P
i
选择两个随机数
k
i
∈[1
,
N
‑
1]
,
δ
i
∈[1
,
N
‑
1]
,令其中
S313、
每个参与方
P
i
分别输入和
δ
i
执行隐私乘积协议,得到执行隐私乘积协议,得到是的加法份额,再输入
k
i
和
δ
i
,执行隐私乘积协议,得到,执行隐私乘积协议,得到是的加法份额,最后输入
δ
i
和
d
i
,执行隐私乘积协议,得到是的加法份额;
S314、
每个参与方
P
i
本地计算椭圆曲线点
(x
i
,
y
i
)
=
k
i
·
G
,
i∈[1
,
n]
;
S315、
对于一个消息
m
,每个参与方
P
i
广播
k
i
·
G
,然后本地累加重构出,然后本地累加重构出每个参与方
P
i
广播然后本地累加重构出
S316、
每个参与方
P
i
本地计算若或或则重新执行步骤
S311
‑
S315
;
S317、
参与方
P
i
本地计算本地计算输出签名若
[s]
i
=0,则重新执行步骤
S311
‑
S316
;
S318、
每个参与方
P
i
广播
[s]
i
,然后本地累加重构出,然后本地累加重构出,然后本地累加重构出若则重新执行步骤
S311
‑
S317
;
S319、
输出...
【专利技术属性】
技术研发人员:赖俊祚,莫晓翰,张蓉,吴嘉和,翁健,
申请(专利权)人:暨南大学,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。