CN114337990A - 一种两轮多重变色龙哈希函数计算方法及系统 - Google Patents

一种两轮多重变色龙哈希函数计算方法及系统 Download PDF

Info

Publication number
CN114337990A
CN114337990A CN202111667463.XA CN202111667463A CN114337990A CN 114337990 A CN114337990 A CN 114337990A CN 202111667463 A CN202111667463 A CN 202111667463A CN 114337990 A CN114337990 A CN 114337990A
Authority
CN
China
Prior art keywords
hash
collision
hash function
public key
chameleon
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202111667463.XA
Other languages
English (en)
Other versions
CN114337990B (zh
Inventor
王伟兵
孙思清
魏金雷
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Inspur Cloud Information Technology Co Ltd
Original Assignee
Inspur Cloud Information Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Inspur Cloud Information Technology Co Ltd filed Critical Inspur Cloud Information Technology Co Ltd
Priority to CN202111667463.XA priority Critical patent/CN114337990B/zh
Publication of CN114337990A publication Critical patent/CN114337990A/zh
Application granted granted Critical
Publication of CN114337990B publication Critical patent/CN114337990B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Storage Device Security (AREA)

Abstract

本发明公开了一种两轮多重变色龙哈希函数计算方法及系统,属于区块链及密码学技术领域,首先进行安全设置和分布式密钥生成,为多重变色龙哈希函数的计算准备基础数据;然后利用聚合公钥进行哈希计算,结果为(C,m,r,s):分别为一个哈希值、一个消息和两个随机数;再进行分布式碰撞查找:1)、各参与方Pi选择v个随机数,并计算承诺(r′i,1,...,r’i,v)发送给其他各方;2)、各方将n*v个随机数承诺进行线性组合,计算全局随机数r’,计算碰撞份额s’i,向各方发送s’i;3)、各方将利用收到的n个碰撞份额s’i计算哈希碰撞s’。本发明改进变色龙哈希多方协议,通信轮次为两轮,降低通信复杂度。

Description

