一种两方的制造技术

技术编号:39734127 阅读:8 留言:0更新日期:2023-12-17 23:36
本发明专利技术涉及一种两方的

【技术实现步骤摘要】
一种两方的BLS适配器签名方法和系统


[0001]本专利技术属于信息安全
,特别涉及一种两方的
BLS
适配器签名方法和系统


技术介绍

[0002]区块链作为分布式运行的去中心化平台,改变了传统的业务逻辑和机构运作模式,被广泛应用于金融

物联网

公益慈善

医疗健康

供应链等领域

以金融领域为例,区块链无需第三方机构参与即可实现公平的数字货币交易

然而,由于链上交易由多个脚本组成,脚本的存储和计算成本决定了交易效率和中间费用

这往往导致链上交易的效率低下且费用较高,极大限制了区块链的应用与推广

[0003]适配器签名
(Adaptor Signature)
因其特殊的算法结构可用于锁定和解锁支付通道中相邻用户间的交易,实现“链下计算

链上同步”的功能,可大大降低传统区块链交易方式的计算开销和中间费用

适配器签名是传统数字签名的扩展,主要包括初始化
(Setup)、
密钥生成
(KeyGen)、
预签名
(PreSign)、
预验证
(PreVerify)、
签名适配
(Adapt)
和证据提取
(Ext)
六种算法

适配器签名的链下应用可降低链上通信成本/>、
增加交易的可替代性以及规避区块链脚本语言的限制

现有适配器签名方案提供了可适配
ECDSA

Schnorr
签名的可证明安全构造,但这些方案仅局限于
ECDSA

Schnorr
等非确定性签名,并不支持
BLS(Boneh

Lynn

Shacham)
等确定性签名结构

此外,现有适配器签名方案并不具备两方聚合签名的功能,这将极大限制适配器签名应用在区块链方面的作用


技术实现思路

[0004]本专利技术的目的是基于两方的
BLS
签名设计更加公平高效的适配器签名方案,旨在解决现有适配器签名不兼容
BLS
签名结构且不支持两方聚合签名功能的问题,从而增加适配器签名的兼容性及其在区块链的实际应用,更好地满足区块链在金融

物联网

公益慈善

医疗健康

供应链等领域的隐私保护需求

[0005]针对以上目的,本专利技术采用的技术方案如下:
[0006]一种两方的
BLS
适配器签名方法,包括以下步骤:
[0007]系统管理员调用初始化算法确定系统参数,并调用密钥生成算法生成签名两方的公私钥对,并将系统参数和公私钥对分享给对应实体;
[0008]签名两方利用各自私钥和证据调用预签名算法计算消息的预签名;
[0009]适配者从签名两方获得消息和预签名后,先调用预验证算法验证消息和预签名的有效性,再调用签名适配算法生成消息的正式签名,并发送给签名两方;
[0010]签名两方将预签名和收到的正式签名发送给提取者;
[0011]提取者调用证据提取算法完成证据的提取

[0012]进一步地,所述初始化算法包括以下步骤:
[0013]输入安全参数
λ
,密钥生成中心
KGC
选取双线性对群其中,
N>2
λ

e
为双线性对,映射关系为
[0014]KGC
分别随机选取加法群和的生成元
G1和
G2,乘法群的生成元
G
T
,安全哈希函数和
[0015]输出系统参数
[0016]进一步地,所述密钥生成算法用于产生签名两方
U0和
U1的公私钥对
(d0,P0)

(d1,P1)
,包括以下步骤:
[0017]KGC
随机选取整数并计算
U0和
U1的公共公钥为
P

d
·
G2;
[0018]KGC
随机选取整数和使其满足
d

d0+d1,其中,
d0作为
U0的私钥而
d1作为
U1的私钥,其对应的公钥分别为
P0=
d0·
G2和
P1=
d1·
G2;
[0019]KGC
随机选取一点并分别将信息元组
(pp,d0,P0,y0)

(pp,d1,P1,y0)
发送给
U0和
U1。
[0020]进一步地,所述预签名算法包括以下步骤:
[0021]签名两方分别用自己的私钥对消息
M
进行
BLS
签名,得到和然后对签名进行聚合,得到两方的
BLS
签名
σ

σ0+
σ1;
[0022]签名两方计算部分预签名以及声明值
Y0=
e(y0,G2)

[0023]签名两方共同协商,随机选取随机点并计算承诺值
R0=
e(r0,G2)

[0024]签名两方计算挑战值
[0025]签名两方计算回应值
z0=
r0‑
c0y0,得到证明元组
π0=
(c0,z0)

[0026]签名两方输出
M
的预签名
[0027]进一步地,所述预验证算法用于适配者验证消息
M
的预签名的合法性,验证过程包括:
[0028]适配者解析证明值为
π0=
(c0,z0)

[0029]适配者重新计算承诺值
[0030]适配者重新计算挑战值并检查
c'0≠c0是否成立,若不成立则继续以下步骤,否则输出0;
[0031]适配者重新计算声明值并检查
Y0'

Y0是否成立,若成立则输出1表示预签名有效,否则输出0表示无效

[0032]进一步地,所述签名适配算法包括:适配者将消息
M
的预签名解析为并计算正式签名最后适配者输出
σ

[0033]进一步地,所述证据提取算法用于预签名和正式签名拥有者提取困难关系对中声明值
Y0所对应的证据
y0;提取者根据消息
M<本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.
一种两方的
BLS
适配器签名方法,其特征在于,包括以下步骤:系统管理员调用初始化算法确定系统参数,并调用密钥生成算法生成签名两方的公私钥对,并将系统参数和公私钥对分享给对应实体;签名两方利用各自私钥和证据调用预签名算法计算消息的预签名;适配者从签名两方获得消息和预签名后,先调用预验证算法验证消息和预签名的有效性,再调用签名适配算法生成消息的正式签名,并发送给签名两方;签名两方将预签名和收到的正式签名发送给提取者;提取者调用证据提取算法完成证据的提取
。2.
根据权利要求1所述的方法,其特征在于,所述初始化算法包括以下步骤:输入安全参数
λ
,密钥生成中心
KGC
选取双线性对群其中,
N&gt;2
λ

e
为双线性对,映射关系为
KGC
分别随机选取加法群和的生成元
G1和
G2,乘法群的生成元
G
T
,安全哈希函数和输出系统参数
3.
根据权利要求2所述的方法,其特征在于,所述密钥生成算法用于产生签名两方
U0和
U1的公私钥对
(d0,P0)

(d1,P1)
,包括以下步骤:
KGC
随机选取整数并计算
U0和
U1的公共公钥为
P

d
·
G2;
KGC
随机选取整数和使其满足
d

d0+d1,其中,
d0作为
U0的私钥而
d1作为
U1的私钥,其对应的公钥分别为
P0=
d0·
G2和
P1=
d1·
G2;
KGC
随机选取一点并分别将信息元组
(pp,d0,P0,y0)

(pp,d1,P1,y0)
发送给
U0和
U1。4.
根据权利要求3所述的方法,其特征在于,所述预签名算法包括以下步骤:签名两方分别用自己的私钥对消息
M
进行
BLS
签名,得到和然后对签名进行聚合,得到两方的
BLS
签名
σ

σ0+
σ1;签名两方计算部分预签名以及声明值
...

【专利技术属性】
技术研发人员:杨晨晏敏
申请(专利权)人:中国科学院软件研究所
类型:发明
国别省市:

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

1