基于制造技术

技术编号:39747675 阅读:10 留言:0更新日期:2023-12-17 23:45
本发明专利技术涉及一种基于

【技术实现步骤摘要】
基于Schnorr门限签名的区块链隐私保护方法


[0001]本专利技术属于信息安全领域,涉及基于
Schnorr
门限签名的区块链隐私保护方法


技术介绍

[0002]近年来,区块链已经发展成为去中心化应用程序的平台,具有高完整性

透明度和不可篡改等特性
。Schnorr
签名算法是密码学家
Claus Schnorr

1989
年提出的,它基于离散对数难题,实现了数字签名的生成和验证过程

相对于其它数字签名算法,
Schnorr
签名算法具有安全性高

简介高效

支持多签名组合

抗攻击性等优点

门限签名需多方协作共同完成签名过程

在区块链应用中,门限签名可以解决由一方保管密钥而导致的单点故障问题,防止因权力集中而引发的信任问题,从而提升区块链的安全性和隐私保护

在现有的门限签名方法,大多数利用了
Lagrange
插值多项式算法来恢复群体私钥;虽然它们能够避免单点故障这一问题,但密钥共享算法复杂度较高

因此如何提供一种高效的门限签名方法是技术人员亟需解决的问题


技术实现思路

[0003]有鉴于此,本专利技术的目的在于提供一种基于
Schnorr
门限签名的区块链隐私保护方法,实现将链下数据高效

高可靠地传输到区块链上

[0004]为达到上述目的,本专利技术提供如下技术方案:
[0005]基于
Schnorr
门限签名的区块链隐私保护方法,该方法包括以下步骤:
[0006]S1
:系统初始化
Setup

[0007]S2
:生成参与签名者个体私钥
keyGen

[0008]S3
:恢复群体私钥
KeyDec

[0009]S4
:生成签名
Sign

[0010]S5
:验证签名
Verify

[0011]所述
S1
具体包括以下步骤:
[0012]S11
:系统随机选择大素数
p

q
,并且满足
q|p
‑1;
[0013]S12
:随机选择整数
a
,使得
a
q

1(mod p)
,同时构造一个安全的散列函数
H

[0014]S13
:系统随机选择整数
sk
,为签名群体的私钥,同时满足则公开密钥为
Q

a

sk
(mod p)

[0015]S15
:最终输出系统的参数公共参数
{a,p,Q,q}
,并且将公钥和系统公共参数广播给所有节点;
[0016]所述
S5
具体包括以下步骤:
[0017]S51
:验证节点接收到聚合器发送的数据和签名后,利用群体公钥
Q
进行签名验证,计算等式
a
σ
Q
E

S

[0018]S52
:若上述等式成立,验证正确,则把交易数据上链

[0019]可选的,所述
S2
具体包括以下步骤:
[0020]S21
:系统将成员群体,记为
U

{U1,U2,

,U
n
}

[0021]S22
:根据群体大小
n
,门限值
t

t≤n
,生成访问控制树;该
n
个成员是构成
T
的叶子节点,该访问控制树的内部节点是由
AND

OR
构成,每一个叶子节点代表一个成员;
[0022]S23
:将访问控制树
T
的叶子节点根据
LSSS(inear Secret Sharing Scheme)
算法生成对应向量
z1,z2,

,z
n
;如果每个向量
z
的长度不同,将短于最长向量长度的向量末尾依次用0填充,直到所有向量长度相同,至此,构成相对应的生成矩阵
A

[0023]S24
:矩阵
A
的每一行向量,映射在群组中,每个行向量代表一个的秘密份额
z1,z2,

,z
n

[0024]S25
:系统随机生成
t
‑1个整数,
d1,d2,...,d
t
‑1∈Z
p
,构成秘密共享向量
v

(sk,d1,d2,

,d
t
‑1)

[0025]S26
:计算
A
·
v
,得到每个成员经映射函数计算得到的值
ρ
(z1),
ρ
(z2),

,
ρ
(z
n
)
,其中
ρ
为单向函数;并将
ρ
(z
i
)
作为每个成员的私钥,则
sk
i

ρ
(z
i
)。
[0026]可选的,所述
S3
具体包括以下步骤:
[0027]S31
:从
n
个成员中选取
t
个签名者
U

{U1,U2,...,U
t
}

[0028]S32
:从矩阵
A
中选取
t
个成员相对应的秘密份额作为行向量,构成矩阵
M

[0029]S33
:设向量
ω

(x1,x2,

,x
t
)
,满足计算出对应
x1,x2,

,x
t
的值;
[0030]S34
:由
t
个成员映射函数的值构成向量
λ

(
ρ...

【技术保护点】

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

ρ

【专利技术属性】
技术研发人员:张学旺付佳丽
申请(专利权)人:重庆邮电大学
类型:发明
国别省市:

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

1