一种改良的两轮多重变色龙哈希函数计算方法及系统技术方案

技术编号:33130882 阅读:8 留言:0更新日期:2022-04-17 00:47
本发明专利技术公开了一种改良的两轮多重变色龙哈希函数计算方法及系统,属于区块链及密码学技术领域,首先进行安全设置和分布式密钥生成,为多重变色龙哈希函数的计算准备基础数据;然后利用聚合公钥进行哈希计算,结果为(C,m,r,s):分别为一个哈希值、一个消息和两个随机数;再进行分布式碰撞查找:各参与方P

【技术实现步骤摘要】
一种改良的两轮多重变色龙哈希函数计算方法及系统


[0001]本专利技术涉及区块链及密码学
,具体地说是一种改良的两轮多重变色龙哈希函数计算方法及系统。

技术介绍

[0002]变色龙哈希函数(chameleon hash function),也称作陷门哈希函数,首先由Krawczyk和Rabin提出。“变色龙”的意思是陷门信息的拥有者可以在不改变函数输出的前提下,随意的改变函数的输入。在变色龙哈希函数中,掌握陷门信息的人能过很容易的计算出一个随机输入的碰撞,没有掌握陷门信息的人则无法计算出碰撞。
[0003]本申请同时提出了两轮多重变色龙哈希函数算法无疑是有效的,采用的通信模型也是一般的安全多方计算、阈值签名、多重签名广泛采用的。但随着参与方数量的增加,通信消息的数量将以参与方数量的平方来增长,容易产生消息洪泛而阻塞通信或降低通信效率,使整个协议的可用性受到威胁。
[0004]一般的安全多方计算、阈值签名,都采用了广播模型。但在实际运行中,广播模型仅能用于参与方较少的场景中,参与方多了容易造成消息洪泛。

技术实现思路

[0005]本专利技术的技术任务是针对以上不足之处,提供一种改良的两轮多重变色龙哈希函数计算方法及系统,引入一个“中心化”的聚合者角色,各方之间不再广播消息,而是都把消息发送给聚合者,则可以显著减少通信负担。
[0006]本专利技术解决其技术问题所采用的技术方案是:
[0007]一种改良的两轮多重变色龙哈希函数计算方法,首先进行安全设置和分布式密钥生成,为多重变色龙哈希函数的计算准备基础数据;
[0008]然后利用聚合公钥进行哈希计算,结果为(C,m,r,s):分别为一个哈希值、一个消息和两个随机数;
[0009]再进行分布式碰撞查找:
[0010]1)、各参与方P
i
选择v个随机数,并计算承诺(r

i,1


,r

i,v
)发送给聚合者,其中v≥2;
[0011]2)、聚合者将n*v个随机数承诺进行线性组合,计算出v个随机数(r
′1,...,r

v
)发给各方;
[0012]3)、各方利用收到的(r
′1,...,r

v
)计算全局随机数r

,并利用r

和本地秘密份额计算碰撞份额s

i
,向聚合者发送s

i

[0013]4)、聚合者利用收到的n个哈希碰撞份额s

i
及(r
′1,...,r

v
)计算哈希碰撞(r

,s

),1≤i≤n。
[0014]本方法引入了聚合者角色。一般的两轮多重变色龙哈希算法中,各方之间使用广播通信,当参与方很多时,容易产生消息洪泛而降低计算效率。在本方法中新引入了一个聚
合者角色,各方将计算的中间结果(随机数份额和碰撞份额)不再广播,而是直接发给聚合者,这使得各方交换的消息数量与参与方数量是线性关系,而不是平方关系,大大降低了通信复杂度。
[0015]两轮多重变色龙哈希函数算法,象一般的安全多方计算、阈值签名一样,都采用了广播模型。但在实际运行中,广播模型仅能用于参与方较少的场景中,参与方多了容易造成消息洪泛。可以引入一个“中心化”的聚合者角色,各方之间不再广播消息,而是都把消息发送给聚合者,则可以显著减少通信负担。需要说明的是,聚合者必须是不可信的,即执行协议不能向聚合者透露各方的秘密信息。
[0016]进一步的,该方法的实现过程如下:
[0017]S1、安全设置;
[0018]S2、分布式密钥生成与公钥聚合;
[0019]S3、哈希值计算:输入m,输出C,r,s;
[0020]S4、哈希值验算:检测
[0021]S5、分布式碰撞查找。
[0022]优选的,所述安全设置包括:
[0023]指定位长为K的安全素数p,p=2q+1,其中q也是素数,且Z
*p
的二次剩余子群Q
p
的一个生成元g,即g具有阶q;
[0024]H,一个抗碰撞的哈希函数,将任意长度的位串映射到固定长度的字符串H:{0,1}*

