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

一种基于国密制造技术

技术编号:39735161 阅读:17 留言:0更新日期:2023-12-17 23:37
本发明专利技术涉及区块链技术领域,公开了一种基于国密

【技术实现步骤摘要】
一种基于国密SM2多重签名的数据验证方法


[0001]本专利技术涉及区块链
,特别是涉及一种基于国密
SM2
多重签名的数据验证方法


技术介绍

[0002]随着区块链技术的迅速发展,各种不同的区块链网络应运而生,为多样化的功能和应用场景提供了支持

然而,这些独立的区块链网络之间存在信息孤岛和互操作性问题,从而限制了区块链技术的全面发展和应用

为了解决这一挑战,跨链技术应运而生

跨链技术作为一种创新性的解决方案,旨在实现不同区块链网络之间的互联互通

通过跨链技术,可以确保资产转移

数据共享和智能合约在不同区块链网络之间顺畅地进行交互

这将有助于打破各个区块链网络之间的信息孤岛,进一步推动区块链技术的广泛应用和发展

[0003]当前主流的跨链技术包括哈希锁定

侧链
/
中继和公证人机制

各种技术都有其优缺点,但公证人机制在实现原理上相对简单,较好地克服了其他跨链技术存在的缺点

然而,节点的信誉

跨链交互的安全性和中心化现象等问题是公证人机制的软肋

[0004]侧链
/
中继技术符合区块链“去中心化”的要求,但侧链技术要求侧链在跨链交互之前必须知道主链相关信息,且侧链与侧链之间无法直接完成跨链交互

中继技术实现难度较大,难以大规模应用

哈希锁定技术去中心化程度较高,但弊端是难以完成跨链资产转移,应用场景较为受限

[0005]在公证机制中,一个或一组公证人负责监听链上的事件,并在另一个链上执行相应操作

公证人需要拥有账户来协调跨链交易

公证机制的实现可以分为以下三种类型:
[0006]1)
单签名公证机制:一个节点作为公证人;
[0007]2)
多签名公证机制:多个节点组成公证组,采用多签名机制;
[0008]3)
分布式签名公证机制:多个公证人持有一个密钥的碎片,这些碎片随机分配给公证人

[0009]为了降低中心化风险,行业提出了多签名公证机制

这种机制利用密码学技术,在每次交易验证过程中从公证社区中随机选择部分公证人,并共同完成签名发行,以减少对公证人的依赖,这是目前的主流方向

[0010]现有技术公开了一种基于区块链的公证系统及方法;基于区块链的公证方法,包括:创建公证系统,该公证系统包括客户端

系统平台

公证平台和底层区块链;并按如下步骤进行:著作权人注册为平台用户,系统平台为新注册的平台用户生成唯一对应的用户
ID
;其特征在于:著作权人选择进行托管的公证平台,并将作品上传到系统平台;系统平台对上传的作品进行审核,系统平台为作品生成唯一对应的数字指纹;系统平台利用著作权人选择进行托管的公证平台提供的公钥加密已通过审核的作品,并上传至选择进行托管的公证平台,进行加密存储;著作权人对托管至公证平台的作品申请版权登记

该现有技术存在公证人机制中公证人节点功能过于集中,容易导致单点故障和陷入停滞的问题


技术实现思路

[0011]本专利技术的目的是:提供一种基于国密
SM2
多重签名的数据验证方法,以解决现有技术存在公证人机制中公证人节点功能过于集中,容易导致单点故障和陷入停滞的问题

[0012]为了实现上述目的,本专利技术提供了一种基于国密
SM2
多重签名的数据验证方法,包括:
[0013]S1、
选择一个素数并确定公共参数,在公共参数中选择一个随机数作为第一随机数,第一随机数为私钥,并通过私钥和公共参数计算公钥;
[0014]S2、
输入一个消息,在公共参数中选择一个随机数作为第二随机数,通过第二随机数计算第一椭圆曲线点,设定单重签名标准,计算单重签名并选取合适的单重签名;
[0015]S3、
有多个参与方时,每个参与方输入各自的私钥并进行本地计算,每个参与方选择第三随机数和第四随机数,根据私钥

本地计算的结果以及第三随机数和第四随机数执行隐私乘积协议,得到加法份额,计算第二椭圆曲线点,并进行本地累加重构,得到多重签名,设定多重签名标准,选取合适的多重签名;
[0016]S4、
若输入单重签名

公钥和消息,计算第三椭圆曲线点,根据第三椭圆曲线点

公开参数和需要验证的单重签名进行计算,得到单重签名的一部分,验证单重签名是否有效;若输入多重签名

公钥集合和消息,计算第四椭圆曲线点,根据第四椭圆曲线点

公开参数和需要验证的多重签名进行计算,得到多重签名的一部分,验证多重签名是否有效;
[0017]S5、
判断单重签名或多重签名的验证的正确性

[0018]优选的,在步骤
S1
中,选择一个素数并确定公共参数的过程为系统中的用户协商选择一个素数
p
,并挑选
a

b∈F
p
输入,
F
p
为素数阶
p
的有限域,根据椭圆曲线公式
E
生成椭圆曲线
E
p
(a

b)
,椭圆曲线公式
E
如下:
[0019]y2=
x3+ax+b(mod p)
[0020]在
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)。
[0021]优选的,在步骤
S1
中,根据公共参数
pp
,用户选择一个随机数
d∈[1

N

1]作为第一随机数,第一随机数为私钥,计算
d
·
G
作为自己的公钥,输出公钥
pk

d
·
G
,私本文档来自技高网
...

【技术保护点】

【技术特征摘要】
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、
输出...

【专利技术属性】
技术研发人员:赖俊祚莫晓翰张蓉吴嘉和翁健
申请(专利权)人:暨南大学
类型:发明
国别省市:

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

1