一种两轮多重变色龙哈希函数计算方法及系统
技术领域
本发明涉及区块链和密码学技术领域,具体地说是一种两轮多重变色龙哈希函数计算方法及系统。
背景技术
变色龙哈希函数(chameleon hash function),也称作陷门哈希函数,首先由Krawczyk和Rabin提出。“变色龙”的意思是陷门信息的拥有者可以在不改变函数输出的前提下,随意的改变函数的输入。在变色龙哈希函数中,掌握陷门信息的人能够很容易的计算出一个随机输入的碰撞,没有掌握陷门信息的人则无法计算出碰撞。
在本申请人已经提出的多重变色龙哈希算法中,使用三个通信轮次:随机数承诺、随机数公开、计算哈希碰撞,在该多重变色龙哈希算法种需要三个通信轮次,且第一轮与待计算的新消息绑定,使得算法不能进行预处理。
发明内容
本发明的技术任务是针对以上不足之处,提供一种两轮多重变色龙哈希函数计算方法及系统,改进变色龙哈希多方协议,通信轮次为两轮,降低通信复杂度。
本发明解决其技术问题所采用的技术方案是:
一种两轮多重变色龙哈希函数计算方法,其特征在于,首先进行安全设置和分布式密钥生成,为多重变色龙哈希函数的计算准备基础数据;
然后利用聚合公钥进行哈希计算,结果为(C,m,r,s):分别为一个哈希值、一个消息和两个随机数;
再进行分布式碰撞查找:
1)、各参与方Pi选择v个随机数,并计算承诺(r′i,1,...,r′i,v)发送给其他各方,其中v≥2;
2)、各方将n*v个随机数承诺进行线性组合,计算全局随机数r’,并利用r’和本地秘密份额计算碰撞份额s’i,向各方发送s’i
3)、各方将利用收到的包含本地的秘密份额在内的n个碰撞份额s’i计算哈希碰撞s’。
对于需要三个通信轮次的多重变色龙哈希算法,第一轮与待计算的新消息绑定,使得算法不能进行预处理,本方法通过改进变色龙哈希多方协议,将通信轮次由三轮变为两轮,能够降低通信复杂度。首轮通信与新消息不绑定,使得首轮支持预处理,这样,各方可以提前执行第一轮,提前计算出聚合随机数,当收到需要进行哈希碰撞查询的新消息时,直接启动第二轮,各方利用本地缓存中的聚合随机数直接进行哈希碰撞计算。新协议的通信复杂度低、延迟更小,可以升级为非交互协议。
进一步的,该方法的实现过程如下:
S1、安全设置;
S2、分布式密钥生成与公钥聚合;
S3、哈希值计算:输入m,输出C,r,s;
S4、哈希值验算:检测
Figure BDA0003448605350000021
S5、分布式碰撞查找。
优选的,所述安全设置包括:
指定位长为κ的安全素数p,p=2q+1,其中q也是素数,且Z* p的二次剩余子群Qp的一个生成元g,即g具有阶q;
H,一个抗碰撞的哈希函数,将任意长度的位串映射到固定长度的字符串H:{0,1}*→{0,1}τ,τ是事先选定的安全参数,则H(x1,...,xn)表示n个输入串联后的哈希;
v,各方在第一轮发送的随机数个数;
假定有n个参与方共同持有陷门信息,他们应该具有相同的安全设置,即上述p、q、g、H()应该在n个参与方之间公开。
优选的,所述分布式密钥生成,
每个参数方Pi(1≤i≤n)在[1,q-1]中选择一个随机数xi作为自己的私钥份额,计算
Figure BDA0003448605350000022
作为公钥份额,广播yi;所有参与方都接收到别人的公钥份额后计算聚合公钥:
Figure BDA0003448605350000023
其中yi是n个参与方的公钥份额,ai=H(<L>,yi),<L>={y1,...,yn}是所有参与方的有序公钥集合,这样ai将只依赖于参与方的公钥份额,所有参与方和外部用户可以计算和验算聚合公钥的有效性;
Figure BDA0003448605350000031
称为聚合公钥,ai称为Pi的公钥聚合系数。
优选的,哈希值的计算方法如下:
Figure BDA0003448605350000032
输入为消息m,随机一致选择随机值对(r,s)∈Zq×Zq,并计算:
e=H(m,r)和C=Hash(m,r,s)=r(yegs mod p)mod q,
总的输出为(C,m,r,s),分别为一个哈希值、一个消息和两个随机数;
对于哈希值的验算如下:
拿到(C,m,r,s)后,先计算e=H(m,r),再计算C’=Hash(m,r,s)=r(yegs mod p)mod q,验算
Figure BDA0003448605350000033
等式成立则哈希值验算通过。
优选的,设参与方为P1,其他参与方的计算逻辑类似,若各方都收到了要计算碰撞的相同输入哈希值C和新消息m’,分布式碰撞查找的具体过程如下:
1)、P1选择v个随机数k1,j∈[1,q-1]其中j∈{1,…,v},计算
Figure BDA0003448605350000034
将v个随机数承诺(r’1,1,...,r’1,v)发给其他各方;v是在安全设置中确定的安全参数,一般来说,v=2就足够安全了;
2)、从其他各方接收(r’1,1,...,r’1,v),...,(r’n,1,...,r’n,v),通过对于每个j∈{1,...,v}计算
Figure BDA0003448605350000035
将它们聚合起来,输出为(r’1,...,r’v);
计算
Figure BDA0003448605350000036
对于P1来说,(r’1,1,...,r’1,v)是自己生成的,其他的需要从其他方接收;
然后计算
Figure BDA0003448605350000037
e’=H(m’,r’)
Figure BDA0003448605350000038
其中,a1是P1的公钥聚合系数,x1是P1的私钥份额,e’、r’和m’各方相同;
并将s1’发送给其他各方;
3)、最后,接收来自其他各方的s2’,...,sn’后,计算
Figure BDA0003448605350000039
这样,各方都计算出了r’,s’,且满足C=Hash(m’,r’,s’)。
设C表示变色龙哈希在输入三元组(m,r,s)上的输出,所谓碰撞查找就是已知哈希C和新消息m’,n个参与方通过定制化多方计算协议计算碰撞(r’,s’),使得Hash(m,r,s)=Hash(m’,r’,s’),即C=C’。C和m’是确定性输入,需要计算的是r’和s’。
变色龙哈希函数又叫陷门哈希函数,只有知道陷门的人才能计算出碰撞(这里指符合等式的r’和s’)。在本方法中,陷门信息被n个参与方共同掌握,只有共同协作才可以找到碰撞(r’,s’)。
进一步的,验算正确性的过程如下:
多方协作计算的目的是找到r’,s’,使C=r′(ye′gs′mod p)mod q,
代入
Figure BDA0003448605350000041
得到:
Figure BDA0003448605350000042
代入
Figure BDA0003448605350000043
得到式(1):
Figure BDA0003448605350000044
将式子(ye′gs′mod p)mod q拆分到每个参与方的输入组合:
代入
Figure BDA0003448605350000045
得到:
Figure BDA0003448605350000046
代入
Figure BDA0003448605350000047
得到:
Figure BDA0003448605350000048
代入
Figure BDA0003448605350000049
得到:
Figure BDA00034486053500000410
由于ga+b=gagb,所以:
Figure BDA00034486053500000411
运用交换律和结合律,得到:
Figure BDA00034486053500000412
Figure BDA00034486053500000413
代入
Figure BDA00034486053500000414
得到:
Figure BDA00034486053500000415
Figure BDA0003448605350000051
代入
Figure BDA0003448605350000052
得到式(2):
Figure BDA0003448605350000053
将式(2)代入到式(1)可知:
Figure BDA0003448605350000054
运用交换律和结合律,可得:
C=C。
本发明还要求保护一种两轮多重变色龙哈希函数计算系统,包括安全设置模块、分布式密钥生成模块、哈希值计算模块、哈希值验算模块、分布式碰撞查找模块,
该系统实现上述的两轮多重变色龙哈希函数计算方法。
本发明还要求保护一种两轮多重变色龙哈希函数计算装置,包括:至少一个存储器和至少一个处理器;
所述至少一个存储器,用于存储机器可读程序;
所述至少一个处理器,用于调用所述机器可读程序,执行上述的两轮多重变色龙哈希函数计算方法。
本发明还要求保护计算机可读介质,所述计算机可读介质上存储有计算机指令,所述计算机指令在被处理器执行时,使所述处理器执行上述的两轮多重变色龙哈希函数计算方法。
本发明的一种两轮多重变色龙哈希函数计算方法及系统与现有技术相比,具有以下有益效果:
本方法设计了一个只有两个通信轮次分布式协议,来实现变色龙哈希函数的去中心化多方计算。通讯轮次少(固定为两轮)且与参与方的数量无关;支持聚合哈希公钥,使得哈希值计算时直接使用一般的变色龙哈希算法,仅在需要计算哈希碰撞时才需要启动多方分布式计算,有利于算法的普及;
没有秘密分发者,避免了哈希陷门密钥被单方面垄断的风险;
并且,首轮随机数与要计算的消息无关,便于进行预处理,提高计算性能。
附图说明
图1是本发明实施例提供的两轮多重变色龙哈希函数计算方法实现流程示图。
具体实施方式
下面结合附图和具体实施例对本发明作进一步说明。
一种两轮多重变色龙哈希函数计算方法,其特征在于,首先进行安全设置和分布式密钥生成,为多重变色龙哈希函数的计算准备基础数据;
然后利用聚合公钥进行哈希计算,结果为(C,m,r,s):分别为一个哈希值、一个消息和两个随机数;
再进行分布式碰撞查找:
1)、各参与方Pi选择v个(v≥2)随机数,并计算承诺(r’i,1,...,r’i,v)发送给其他各方;
2)、各方将n*v个随机数承诺进行线性组合,计算全局随机数r’,并利用r’和本地秘密份额计算碰撞份额s’i,向各方发送s’i
3)、各方将利用收到的包含本地的秘密份额在内的n个碰撞份额s’i计算哈希碰撞s’。
本方法提出了一种适用于多重变色龙哈希的多个(≥2)随机数承诺生成、广播再线性组合来生成全局随机数r’的方法,包括全局随机数计算公式
Figure BDA0003448605350000061
和碰撞份额计算公式
Figure BDA0003448605350000062
Figure BDA0003448605350000063
对于需要三个通信轮次的多重变色龙哈希算法,第一轮与待计算的新消息绑定,使得算法不能进行预处理,本方法通过改进变色龙哈希多方协议,将通信轮次由三轮变为两轮,能够降低通信复杂度。首轮通信与新消息不绑定,使得首轮支持预处理,这样,各方可以提前执行第一轮,提前计算出聚合随机数,当收到需要进行哈希碰撞查询的新消息时,直接启动第二轮,各方利用本地缓存中的聚合随机数直接进行哈希碰撞计算。新协议的通信复杂度低、延迟更小,可以升级为非交互协议。
MuSig2(参考[JTY2020])是一种两轮的Schnorr多重签名方案,相比于MuSig(三轮方案),删除了初步承诺阶段,这样签名者就可以立即发送nonce(随机数),从而将并发通信轮次由三轮减少为两轮。为了获得在并发会话下安全的方案,每个签名者i发送一个由v≥2个nonce Ri,1,...,Ri,v(而不是MuSig方案中的单个nonce Ri)组成的列表,并有效地使用这些v个nonce的线性组合
Figure BDA0003448605350000071
其中b通过哈希函数导出。受MuSig2的启发,本方法采用了类似的算法,增加了各方广播的随机数数量(v≥2),去掉了承诺轮。这种做法的安全性,已经在MuSig2方案中进行了证明。
如图1所示,该方法的实现过程如下:
S1、安全设置;
S2、分布式密钥生成与公钥聚合;
S3、哈希值计算:输入m,输出C,r,s;
S4、哈希值验算:检测
Figure BDA0003448605350000074
S5、分布式碰撞查找:
各方发送v个随机数承诺(r’i,1,...,r’i,v);
各方利用收到的随机数承诺和本地私钥份额计算碰撞s’i并广播;
各方利用n个碰撞份额计算哈希碰撞r’,s’。
本方法使用了一个类似MuSig2的思想,即使用多个nonce的线性组合来代替单个随机数承诺,在并发会话下实现安全性。当对手尝试不同的nonce时,线性组合
Figure BDA0003448605350000072
中的b值会随之改变。这使得腐化参与方即使在收到所有的其他参与方的随机数后,也无法通过对这些随机数进行线性组合来计算出一个最己方有利的随机数。这种机制使得多个参与方仅需要一个通信轮次就能计算出一个安全的随机数,然后这个随机数就可以用于第二个轮次的哈希计算了。
具体如下:
一、安全设置:
指定位长为κ的安全素数p,p=2q+1,其中q也是素数,且Z* p的二次剩余子群Qp的一个生成元g,即g具有阶q;
H,一个抗碰撞的哈希函数,将任意长度的位串映射到固定长度的字符串H:{0,1}*→{0,1}τ,τ是事先选定的安全参数,下文中的H(x1,...,xn)表示n个输入串联后的哈希;
v,各方在第一轮发送的随机数个数,按MuSig2的证明,v=2就足够了;
假定有n个参与方共同持有陷门信息,他们应该具有相同的安全设置,即上述p、q、g、H()应该在n个参与方之间公开。
二、分布式密钥生成:
每个参数方Pi(1≤i≤n)在[1,q-1]中选择一个随机数xi作为自己的私钥份额,计算
Figure BDA0003448605350000073
作为公钥份额,广播yi;所有参与方都接收到别人的公钥份额后计算聚合公钥:
Figure BDA0003448605350000081
其中yi是n个参与方的公钥份额,ai=H(<L>,yi),<L>={y1,...,yn}是所有参与方的有序公钥集合,这样ai将只依赖于参与方的公钥份额,所有参与方和外部用户可以计算和验算聚合公钥的有效性;
Figure BDA0003448605350000082
称为聚合公钥,ai称为Pi的公钥聚合系数。
三、哈希值计算:
Figure BDA0003448605350000083
(即聚合公钥),输入为消息m,随机一致选择随机值对(r,s)∈Zq×Zq,并计算:
e=H(m,r);和C=Hash(m,r,s)=r(yegs mod p)mod q,
总的输出为(C,m,r,s),分别为一个哈希值、一个消息和两个随机数;
四、哈希值验算:
拿到(C,m,r,s)后,先计算e=H(m,r),再计算C’=Hash(m,r,s)=r(yegs mod p)mod q,验算
Figure BDA0003448605350000084
等式成立则哈希值验算通过。
五、分布式碰撞查找:
设C表示变色龙哈希在输入三元组(m,r,s)上的输出,所谓碰撞查找就是已知哈希C和新消息m’,n个参与方通过定制化多方计算协议计算碰撞(r’,s’),使得Hash(m,r,s)=Hash(m’,r’,s’),即C=C’。C和m’是确定性输入,需要计算的是r’和s’。
变色龙哈希函数又叫陷门哈希函数,只有知道陷门的人才能计算出碰撞(这里指符合等式的r’和s’)。在本方法中,陷门信息被n个参与方共同掌握,只有共同协作才可以找到碰撞(r’,s’)。
以参与方P1为例说明,其他参与方的计算逻辑类似,假定各方都收到了要计算碰撞的相同输入哈希值C和新消息m’。
1)、P1选择v个随机数k1,j∈[1,q-1]其中j∈{1,…,v},计算
Figure BDA0003448605350000085
将v个随机数承诺(r’1,1,...,r’1,v)发给其他各方;v是在安全设置中确定的安全参数,一般来说,v=2就足够安全了;
2)、从其他各方接收(r’1,1,...,r’1,v),...,(r’n,1,...,r’n,v),通过对于每个j∈{1,...,v}计算
Figure BDA0003448605350000086
将它们聚合起来,输出为(r’1,...,r’v);
计算
Figure BDA0003448605350000087
对于P1来说,(r’1,1,...,r’1,v)是自己生成的,其他的需要从其他方接收;
然后计算
Figure BDA0003448605350000091
e’=H(m’,r’)
Figure BDA0003448605350000092
其中,a1是P1的公钥聚合系数,x1是P1的私钥份额,e’、r’和m’各方相同;并将s1’发送给其他各方;
3)、最后,接收来自其他各方的s2’,...,sn’后,计算
Figure BDA0003448605350000093
这样,各方都计算出了r’,s’,且满足C=Hash(m’,r’,s’)。
验算正确性:
多方协作计算的目的是找到r’,s’,使C=r′(ye′gs′mod p)mod q,也就是
Figure BDA0003448605350000094
将式子(ye′gs′mod p)mod q拆分到每个参与方的输入组合:
Figure BDA0003448605350000095
Figure BDA0003448605350000101
将式(2)代入到式(1)可知:
Figure BDA0003448605350000102
该算法将变色龙哈希函数算法的秘密陷门分散到多个参与方,防止了陷门被单方面控制和恶意利用。在计算哈希碰撞时,由各参与方通过两轮并发通信进行协作计算。
该算法的主要特性包括并发通信轮次固定(两轮);支持聚合哈希公钥;无可信分发者角色和陷门份额分发过程;首轮可以预处理,使算法成为非交互协议。
本发明实施例还提供了一种两轮多重变色龙哈希函数计算系统,包括安全设置模块、分布式密钥生成模块、哈希值计算模块、哈希值验算模块、分布式碰撞查找模块,
该系统实现本发明上述实施例中所述的两轮多重变色龙哈希函数计算方法。
本发明实施例还提供了一种两轮多重变色龙哈希函数计算装置,包括:至少一个存储器和至少一个处理器;
所述至少一个存储器,用于存储机器可读程序;
所述至少一个处理器,用于调用所述机器可读程序,执行本发明上述实施例中所述的两轮多重变色龙哈希函数计算方法。
本发明实施例还提供了一种计算机可读介质,所述计算机可读介质上存储有计算机指令,所述计算机指令在被处理器执行时,使所述处理器执行本发明上述实施例中所述的两轮多重变色龙哈希函数计算方法。具体地,可以提供配有存储介质的系统或者装置,在该存储介质上存储着实现上述实施例中任一实施例的功能的软件程序代码,且使该系统或者装置的计算机(或CPU或MPU)读出并执行存储在存储介质中的程序代码。
在这种情况下,从存储介质读取的程序代码本身可实现上述实施例中任何一项实施例的功能,因此程序代码和存储程序代码的存储介质构成了本发明的一部分。
用于提供程序代码的存储介质实施例包括软盘、硬盘、磁光盘、光盘(如CD-ROM、CD-R、CD-RW、DVD-ROM、DVD-RAM、DVD-RW、DVD+RW)、磁带、非易失性存储卡和ROM。可选择地,可以由通信网络从服务器计算机上下载程序代码。
此外,应该清楚的是,不仅可以通过执行计算机所读出的程序代码,而且可以通过基于程序代码的指令使计算机上操作的操作系统等来完成部分或者全部的实际操作,从而实现上述实施例中任意一项实施例的功能。
此外,可以理解的是,将由存储介质读出的程序代码写到插入计算机内的扩展板中所设置的存储器中或者写到与计算机相连接的扩展单元中设置的存储器中,随后基于程序代码的指令使安装在扩展板或者扩展单元上的CPU等来执行部分和全部实际操作,从而实现上述实施例中任一实施例的功能。
上文通过附图和优选实施例对本发明进行了详细展示和说明,然而本发明不限于这些已揭示的实施例,基与上述多个实施例本领域技术人员可以知晓,可以组合上述不同实施例中的代码审核手段得到本发明更多的实施例,这些实施例也在本发明的保护范围之内。