{0,1}
T
,T是事先选定的安全参数,则H(x1,...,x
n
)表示n个输入串联后的哈希;
[0025]v,各方在第一轮发送的随机数个数;
[0026]假定有n个参与方共同持有陷门信息,他们应该具有相同的安全设置,即上述p、q、g、H()应该在n个参与方之间公开;
[0027]聚合者用P0表示,聚合者不需要生成随机数或持有私钥份额。
[0028]优选的,所述分布式密钥生成,
[0029]每个参数方P
i
(1≤i≤n)在[1,q

1]中选择一个随机数x
i
作为自己的私钥份额,计算作为公钥份额,广播y
i
;所有参与方都接收到别人的公钥份额后计算聚合公钥:
[0030][0031]其中y
i
是n个参与方的公钥份额,a
i
=H(<L>,y
i
),<L>={y1,...,y
n
}是所有参与方的有序公钥集合,这样a
i
将只依赖于参与方的公钥份额,所有参与方和外部用户可以计算和验算聚合公钥的有效性;
[0032]称为聚合公钥,a
i
称为P
i
的公钥聚合系数;
[0033]聚合者P0也在广播范围内,也收到公钥份额并计算聚合公钥公钥聚合是一种低频率发生的计算,对通信效率要求不高,所以仍采用广播通信。
[0034]优选的,哈希值的计算方法如下:
[0035]令输入为消息m,随机一致选择随机值对(r,s)∈Z
q
×
Z
q
,并计算:
[0036]e=H(m,r)和C=Hash(m,r,s)=r(y
e
g
s
mod p)mod q,
[0037]总的输出为(C,m,r,s);
[0038]对于哈希值的验算如下:
[0039]拿到(C,m,r,s)后,先计算e=H(m,r),再计算C

=Hash(m,r,s)=r(y
e
g
s
mod p)mod q,验算等式成立则哈希值验算通过。
[0040]优选的,设参与方为P1,其他参与方的计算逻辑类似,若各方都收到了要计算碰撞的相同输入哈希值C和新消息m本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种改良的两轮多重变色龙哈希函数计算方法,其特征在于,首先进行安全设置和分布式密钥生成,为多重变色龙哈希函数的计算准备基础数据;然后利用聚合公钥进行哈希计算,结果为(C,m,r,s):分别为一个哈希值、一个消息和两个随机数;再进行分布式碰撞查找:1)、各参与方P
i
选择v个随机数,并计算承诺(r

i,l
,...,r

i,v
)发送给聚合者,其中v≥2;2)、聚合者将n*v个随机数承诺进行线性组合,计算出v个随机数(r
′1,...,r

v
)发给各方;3)、各方利用收到的(r
’1,...,r

v
)计算全局随机数r

,并利用r

和本地秘密份额计算碰撞份额s

i
,向聚合者发送s

i
;4)、聚合者利用收到的n个哈希碰撞份额s

i
及(r
’1,...,r

v
)计算哈希碰撞(r

,s

),1≤i≤n。2.根据权利要求1所述的一种改良的两轮多重变色龙哈希函数计算方法,其特征在于该方法的实现过程如下:S1、安全设置;S2、分布式密钥生成与公钥聚合;S3、哈希值计算:输入m,输出C,r,s;S4、哈希值验算:检测S5、分布式碰撞查找。3.根据权利要求1或2所述的一种改良的两轮多重变色龙哈希函数计算方法,其特征在于所述安全设置包括:指定位长为κ的安全素数p,p=2q+1,其中q也是素数,且Z
*p
的二次剩余子群Q
p
的一个生成元g,即g具有阶q;H,一个抗碰撞的哈希函数,将任意长度的位串映射到固定长度的字符串H:{0,1}*

{0,1}
τ
,τ是事先选定的安全参数,则H(x1,...,x
n
)表示n个输入串联后的哈希;v,各方在第一轮发送的随机数个数;假定有n个参与方共同持有陷门信息,他们应该具有相同的安全设置,即上述p、q、g、H()应该在n个参与方之间公开;聚合者用P0表示,聚合者不需要生成随机数或持有私钥份额。4.根据权利要求3所述的一种改良的两轮多重变色龙哈希函数计算方法,其特征在于,所述分布式密钥生成,每个参数方P
i
(1≤i≤n)在[1,q

1]中选择一个随机数x
i
作为自己的私钥份额,计算作为公钥份额,广播y
i
;所有参与方都接收到别人的公钥份额后计算聚合公钥:其中y
i
是n个参与方的公钥份额,a
i
=H(<L>,y
i
),<L>={y1,...,y
n
}是所有参与方的有序公钥集合,这样a
i
将只依赖于参与方的公钥份额,所有参与方和外部用户可以计算和验
算聚合公钥的有效性;称为聚合公钥,a
i
称为P
i
的公钥聚合系数;聚合者P0也在广播范围内,也收到公钥份额并计算聚合公钥公钥聚合是一种低频率发生的计算,对通信效率要求不高,所以仍采用广播通信。5.根据权利要求4所述的一种改良的两轮多重变色龙哈希函数计算方法,其特征在于,哈希值的计算方法如下:令输入为消息m,随机一致选择随机值对(r,s)∈Z
q
×
Z
q
,并计算:e=H(m,r)和C=Hash(m,r,s)=r(y
e
g
s mod p)mod q,总的输出为(C,m,r,s);对于哈希值的验算如下:拿到(C,m,r,s)后,先计算e=H(m,r),再计算C

=Hash(m,r,s)...

【专利技术属性】
技术研发人员:王伟兵魏金雷
申请(专利权)人:浪潮云信息技术股份公司
类型:发明
国别省市:

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

1