一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于变色龙哈希函数的消息查找方法、系统、装置及介质与流程

2022-02-25 21:36:59 来源:中国专利 TAG:


1.本发明涉及区块链技术领域,具体地说是基于变色龙哈希函数的消息查找方法、系统、装置及介质。


背景技术:

2.变色龙哈希函数(chameleon hash function),也称作陷门哈希函数,首先由krawczyk和rabin提出。“变色龙”的意思是陷门信息的拥有者可以在不改变函数输出的前提下,随意的改变函数的输入。在变色龙哈希函数中,掌握陷门信息的人能过很容易的计算出一个随机输入的碰撞,没有掌握陷门信息的人则无法计算出碰撞。
3.在变色龙哈希函数中,我们假设签名者是s,签名的接收者是r,接收者r根据一个特定的密钥生成算法生成系统需要的公钥和私钥,其中公钥表示为hk,私钥表示为pk,变色龙哈希函数表示为为cham-hash(〃,〃),它可以由公钥hk快速的计算出来,比如输入一条消息m和一个随机值r,则此变色龙哈希函数的变色龙哈希值h就可以表示为h=cham-hash(m,r)。
4.变色龙哈希函数是一个非标准的抗碰撞哈希函数,它包含一对公钥私钥对,分别用hashkeyhk和trapdoorkeytk(陷门信息)表示。与传统哈希函数相比,变色龙哈希函数具有以下特性:
5.(1)如果一个人知道,他就可以计算与hashkey相关联的变色龙哈希函数;
6.(2)对于不知道陷门信息的人而言,变色龙哈希函数通常都是抗碰撞的;
7.(3)掌握陷门信息的人面对任何给定输入都可以非常轻易的计算出与原始消息不同的一个碰撞。
8.通常,一个变色龙哈希方案由以下四个算法组成:
9.(1)系统参数生成算法,输入一个安全的参数k,输出系统参数sp;
10.(2)密钥生成算法,它负责生成变色龙哈希函数所需要的公钥和私钥,方法如下,输入系统参数sp,为每一个用户输出一个公钥/私钥对(sk,pk);
11.(3)哈希值的生成,如果输入用户的公钥pk,任意一条消息m和一个随机值r,其中r∈zq*,则输出一个哈希值h,其中h=hash(m,r);
12.(4)一个有效的碰撞计算算法,输入用户的私钥sk,一条消息m和一个随机值r,以及另外一条消息m’,输出一个整数r’,其中r’∈zq*,计算出hash(m’,r’)=hash(m,r),通过这个算法,我们可以快速的找到不同于被签名消息m的一个碰撞m’。
13.通过变色龙哈希函数算法可以进行消息的哈希计算,但是现有的变色龙哈希算法不具备线性(同态)特性,不能应用于分布式协议,如何令陷门被多个参与方共同掌控,并提高变色龙哈希算法的安全性,是需要解决的技术问题。


技术实现要素:

14.本发明的技术任务是针对以上不足,提供基于变色龙哈希函数的消息查找方法、
系统、装置及介质,来解决如何令陷门被多个参与方共同掌控,并提高变色龙哈希算法的安全性的技术问题。
15.第一方面,本发明的基于变色龙哈希函数的消息查找方法,包括如下步骤:
16.基于无密钥暴露的变色龙哈希函数算法生成密钥对,所述密钥对包括公钥和私钥,基于分布式协议、多个参与方作为陷门管理者共享所述私钥;
17.陷门管理者随机选择一对随机数,对输入的消息进行变色龙哈希计算,得到的变色龙哈希值作为目标哈希值,所述变色龙哈希计算的计算公式为:
18.e=h(m,r)
19.c=hash(m,r,s)=r(yegsmod p)mod q
20.其中,p、q、g和h表示安全参数,p为位长为k的安全素数,q为素数,p=2q 1,g为的二次剩余子群q
p
的一个生成元,g具有阶q,h为一个抗碰撞的哈希函数,用于将任意长度的位串映射到固定长度的字符串h:{0,1}
*