Claims (10)

1.一种两轮多重变色龙哈希函数计算方法,其特征在于,首先进行安全设置和分布式密钥生成,为多重变色龙哈希函数的计算准备基础数据;
然后利用聚合公钥进行哈希计算,结果为(C,m,r,s):分别为一个哈希值、一个消息和两个随机数;
再进行分布式碰撞查找:
1)、各参与方Pi选择v个随机数,并计算承诺(r’i,1,...,r’i,v)发送给其他各方,其中v≥2;
2)、各方将n*v个随机数承诺进行线性组合,计算全局随机数r’,并利用r’和本地秘密份额计算碰撞份额s’i,向各方发送s’i
3)、各方将利用收到的包含本地的秘密份额在内的n个碰撞份额s’i计算哈希碰撞s’。
2.根据权利要求1所述的一种两轮多重变色龙哈希函数计算方法,其特征在于该方法的实现过程如下:
S1、安全设置;
S2、分布式密钥生成与公钥聚合;
S3、哈希值计算:输入m,输出C,r,s;
S4、哈希值验算:检测
Figure FDA0003448605340000011
S5、分布式碰撞查找。
3.根据权利要求1或2所述的一种两轮多重变色龙哈希函数计算方法,其特征在于所述安全设置包括:
指定位长为κ的安全素数p,p=2q+1,其中q也是素数,且Z* p的二次剩余子群Qp的一个生成元g,即g具有阶q;
H,一个抗碰撞的哈希函数,将任意长度的位串映射到固定长度的字符串H:{0,1}*→{0,1}τ,τ是事先选定的安全参数,则H(x1,...,xn)表示n个输入串联后的哈希;
v,各方在第一轮发送的随机数个数;
假定有n个参与方共同持有陷门信息,他们应该具有相同的安全设置,即上述p、q、g、H()应该在n个参与方之间公开。
4.根据权利要求3所述的一种两轮多重变色龙哈希函数计算方法,其特征在于,所述分布式密钥生成,
每个参数方Pi(1≤i≤n)在[1,q-1]中选择一个随机数xi作为自己的私钥份额,计算
Figure FDA0003448605340000021
作为公钥份额,广播yi;所有参与方都接收到别人的公钥份额后计算聚合公钥:
Figure FDA0003448605340000022
其中yi是n个参与方的公钥份额,ai=H(<L>,yi),<L>={y1,...,yn}是所有参与方的有序公钥集合,这样ai将只依赖于参与方的公钥份额,所有参与方和外部用户可以计算和验算聚合公钥的有效性;
Figure FDA0003448605340000023
称为聚合公钥,ai称为Pi的公钥聚合系数。
5.根据权利要求4所述的一种两轮多重变色龙哈希函数计算方法,其特征在于,哈希值的计算方法如下:
Figure FDA0003448605340000024
输入为消息m,随机一致选择随机值对(r,s)∈Zq×Zq,并计算:
e=H(m,r)和C=Hash(m,r,s)=r(yegs mod p)mod q,
总的输出为(C,m,r,s);
对于哈希值的验算如下:
拿到(C,m,r,s)后,先计算e=H(m,r),再计算C’=Hash(m,r,s)=r(yegs mod p)mod q,验算
Figure FDA0003448605340000025
等式成立则哈希值验算通过。
6.根据权利要求5所述的一种两轮多重变色龙哈希函数计算方法,其特征在于,设参与方为P1,若各方都收到了要计算碰撞的相同输入哈希值C和新消息m’,分布式碰撞查找的具体过程如下:
1)、P1选择v个随机数k1,j∈[1,q-1]其中j∈{1,…,v},计算
Figure FDA0003448605340000026
将v个随机数承诺(r’1,1,...,r’1,v)发给其他各方;v是在安全设置中确定的安全参数;
2)、从其他各方接收(r’1,1,...,r’1,v),...,(r’n,1,...,r’n,v),通过对于每个j∈{1,...,v}计算
Figure FDA0003448605340000027
将它们聚合起来,输出为(r’1,...,r’v);
计算
Figure FDA0003448605340000028
对于P1来说,(r’1,1,...,r’1,v)是自己生成的,其他的需要从其他方接收;
然后计算
Figure FDA0003448605340000029
e’=H(m’,r’)
Figure FDA00034486053400000210
其中,a1是P1的公钥聚合系数,x1是P1的私钥份额,e’、r’和m’各方相同;
并将s1’发送给其他各方;
3)、最后,接收来自其他各方的s2’,...,sn’后,计算
Figure FDA0003448605340000031
这样,各方都计算出了r’,s’,且满足C=Hash(m’,r’,s’)。
7.根据权利要求6所述的一种两轮多重变色龙哈希函数计算方法,其特征在于,验算正确性的过程如下:
多方协作计算的目的是找到r’,s’,使C=r′(ye′gs′mod p)mod q,
代入
Figure FDA0003448605340000032
得到:
Figure FDA0003448605340000033
代入
Figure FDA0003448605340000034
得到式(1):
Figure FDA0003448605340000035
将式子(ye′gs′mod p)mod q拆分到每个参与方的输入组合:
代入
Figure FDA0003448605340000036
得到:
Figure FDA0003448605340000037
代入
Figure FDA0003448605340000038
得到:
Figure FDA0003448605340000039
代入
Figure FDA00034486053400000310
得到:
Figure FDA00034486053400000311
由于ga+b=gagb,所以:
Figure FDA00034486053400000312
运用交换律和结合律,得到:
Figure FDA00034486053400000313
Figure FDA0003448605340000041
代入
Figure FDA0003448605340000042
得到:
Figure FDA0003448605340000043
Figure FDA0003448605340000044
代入
Figure FDA0003448605340000047
得到式(2):
Figure FDA0003448605340000045
将式(2)代入到式(1)可知:
Figure FDA0003448605340000046
运用交换律和结合律,可得:
C=C。
8.一种两轮多重变色龙哈希函数计算系统,其特征在于,包括安全设置模块、分布式密钥生成模块、哈希值计算模块、哈希值验算模块、分布式碰撞查找模块,
该系统实现权利要求1至7任一所述的两轮多重变色龙哈希函数计算方法。
9.一种两轮多重变色龙哈希函数计算装置,其特征在于,包括:至少一个存储器和至少一个处理器;
所述至少一个存储器,用于存储机器可读程序;
所述至少一个处理器,用于调用所述机器可读程序,执行权利要求1至7任一所述的两轮多重变色龙哈希函数计算方法。
10.计算机可读介质,其特征在于,所述计算机可读介质上存储有计算机指令,所述计算机指令在被处理器执行时,使所述处理器执行权利要求1至7任一所述的两轮多重变色龙哈希函数计算方法。
CN202111667463.XA 2021-12-31 2021-12-31 一种两轮多重变色龙哈希函数计算方法及系统 Active CN114337990B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111667463.XA CN114337990B (zh) 2021-12-31 2021-12-31 一种两轮多重变色龙哈希函数计算方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111667463.XA CN114337990B (zh) 2021-12-31 2021-12-31 一种两轮多重变色龙哈希函数计算方法及系统

