【技术实现步骤摘要】
基于Schnorr门限签名的区块链隐私保护方法
[0001]本专利技术属于信息安全领域,涉及基于
Schnorr
门限签名的区块链隐私保护方法
。
技术介绍
[0002]近年来,区块链已经发展成为去中心化应用程序的平台,具有高完整性
、
透明度和不可篡改等特性
。Schnorr
签名算法是密码学家
Claus Schnorr
在
1989
年提出的,它基于离散对数难题,实现了数字签名的生成和验证过程
。
相对于其它数字签名算法,
Schnorr
签名算法具有安全性高
、
简介高效
、
支持多签名组合
、
抗攻击性等优点
。
门限签名需多方协作共同完成签名过程
。
在区块链应用中,门限签名可以解决由一方保管密钥而导致的单点故障问题,防止因权力集中而引发的信任问题,从而提升区块链的安全性和隐私保护
。
在现有的门限签名方法,大多数利用了
Lagrange
插值多项式算法来恢复群体私钥;虽然它们能够避免单点故障这一问题,但密钥共享算法复杂度较高
。
因此如何提供一种高效的门限签名方法是技术人员亟需解决的问题
。
技术实现思路
[0003]有鉴于此,本专利技术的目的在于提供一种基于
Schnorr
门限签名的区块链隐私保护方法,实现将链下数据
【技术保护点】
【技术特征摘要】
1.
基于
Schnorr
门限签名的区块链隐私保护方法,其特征在于:该方法包括以下步骤:
S1
:系统初始化
Setup
;
S2
:生成参与签名者个体私钥
keyGen
;
S3
:恢复群体私钥
KeyDec
;
S4
:生成签名
Sign
;
S5
:验证签名
Verify
;所述
S1
具体包括以下步骤:
S11
:系统随机选择大素数
p
和
q
,并且满足
q|p
‑1;
S12
:随机选择整数
a
,使得
a
q
=
1(mod p)
,同时构造一个安全的散列函数
H
;
S13
:系统随机选择整数
sk
,为签名群体的私钥,同时满足则公开密钥为
Q
=
a
‑
sk
(mod p)
;
S15
:最终输出系统的参数公共参数
{a,p,Q,q}
,并且将公钥和系统公共参数广播给所有节点;所述
S5
具体包括以下步骤:
S51
:验证节点接收到聚合器发送的数据和签名后,利用群体公钥
Q
进行签名验证,计算等式
a
σ
Q
E
=
S
;
S52
:若上述等式成立,验证正确,则把交易数据上链
。2.
根据权利要求1所述的基于
Schnorr
门限签名的区块链隐私保护方法,其特征在于:所述
S2
具体包括以下步骤:
S21
:系统将成员群体,记为
U
=
{U1,U2,
…
,U
n
}
;
S22
:根据群体大小
n
,门限值
t
,
t≤n
,生成访问控制树;该
n
个成员是构成
T
的叶子节点,该访问控制树的内部节点是由
AND
或
OR
构成,每一个叶子节点代表一个成员;
S23
:将访问控制树
T
的叶子节点根据
LSSS(inear Secret Sharing Scheme)
算法生成对应向量
z1,z2,
…
,z
n
;如果每个向量
z
的长度不同,将短于最长向量长度的向量末尾依次用0填充,直到所有向量长度相同,至此,构成相对应的生成矩阵
A
;
S24
:矩阵
A
的每一行向量,映射在群组中,每个行向量代表一个的秘密份额
z1,z2,
…
,z
n
;
S25
:系统随机生成
t
‑1个整数,
d1,d2,...,d
t
‑1∈Z
p
,构成秘密共享向量
v
=
(sk,d1,d2,
…
,d
t
‑1)
;
S26
:计算
A
·
v
,得到每个成员经映射函数计算得到的值
ρ
(z1),
ρ
(z2),
…
,
ρ
(z
n
)
,其中
ρ
为单向函数;并将
ρ
(z
i
)
作为每个成员的私钥,则
sk
i
=
ρ
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。