{0,1}
τ
,τ为预先选定的安全参数;
21.x表示陷门管理者在[1,q-1]中随机选择的私钥,y表示公钥,公钥计算为(g,y=g
x
);
[0022]
(r,s)∈zq×zq
,表示陷门管理者选择的一对随机数,m表示消息,c表示目标哈希值;
[0023]
陷门管理者基于其私钥进行碰撞查找,得到新的消息和一对新的随机数,所述碰撞查找计算公式为:
[0024]r′
=c(ye′gs

mod p)-1
mod q
[0025]e′
=h(m

,r

)
[0026]s′
=k
′‑e′
x mod q
[0027]
其中,k

∈[1,q-1],表示陷门管理者随机选择的一个随机值,
[0028]m′
表示新的消息,(r

,s

)表示一对新的随机数。
[0029]
更优的,还包括如下步骤:
[0030]
基于所述一对随机数(r,s)、公钥y,以及输入的消息m重新进行变色龙哈希计算,得到的变色龙哈希值c

作为对比哈希值,所述变色龙哈希计算对应的计算公式为:
[0031]
e=h(m,r)
[0032]c′
=hash(m,r,s)=r(yegsmod p)mod q
[0033]
将所述目标哈希值与所述比对哈希值进行比对,如果c=c

等式成立,则哈希值验算通过。
[0034]
更优的,所述方法还包括如下步骤:
[0035]
基于正确性验证等式,验证拥有私钥的陷门管理者能够查找对一对新的随机数,且能够查找到新的随机数,所述新的随机数对应的哈希值与输入的消息m具有相同哈希值;所述正确性验证等式表示为:
[0036]
c=r(yegsmodp)modq=r

(ye′gs

mod p)modq
[0037]
作为优选,所述正确性验证等式推导方法为:
[0038]
将r

=c(yk′
mod p)-1
mod q)带入r

(ye′gs

mod p)mod q中,得到第一等式,所述第一等式表示为:
[0039]r′
(ye′gs

mod p)mod q=c(yk′
mod p)-1
(ye′gs

mod p)mod q
[0040]
将s

=k
′‑e′
x mod q代入第一等式,得到第二等式,所述第二等式表示为:
[0041]r′
(ye′gs

mod p)mod q=c(yk′
mod p)-1
(ye′gk
′‑e′
x
mod p)mod q
[0042]
将y=g
x
代入所述第二等式,得到第三等式,所述第三等式表示为:
[0043]r′
(ye′gs

mod p)mod q=c(yk′
mod p)-1
(g
xe
′gk
′‑e′
x
mod p)mod q
[0044]
对所述第三等式进一步推导,得到第四等式,所述第四等式表示为:
[0045]r′
(ye′gs

mod p)mod q=c(yk′
mod p)-1
(gk′
mod p)mod q)
[0046]
基于所述第四等式,r

(ye′gs

mod p)mod q=c
[0047]
更优的,所述方法还包括如下步骤:
[0048]
两方陷门管理者分别随机选择一对随机数,对同一个消息进行变色龙哈希计算,得到(c1,m,r1,s1)和(c2,m,r2,s2),所述变色龙哈希计算对应的计算公式为:
[0049]
e=h(m,r)
[0050]
c=hash(m,r,s)=r(yegsmod p)mod q
[0051]
其中,(r1,s1)和(r2,s2)分别表示两方陷门管理者选取的一对随机数,c1和c2分别表示得到的变色龙哈希值;
[0052]
将c1和c2相乘,得到线性特性验证等式,所述线性特性验证等式表示为:
[0053][0054]
对所述线性特性验证等式进行推导,得到线性特性验证等式的等效式,所述等效式表示为:
[0055][0056]
将c表示为c=f(r,s),则c1c1=f(r1r2,s1 s2),s为私钥x的多项式,通过是设定e的生成算法,实现c1c1=f(r1r2,x1 x2),其中x1和x2分别为两方陷门管理者的变色龙哈希陷门。
[0057]
作为优选,通过如下方法对所述线性特性验证等式进行推导,得到线性特性验证等式的等效式:
[0058]
将s=k-ex代入所述线性特性验证等式,得到第一验证等式,所述第一验证等式表示为:
[0059][0060]
将y=g
x
代入所述第一验证等式,得到第二验证等式,所述第二验证等式表示为:
[0061][0062]
将r