Publications (2)

Publication Number Publication Date
CN114337990A true CN114337990A (zh) 2022-04-12
CN114337990B CN114337990B (zh) 2024-05-31

Family

ID=81021635

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111667463.XA Active CN114337990B (zh) 2021-12-31 2021-12-31 一种两轮多重变色龙哈希函数计算方法及系统

Country Status (1)

Country Link
CN (1) CN114337990B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114978524A (zh) * 2022-04-21 2022-08-30 浪潮云信息技术股份公司 一种基于离散对数的多重变色龙哈希方法及系统
CN115378572A (zh) * 2022-07-12 2022-11-22 启明星辰信息技术集团股份有限公司 一种去中心化的多服务器安全聚合系统和方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190073146A1 (en) * 2017-09-01 2019-03-07 Accenture Global Solutions Limited Turn-Control Rewritable Blockchain
CN110061850A (zh) * 2019-04-24 2019-07-26 电子科技大学 变色龙哈希函数的碰撞计算方法及可编辑区块链构造方法
CN110086631A (zh) * 2019-04-29 2019-08-02 电子科技大学 一种可更新变色龙哈希函数的方法
CN110086599A (zh) * 2019-04-24 2019-08-02 电子科技大学 基于同态变色龙哈希函数的哈希计算方法及签密方法
CN112804272A (zh) * 2021-04-15 2021-05-14 北京安码科技有限公司 变色龙哈希函数的碰撞计算方法及可裁剪区块链账本结构
CN113268542A (zh) * 2021-05-10 2021-08-17 西安交通大学 一种基于多方授权的区块链重写方法及系统

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190073146A1 (en) * 2017-09-01 2019-03-07 Accenture Global Solutions Limited Turn-Control Rewritable Blockchain
CN110061850A (zh) * 2019-04-24 2019-07-26 电子科技大学 变色龙哈希函数的碰撞计算方法及可编辑区块链构造方法
CN110086599A (zh) * 2019-04-24 2019-08-02 电子科技大学 基于同态变色龙哈希函数的哈希计算方法及签密方法
CN110086631A (zh) * 2019-04-29 2019-08-02 电子科技大学 一种可更新变色龙哈希函数的方法
CN112804272A (zh) * 2021-04-15 2021-05-14 北京安码科技有限公司 变色龙哈希函数的碰撞计算方法及可裁剪区块链账本结构
CN113268542A (zh) * 2021-05-10 2021-08-17 西安交通大学 一种基于多方授权的区块链重写方法及系统

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114978524A (zh) * 2022-04-21 2022-08-30 浪潮云信息技术股份公司 一种基于离散对数的多重变色龙哈希方法及系统
CN114978524B (zh) * 2022-04-21 2024-04-12 浪潮云信息技术股份公司 一种基于离散对数的多重变色龙哈希方法及系统
CN115378572A (zh) * 2022-07-12 2022-11-22 启明星辰信息技术集团股份有限公司 一种去中心化的多服务器安全聚合系统和方法
CN115378572B (zh) * 2022-07-12 2024-11-01 启明星辰信息技术集团股份有限公司 一种去中心化的多服务器安全聚合系统和方法