=c(gk′
mod p)mod q代入所述第二验证等式,得到线性特性验证等式的等效式。
[0063]
第二方面,本发明基于变色龙哈希函数的消息查找系统,通过如第一方面任一项所述的基于变色龙哈希函数的消息查找方法,查找新的消息和一对新的随机数,所述新的消息与消息的变色龙哈希值相同,所述系统包括:
[0064]
密钥生成模块,所述密钥生成模块用于基于无密钥暴露的变色龙哈希函数算法生成密钥对,所述密钥对包括公钥和私钥,基于分布式协议、多个参与方作为陷门管理者共享
所述私钥;
[0065]
变色龙哈希计算模块,所述陷门管理者通过变色龙哈希计算模块随机选择一对随机数,对输入的消息进行变色龙哈希计算,得到的变色龙哈希值作为目标哈希值,所述变色龙哈希计算的计算公式为:
[0066]
e=h(m,r)
[0067]
c=hash(m,r,s)=r(yegsmod p)mod q
[0068]
其中,p、q、g和h表示安全参数,p为位长为k的安全素数,q为素数,p=2q 1,g为的二次剩余子群q
p
的一个生成元,g具有阶q,h为一个抗碰撞的哈希函数,用于将任意长度的位串映射到固定长度的字符串h:{0,1}
*

{0,1}
τ
,τ为预先选定的安全参数;
[0069]
x表示陷门管理者在[1,q-1]中随机选择的私钥,y表示公钥,公钥计算为(g,y=g
x
);
[0070]
(r,s)∈zq×zq
,表示陷门管理者选择的一对随机数,m表示消息,c表示目标哈希值;
[0071]
碰撞查找模块,所述陷门管理者通过所述碰撞查找模块、基于其私钥进行碰撞查找,得到新的消息和一对新的随机数,所述碰撞查找计算公式为:
[0072]r′
=c(ye′gs

mod p)-1
mod q
[0073]e′
=h(m

,r

)
[0074]s′
=k
′‑e′
x mod q
[0075]
其中,k

∈[1,q-1],表示陷门管理者随机选择的一个随机值,
[0076]m′
表示新的消息,(r

,s

)表示一对新的随机数;
[0077]
正确性验证模块,所述正确性验证模块用于基于正确性验证等式,验证拥有私钥的陷门管理者能够查找对一对新的随机数,且能够查找到新的随机数,所述新的随机数对应的哈希值与输入的消息m具有相同哈希值;所述正确性验证等式表示为:
[0078]
c=r(yegsmodp)modq=r

(ye′gs

mod p)modq
[0079]
线性特性验证模块,两方陷门管理者通过所述线性特性验证模块用于分别随机选择一对随机数,对同一个消息进行变色龙哈希计算,得到(c1,m,r1,s1)和(c2,m,r2,s2),所述变色龙哈希计算对应的计算公式为:
[0080]
e=h(m,r)
[0081]
c=hash(m,r,s)=r(yegsmod p)mod q
[0082]
其中,(r1,s1)和(r2,s2)分别表示两方陷门管理者选取的一对随机数,c1和c2分别表示得到的变色龙哈希值;
[0083]
将c1和c2相乘,得到线性特性验证等式,所述线性特性验证等式表示为:
[0084][0085]
对所述线性特性验证等式进行推导,得到线性特性验证等式的等效式,所述等效式表示为:
[0086]
[0087]
将c表示为c=f(r,s),则c1c1=f(r1r2,s1 s2),s为私钥x的多项式,通过是设定e的生成算法,实现c1c1=f(r1r2,x1 x2),其中x1和x2分别为两方陷门管理者的变色龙哈希陷门。
[0088]
作为优选,所述正确性验证模块中正确性验证等式推导方法为:
[0089]
将r

=c(yk′
mod p)-1
mod q)带入r

(ye′gs

mod p)mod q中,得到第一等式,所述第一等式表示为:
[0090]r′
(ye′gs

mod p)mod q=c(yk′
mod p)-1
(ye′gs

mod p)mod q
[0091]
将s

=k
′‑e′
x mod q代入第一等式,得到第二等式,所述第二等式表示为:
[0092]r′
(ye′gs

mod p)mod q=c(yk′
mod p)-1
(ye′gk
′‑e′
x
mod p)mod q
[0093]
将y=g
x
代入所述第二等式,得到第三等式,所述第三等式表示为:
[0094]r′
(ye′gs

mod p)mod q=c(yk′
mod p)-1
(g
xe
′gk
′‑e′
x
mod p)mod q
[0095]
对所述第三等式进一步推导,得到第四等式,所述第四等式表示为:
[0096]r′
(ye′gs

mod p)mod q=c(yk′
mod p)-1
(gk′
mod p)mod q)
[0097]
基于所述第四等式,r

(ye′gs

mod p)mod q=c
[0098]
第三方面,本发明的装置,包括:至少一个存储器和至少一个处理器;
[0099]
所述至少一个存储器,用于存储机器可读程序;
[0100]
所述至少一个处理器,用于调用所述机器可读程序,执行第一方面任一所述的方法。
[0101]
第四方面,本发明的计算机介质,为计算机可读介质,所述计算机可读介质上存储有计算机指令,所述计算机指令在被处理器执行时,使所述处理器执行第一方面任一项所述的方法。
[0102]
本发明的基于变色龙哈希函数的消息查找方法、系统、装置及介质具有以下优点:在不降低安全性、运算效率的前提下,使得该变色龙哈希值计算方法以及碰撞查找方法具备了线性(同态)特性,当变色龙哈希算法具备线性特性后,很容易进行分布式协议设计,成为多重变色龙哈希算法,从而允许变色龙哈希陷门被多个参与方控制,提高哈希碰撞生成的安全性。
附图说明
[0103]
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0104]
下面结合附图对本发明进一步说明。
[0105]
图1为实施例1基于变色龙哈希函数的消息查找方法的流程框图;
[0106]
图2为实施例1改进后基于变色龙哈希函数的消息查找方法的流程框图。
具体实施方式
[0107]
下面结合附图和具体实施例对本发明作进一步说明,以使本领域的技术人员可以更好地理解本发明并能予以实施,但所举实施例不作为对本发明的限定,在不冲突的情况下,本发明实施例以及实施例中的技术特征可以相互结合。
[0108]
需要理解的是,在本发明实施例的描述中,“第一”、“第二”等词汇,仅用于区分描述的目的,而不能理解为指示或暗示相对重要性,也不能理解为指示或暗示顺序。在本发明实施例中的“多方”,是指两个或两个以上。
[0109]
本发明实施例提供基于变色龙哈希函数的消息查找方法、系统、装置及介质,用于解决如何令陷门被多个参与方共同掌控,并提高变色龙哈希算法的安全性的技术问题。
[0110]
实施例1:
[0111]
如图1所示,本发明基于变色龙哈希函数的消息查找方法,包括如下步骤:
[0112]
s100、基于无密钥暴露的变色龙哈希函数算法生成密钥对,密钥对包括公钥和私钥,基于分布式协议、多个参与方作为陷门管理者共享私钥;
[0113]
s200、陷门管理者随机选择一对随机数,对输入的消息进行变色龙哈希计算,得到变色龙哈希值作为目标哈希值,变色龙哈希计算的计算公式为:
[0114]
e=h(m,r)
[0115]
c=hash(m,r,s)=r(yegsmod p)mod q
[0116]
其中,p、q、g和h表示安全参数,p为位长为k的安全素数,q为素数,p=2q 1,g为的二次剩余子群q
p
的一个生成元,g具有阶q,h为一个抗碰撞的哈希函数,用于将任意长度的位串映射到固定长度的字符串h:{0,1}
*

{0,1}
τ
,τ为预先选定的安全参数;
[0117]
x表示陷门管理者在[1,q-1]中随机选择的私钥,y表示公钥,公钥计算为(g,y=g
x
);
[0118]
(r,s)∈zq×zq
,表示陷门管理者选择的一对随机数,m表示消息,c表示目标哈希值;
[0119]
s300、陷门管理者基于其私钥进行碰撞查找,得到新的消息和一对新的随机数,碰撞查找计算公式为:
[0120]r′
=c(ye′gs

mod p)-1
mod q
[0121]e′
=h(m

,r

)
[0122]s′
=k
′‑e′
x mod q
[0123]
其中,k

∈[1,q-1],表示陷门管理者随机选择的一个随机值,
[0124]m′
表示新的消息,(r

,s

)表示一对新的随机数。
[0125]
本实施例步骤s100实现了安全设置以及密钥生成,在安全设置过程中设置安全参数p、q、g和h,p为位长为k的安全素数,q为素数,p=2q 1,g为的二次剩余子群q
p
的一个生成元,g具有阶q,h为一个抗碰撞的哈希函数,用于将任意长度的位串映射到固定长度的字符串h:{0,1}
*

{0,1}
τ
,τ为预先选定的安全参数。
[0126]
本实施例中陷门管理者为只掌握变色龙哈希函数陷门(即私钥)的人或组织。陷门管理者在[1,q-1]中随机选择密钥x作为秘密密钥,并计算秘密密钥对应的公钥y,公钥y计算为(g,y=g
x
)。
[0127]
在通过上述步骤实现了安全设置以及密钥生成后,执行步骤s200,通过改进的无暴露变色龙哈希函数进行哈希值计算。
[0128]
在步骤s200中,输入的消息m,随机选择一对随机数(r,s)∈zq×zq
,并进行如下变色龙哈希计算:
[0129]
e=h(m,r)
[0130]
c=hash(m,r,s)=r(yegsmod p)mod q
[0131]
上述为改进的变色龙哈希计算公式,该计算公式总的输出为(c,m,r,s),分别表示一个变色龙哈希值、一个消息和两个随机数。
[0132]
得到变色龙哈希值后,执行步骤s300进行碰撞查找。
[0133]
在步骤s300中,设定c表示变色龙哈希在输入三元组(m,r,s)上的输出,碰撞(m

,r

,s

)可通过如下公式计算:
[0134]e′
=h(m

,r

)
[0135]
c=r

(ye′gs

mod p)modq
[0136]
首先,陷门管理者随机选择一个随机数k

∈[1,q-1],并计算如下公式:
[0137]r′
=c(ye′gs

mod p)-1
mod q
[0138]e′
=h(m

,r

)
[0139]s′
=k
′‑e′
x mod q
[0140]
得到输出(c,m

,r

,s

),分别为哈希值、新的消息、和一对新的随机数。消息m改成为新的消息m

后,哈希值不变,这是变色龙哈希不同于普通哈希算法的地方。
[0141]
作为本实施例的改进,该方法支持对哈希值进行验证,具体步骤为:想验证该哈希算法的人,得到(c,m,r,s)后,先于随机数(r,s)、公钥y、及输入的消息m重新进行变色龙哈希计算,得到的变色龙哈希值c

作为对比哈希值,变色龙哈希计算对应的计算公式为:
[0142]
e=h(m,r)
[0143]c′
=hash(m,r,s)=r(yegsmod p)mod q
[0144]
将目标哈希值与比对哈希值进行比对,如果c=c

等式成立,则哈希值验算通过。
[0145]
作为上述实施例的改进,该方法还包括验证该方法的正确性,正确性体现在新消息m与旧消息m

、旧随机数(r,s)和新随机数(r

,s

),使得正确性验证等式成立,该正确性验证等式表示为:
[0146]
c=r(yegsmodp)modq=r

(ye′gs

mod p)modq
[0147]
其中,e=h(m,r),e

=h(m

,r

)。
[0148]
该正确验证等式的推导过程为:
[0149]
将r

=c(yk′
mod p)-1
mod q)带入r

(ye′gs

mod p)mod q中,得到第一等式,所述第一等式表示为:
[0150]r′
(
we
′gs

mod p)mod q=c(yk′
mod p)-1
(ye′gs

mod p)mod q
[0151]
将s

=k
′‑e′
x mod q代入第一等式,得到第二等式,所述第二等式表示为:
[0152]r′
(ye′gs

mod p)mod q=c(yk′
mod p)-1
(ye′gk
′‑e′
x
mod p)mod q
[0153]
将y=g
x
代入所述第二等式,得到第三等式,所述第三等式表示为:
[0154]r′
(ye′gs

mod p)mod q=c(yk′
mod p)-1
(g
xe
′gk
′‑e′
x
mod p)mod q
[0155]
对所述第三等式进一步推导,得到第四等式,所述第四等式表示为:
[0156]r′
(ye′gs

mod p)mod q=c(yk′
mod p)-1
(gk′
mod p)mod q)
[0157]
基于第四等式,r

(ye′gs

mod p)mod q=c。
[0158]
该推导过程除了验证r

(ye′gs

mod p)mod q=c,还说明只有知道私钥x的人才能找到新的随机数(r

,s

),使得该方法在接受新消息m

时,哈希值c保持不变。
[0159]
如图2所示,作为上述实施例的改进,该方法还包括验证该方法的线性(同态)特性,方法为:
[0160]
两方陷门管理者分别随机选择一对随机数,对同一个消息进行变色龙哈希计算,得到(c1,m,r1,s1)和(c2,m,r2,s2),变色龙哈希计算对应的计算公式为:
[0161]
e=h(m,r)
[0162]
c=hash(m,r,s)=r(yegsmod p)mod q
[0163]
其中,(r1,s1)和(r2,s2)分别表示两方陷门管理者选取的一对随机数,c1和c2分别表示得到的变色龙哈希值;
[0164]
将c1和c2相乘,得到线性特性验证等式,线性特性验证等式表示为:
[0165][0166]
对线性特性验证等式进行推导,得到线性特性验证等式的等效式,等效式表示为:
[0167][0168]
将c表示为c=f(r,s),则c1c1=f(r1r2,s1 s2),s为私钥x的多项式,通过是设定e的生成算法,实现c1c1=f(r1r2,x1 x2),其中x1和x2分别为两方陷门管理者的变色龙哈希陷门。
[0169]
当哈希值与双方的陷门之间存在线性(同态)关系时,很容易设计分布式密码协议,让变色龙哈希算法的陷门由多方控制,提高安全性。
[0170]
本方法将变色龙哈希函数算法公式中的减法改成了乘法,在不降低安全性、运算效率的前提下,使得算法具备了线性(同态)特性。像schnorr、elgamal等具备线性特性的密码算法很容易扩展成多重签名、多重加密一样,当变色龙哈希算法具备线性特性后,很容易进行分布式协议设计,成为多重变色龙哈希算法。从而允许变色龙哈希陷门被多个参与方控制,提高哈希碰撞生成的安全性。
[0171]
实施例2:
[0172]
本发明基于变色龙哈希函数的消息查找系统,包括密钥生成模块、变色龙哈希计算模块、碰撞查找模块、正确性验证模块、以及线性特性验证模块。
[0173]
密钥生成模块用于基于无密钥暴露的变色龙哈希函数算法生成密钥对,所述密钥对包括公钥和私钥,基于分布式协议、多个参与方作为陷门管理者共享所述私钥。
[0174]
密钥生成模块实现了安全设置以及密钥生成,在安全设置过程中设置安全参数p、q、g和h,p为位长为k的安全素数,q为素数,p=2q 1,g为的二次剩余子群q
p
的一个生成元,g具有阶q,h为一个抗碰撞的哈希函数,用于将任意长度的位串映射到固定长度的字符串h:{0,1}
*

{0,1}
τ
,τ为预先选定的安全参数。
[0175]
本实施例中陷门管理者为只掌握变色龙哈希函数陷门(即私钥)的人或组织。陷门管理者在[1,q-1]中随机选择密钥x作为秘密密钥,并计算秘密密钥对应的公钥y,公钥y计算为(g,y=g
x
)。
[0176]
陷门管理者通过变色龙哈希计算模块随机选择一对随机数,对输入的消息进行变色龙哈希计算,得到的变色龙哈希值作为目标哈希值,所述变色龙哈希计算的计算公式为:
[0177]
e=h(m,r)
[0178]
c=hash(m,r,s)=r(yegsmod p)mod q
[0179]
其中,p、q、g和h表示安全参数,p为位长为k的安全素数,q为素数,p=2q 1,g为的二次剩余子群q
p
的一个生成元,g具有阶q,h为一个抗碰撞的哈希函数,用于将任意长度的位串映射到固定长度的字符串h:{0,1}
*

{0,1}
τ
,τ为预先选定的安全参数;
[0180]
x表示陷门管理者在[1,q-1]中随机选择的私钥,y表示公钥,公钥计算为(g,y=g
x
);
[0181]
(r,s)∈zq×zq
,表示陷门管理者选择的一对随机数,m表示消息,c表示目标哈希值;
[0182]
陷门管理者通过所述碰撞查找模块、基于其私钥进行碰撞查找,得到新的消息和一对新的随机数,所述碰撞查找计算公式为:
[0183]r′
=c(ye′gs

mod p)-1
mod q
[0184]e′
=h(m

,r

)
[0185]s′
=k
′‑e′
x mod q
[0186]
其中,k

∈[1,q-1],表示陷门管理者随机选择的一个随机值,
[0187]m′
表示新的消息,(r

,s

)表示一对新的随机数;
[0188]
正确性验证模块用于基于正确性验证等式,验证拥有私钥的陷门管理者能够查找对一对新的随机数,且能够查找到新的随机数,所述新的随机数对应的哈希值与输入的消息m具有相同哈希值;所述正确性验证等式表示为:
[0189]
c=r(yegsmodp)modq=r

(ye′gs

mod p)modq
[0190]
正确性验证模块中正确性验证等式推导方法为:
[0191]
将r

=c(yk′
mod p)-1
mod q)带入r

(ye′gs

mod p)mod q中,得到第一等式,所述第一等式表示为:
[0192]r′
(ye′gs

mod p)mod q=c(yk′
mod p)-1
(ye′gs

mod p)mod q
[0193]
将s

=k
′‑e′
x mod q代入第一等式,得到第二等式,所述第二等式表示为:
[0194]r′
(ye′gs

mod p)mod q=c(yk′
mod p)-1
(ye′gk
′‑e′
x
mod p)mod q
[0195]
将y=g
x
代入所述第二等式,得到第三等式,所述第三等式表示为:
[0196]r′
(ye′gs

mod p)mod q=c(yk′
mod p)-1
(g
xe
′gk
′‑e′
x
mod p)mod q
[0197]
对所述第三等式进一步推导,得到第四等式,所述第四等式表示为:
[0198]r′
(ye′gs

mod p)mod q=c(yk′
mod p)-1
(gk′
mod p)mod q)
[0199]
基于所述第四等式,r

(ye′gs

mod p)mod q=c
[0200]
两方陷门管理者通过所述线性特性验证模块用于分别随机选择一对随机数,对同一个消息进行变色龙哈希计算,得到(c1,m,r1,s1)和(c2,m,r2,s2),所述变色龙哈希计算对应的计算公式为:
[0201]
e=h(m,r)
[0202]
c=hash(m,r,s)=r(yegsmod p)mod q
[0203]
其中,(r1,s1)和(r2,s2)分别表示两方陷门管理者选取的一对随机数,c1和c2分别表示得到的变色龙哈希值;
[0204]
将c1和c2相乘,得到线性特性验证等式,所述线性特性验证等式表示为:
[0205][0206]
对线性特性验证等式进行推导,得到线性特性验证等式的等效式,等效式表示为:
[0207][0208]
将c表示为c=f(r,s),则c1c1=f(r1r2,s1 s2),s为私钥x的多项式,通过是设定e的生成算法,实现c1c1=f(r1r2,x1 x2),其中x1和x2分别为两方陷门管理者的变色龙哈希陷门。
[0209]
实施例3:
[0210]
本发明的装置,包括:至少一个存储器和至少一个处理器;所述至少一个存储器,用于存储机器可读程序;所述至少一个处理器,用于调用所述机器可读程序,执行本发明实施例1公开的方法。
[0211]
实施例4:
[0212]
本发明实施例还提供了一种计算机可读介质,所述计算机可读介质上存储有计算机指令,所述计算机指令在被处理器执行时,使所述处理器执行本发明任一实施例中的方法。具体地,可以提供配有存储介质的系统或者装置,在该存储介质上存储着实现上述实施例中任一实施例的功能的软件程序代码,且使该系统或者装置的计算机(或cpu或mpu)读出并执行存储在存储介质中的程序代码。
[0213]
在这种情况下,从存储介质读取的程序代码本身可实现上述实施例中任何一项实施例的功能,因此程序代码和存储程序代码的存储介质构成了本发明的一部分。
[0214]
用于提供程序代码的存储介质实施例包括软盘、硬盘、磁光盘、光盘(如cd-rom、cd-r、cd-rw、dvd-rom、dvd-ram、dvd-rw、dvd rw)、磁带、非易失性存储卡和rom。可选择地,可以由通信网络从服务器计算机上下载程序代码。
[0215]
此外,应该清楚的是,不仅可以通过执行计算机所读出的程序代码,而且可以通过基于程序代码的指令使计算机上操作的操作系统等来完成部分或者全部的实际操作,从而实现上述实施例中任意一项实施例的功能。
[0216]
此外,可以理解的是,将由存储介质读出的程序代码写到插入计算机内的扩展板中所设置的存储器中或者写到与计算机相连接的扩展单元中设置的存储器中,随后基于程序代码的指令使安装在扩展板或者扩展单元上的cpu等来执行部分和全部实际操作,从而实现上述实施例中任一实施例的功能。
[0217]
需要说明的是,上述各流程和各系统结构图中不是所有的步骤和模块都是必须的,可以根据实际的需要忽略某些步骤或模块。各步骤的执行顺序不是固定的,可以根据需要进行调整。上述各实施例中描述的系统结构可以是物理结构,也可以是逻辑结构,即,有些模块可能由同一物理实体实现,或者,有些模块可能分由多个物理实体实现,或者,可以由多个独立设备中的某些部件共同实现。
[0218]
以上各实施例中,硬件单元可以通过机械方式或电气方式实现。例如,一个硬件单元可以包括永久性专用的电路或逻辑(如专门的处理器,fpga或asic)来完成相应操作。硬件单元还可以包括可编程逻辑或电路(如通用处理器或其它可编程处理器),可以由软件进行临时的设置以完成相应操作。具体的实现方式(机械方式、或专用的永久性电路、或者临
时设置的电路)可以基于成本和时间上的考虑来确定。
[0219]
上文通过附图和优选实施例对本发明进行了详细展示和说明,然而本发明不限于这些已揭示的实施例,基与上述多个实施例本领域技术人员可以知晓,可以组合上述不同实施例中的代码审核手段得到本发明更多的实施例,这些实施例也在本发明的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献