Also Published As

Publication number Publication date
CN114337990B (zh) 2024-05-31

Similar Documents

Publication Publication Date Title
CN109360100B (zh) 基于区块链技术的交易快速确认方法及装置
EP3794766B1 (en) Computer-implemented systems and methods for using a blockchain to perform an atomic swap
CN107508686B (zh) 身份认证方法和系统以及计算设备和存储介质
US9036818B2 (en) Private key generation apparatus and method, and storage media storing programs for executing the methods
CN114730420A (zh) 用于生成签名的系统和方法
US20220172180A1 (en) Method for Storing Transaction that Represents Asset Transfer to Distributed Network and Program for Same
CN114337990A (zh) 一种两轮多重变色龙哈希函数计算方法及系统
CN107248909A (zh) 一种基于sm2算法的无证书安全签名方法
KR960042341A (ko) 인증교환 방법, 복원형 전자서명 방법, 부가형 전자서명 방법, 키교환 방법, 복원형 다중전자서명 방법, 부가형 다중전자서명 방법 및 블라인드 전자서명 방법
CN113360943A (zh) 一种区块链隐私数据的保护方法及装置
CN112910632B (zh) 一种新型面向多数据用户、保护用户隐私的云端数据完整性验证方法
CN112653554B (zh) 一种签名方法、系统、设备及可读存储介质
CA2505460A1 (en) Device authentication
CN112039837B (zh) 一种基于区块链和秘密共享的电子证据保全方法
LU100142B1 (en) Electronic communication and access-control method
CN105825383A (zh) 双方参与的随机数生成和验证方法
CN114117470A (zh) 基于多重变色龙哈希函数的信息查找方法、系统及装置
CN115643098A (zh) 一种基于无证书加密的云数据共享系统和审计系统
US9292671B1 (en) Multi-server authentication using personalized proactivization
WO2021147283A1 (zh) 一种交易发送者的监管方法和系统
Blum et al. Superlight–A permissionless, light-client only blockchain with self-contained proofs and BLS signatures
CN117082505A (zh) 数据安全共享方法、系统及装置、电子设备和存储介质
US7567672B2 (en) Cryptographic communication system
CN110851804A (zh) 一种基于电子合同的联盟链身份认证方式
CN114362921A (zh) 一种改良的两轮多重变色龙哈希函数计算方法及系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant