CN110086631B - 一种可更新变色龙哈希函数的方法 - Google Patents

一种可更新变色龙哈希函数的方法 Download PDF

Info

Publication number
CN110086631B
CN110086631B CN201910353399.4A CN201910353399A CN110086631B CN 110086631 B CN110086631 B CN 110086631B CN 201910353399 A CN201910353399 A CN 201910353399A CN 110086631 B CN110086631 B CN 110086631B
Authority
CN
China
Prior art keywords
chameleon
random number
hash
key
collision
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.)
Active
Application number
CN201910353399.4A
Other languages
English (en)
Other versions
CN110086631A (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.)
University of Electronic Science and Technology of China
Original Assignee
University of Electronic Science and Technology of China
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 University of Electronic Science and Technology of China filed Critical University of Electronic Science and Technology of China
Priority to CN201910353399.4A priority Critical patent/CN110086631B/zh
Publication of CN110086631A publication Critical patent/CN110086631A/zh
Application granted granted Critical
Publication of CN110086631B publication Critical patent/CN110086631B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0891Revocation or update of secret information, e.g. encryption key update or rekeying
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)

Abstract

本发明公开了一种可更新变色龙哈希函数的方法,属于网络安全技术领域。本发明包括:系统初始化,密钥生成,计算哈希,验证哈希,计算碰撞,更新碰撞,根据陷门密钥,对满足碰撞的变色龙随机数进行周期性的更新,被正确更新后的变色龙随机数可以在当前时间点内通过认证,反之,无法通过认证,解决现有技术中的变色龙哈希函数的变色龙哈希值存在效率性和安全性的问题。本发明适用于安全和高效的计算变色龙哈希值,并且能够抗密钥泄露,可以对满足碰撞的变色龙随机数进行周期性的更新,防止碰撞值被滥用,同时提高变色龙哈希值的新鲜性。

Description

一种可更新变色龙哈希函数的方法
技术领域
一种可更新变色龙哈希函数的方法,属于网络安全领域,用于变色龙哈希函数的变色龙哈希函数的哈希值更新。
背景技术
简单的来说,变色龙哈希函数是一种单向陷门函数,在没有陷门密钥的情况下,计算满足碰撞的一对变色龙哈希值输出(即变色龙哈希值一致,但是变色龙随机数不一致)是困难的。变色龙哈希函数作为一种早期提出的密码方案,已经广泛应用到包括:变色龙签名,不可抵赖签名,不可抵赖认证,离线在线签名和加密等方案的设计中去,作为方案设计底层的基石。
当前变色龙哈希值存在效率性和安全性的问题。就效率性而言,部分方案使用到基于双线性对的计算,由于该计算耗费大,而变色龙哈希作为一个哈希函数,必须满足计算高效性的特性,因此宜优先考虑不用双线性对的设计;就安全性而言,当前的变色龙哈希方案需要考虑抗密钥泄露和防止碰撞值被滥用的问题。
现有技术中,陷门的滥用问题也广泛存在,对于一个通过伪造算法产生的新的变色龙随机数,任何人可以使用该变色龙随机数向外界证明碰撞的存在,然而,该变色龙随机数并非由持有该哈希值的人产生,而是由陷门持有者在此前一段时间产生的。
此外,哈希值的新鲜性也是需要解决的问题之一,过去的方案,对于已经产生的哈希值,往往无法验证其哈希值的新鲜性,即无法获知该哈希值是在当前产生的,还是过去产生的,这对于需要使用变色龙哈希函数作为输入的算法产生安全隐患。
针对陷门密钥的安全问题,Ateniese早期在《On the key exposure problem inchameleon hashes》文章上首次考虑了设计抗密钥泄露的变色龙哈希函数,这里的抗密钥泄露问题指的是给定一组满足碰撞的哈希值,无法从中恢复得到陷门密钥(为变色龙哈希方案的主密钥)。此方案计算碰撞的同时,为造成密钥泄露,即更定两个碰撞,通过联立相应的哈希计算公式,可以从中计算得到陷门密钥x,因此如果要解决该计算问题,此类方案存在重要的安全隐患。
发明内容
针对上述研究的问题,本发明的目的在于提供一种可更新变色龙哈希函数的方法,解决现有技术中的变色龙哈希函数的变色龙哈希值存在效率性和安全性的问题。
为了达到上述目的,本发明采用如下技术方案:
一种可更新变色龙哈希函数的方法,包括下列步骤:
步骤a.系统初始化:
选择安全参数λ,设置系统公开参数P;
步骤b.密钥生成:
根据系统公开参数P,计算陷门密钥tk和哈希密钥hk;
步骤c.计算变色龙哈希值:
根据哈希密钥hk、交易信息CID、时间t和随机数α,计算变色龙随机数r和消息m的变色龙哈希值
Figure GDA00030144205000000214
步骤d.验证变色龙哈希值,若验证通过则继续以下步骤,否则便终止;
验证变色龙哈希值
Figure GDA00030144205000000215
根据哈希密钥hk、交易信息CID、由消息m、变色龙哈希值
Figure GDA00030144205000000210
和变色龙随机数r组成的数组
Figure GDA0003014420500000021
以及时间t,验证数组
Figure GDA0003014420500000022
的变色龙哈希值
Figure GDA00030144205000000216
并输出⊥,0或1,⊥表示错误信号,0表示验证未通过,1表示验证通过;
步骤e.对验证通过的变色龙哈希值计算碰撞:
根据陷门密钥tk、交易信息CID、新消息m′、一个由消息m、变色龙哈希值
Figure GDA00030144205000000212
和变色龙随机数r组成的数组
Figure GDA0003014420500000023
以及时间t,输出一个满足碰撞的新的变色龙随机数r′或⊥;
步骤f.对验证通过的变色龙哈希值更新碰撞:
根据陷门密钥tk、交易信息CID、一个由消息m、变色龙哈希值
Figure GDA00030144205000000217
变色龙随机数r和时间t组成的数组
Figure GDA0003014420500000024
以及时间增量Δt,输出更新后的变色龙随机数r″或⊥;
进一步,所述步骤a中,设置系统公开参数P的具体步骤为:
根据安全参数λ选择一个生成元为g,群阶数为q的群G,即GDH群;
设置两个哈希函数:H1:{0,1}*→G和H2:{0,1}*→Zq,Zq={0,1,…,q-1},为q阶整数群;
设置Δt为一个全局时间周期,用于参照该参数Δt,进行周期性的更新和验证变色龙哈希值;
输出系统公开参数P=<G,q,g,H1,H2,Δt>;
进一步,所述步骤b中,密钥生成的具体步骤为:
根据系统公开参数P,选择一个随机数
Figure GDA0003014420500000025
作为陷门密钥tk,计算哈希密钥hk=y=gx,输出陷门密钥和哈希密钥(tk,hk),其中,
Figure GDA0003014420500000026
表示从q阶去单位元的整数群
Figure GDA0003014420500000027
中随机选取一个值,从Zq={1,…,q-1}中随机选取一个值。
进一步,所述步骤c中,计算消息m的变色龙哈希值的具体步骤为:
随机选择一个交易信息CID∈{0,1}*,CID充当随机数,用于避免密钥泄露,选择一个随机数
Figure GDA0003014420500000031
计算h=H1(CID);
根据随机数α、生成元g和时间t∈Zq,计算变色龙随机数r=(gαt,gαt),并根据变色龙随机数r和h计算消息m的变色龙哈希值
Figure GDA0003014420500000032
t∈Zq表示使用系统初始化阶段定义的哈希函数H2(),将任意格式的消息转化为一阶整数群Zq上的一个值,根据当前时间,输入哈希函数H2(),获得一个当前时间t∈Zq
输出变色龙哈希值和变色龙随机数
Figure GDA0003014420500000033
进一步,所述步骤d中,验证变色龙哈希值的具体步骤为:
由消息m、变色龙哈希值
Figure GDA0003014420500000034
和变色龙随机数r组成的数组
Figure GDA0003014420500000035
首先判断<g,gαt,y,yαt>是否为满足<g,gαt,gx,yxat>的Diffie-Hellman数组,如果不成立,则输出错误信号⊥;否则,计算h=H1(CID),计算并验证
Figure GDA0003014420500000036
若等式不成立,则返回0;否则,返回1。
进一步,所述步骤e中,计算碰撞的具体步骤为:
根据陷门密钥tk、交易信息CID、新消息m′、一个由消息m、变色龙哈希值
Figure GDA00030144205000000311
和变色龙随机数r组成的数组
Figure GDA0003014420500000037
以及时间t,输出一个满足碰撞的新的变色龙随机数r′或⊥;
计算碰撞的具体步骤为:
根据哈希密钥hk,交易信息CID,一个由消息m、变色龙哈希
Figure GDA00030144205000000312
和变色龙随机数r组成的数组
Figure GDA0003014420500000038
以及时间t,新消息m′和陷门密钥tk,计算h=H1(CID),然后计算新的变色龙随机数
Figure GDA0003014420500000039
其中,α′表示与原来不相同的随机数,gα′t将α′t和g绑定在一起,用于区分不同变色龙哈希值,yα′t将α′t和y绑定在一起,用于绑定哈希密钥和哈希值在一起,拥有陷门密钥x的用户通过(gα′t,yα′t)能正确计算出保持变色龙哈希值不变的碰撞随机数r′;
判断<g,gα′t,y,yα′t>是否为满足<g,gα′t,gx,yxα′t>的Diffie-Hellman数组,若不成立,则输出⊥,否则,输出满足碰撞的一个新的变色龙随机数r′,以上为计算的碰撞;
进一步,所述步骤f中,更新碰撞的具体步骤为:
根据哈希密钥hk,交易信息CID,一个由消息m、变色龙哈希值
Figure GDA00030144205000000310
变色龙随机数r和时间t组成的数组
Figure GDA0003014420500000041
根据时间增量Δt和陷门密钥tk,计算h=H1(CID),然后计算更新后的变色龙随机数
Figure GDA0003014420500000042
α″表示与原来不相同的随机数;
检查<g,gα″(t+Δt),y,yα″(t+Δt)>是否为Diffie-Hellman数组,即是否满足<g,gα″(t+Δt),gx,gxα″(t+Δt)>,若不成立,则输出⊥,否则,判断等式
Figure GDA0003014420500000043
Figure GDA0003014420500000044
是否成立,若等式不成立,则输出⊥,否则,输出更新后的变色龙随机值r″,即更新的碰撞。
本发明同现有技术相比,其有益效果表现在:
(1)本发明未采用双线性对,各个自算法的计算开销主要来自于有限的指数运算,因此满足高效性,满足变色龙哈希算法的使用需求;
(2)本发明满足抗密钥泄露性,本发明的安全可以被规约到计算性Diffie-Hellman问题上去,因此该技术方案是安全的;
(3)本发明允许对变色龙哈希值所对应的变色龙随机数进行周期性的更新,被正确更新后的变色龙随机数可以在当前时间点通过认证,因此有效的防止满足碰撞的变色龙随机数被肆意滥用,因此该技术方案是安全的。
(4)本发明允许将时间作为计算变色龙哈希值的参数,并且以此为依据对该变色龙哈希值进行验证,以确保变色龙哈希值是在当前时间节点产生的,而不是在过去产生的,从而确保变色龙哈希值的新鲜性。
(5)本发明为了防止碰撞被滥用的问题,对变色龙随机数加以时间限制,确保满足碰撞的变色龙随机数只能在一定时间范围内得到使用,从而有效控制碰撞被滥用的问题,由此一来,需要对陷门进行实时的周期性的动态更新,以确保以前生效的碰撞,在新的时间节点(即更新后)仍然生效,为了确保计算开销和安全性满足实际需求,可以人为的对更新周期进行调整,以此在计算耗费和安全性上求得一个平衡。
附图说明
图1是本发明的流程示意图。
具体实施方式
下面将结合附图及具体实施方式对本发明作进一步的描述。
本发明包括:系统初始化,密钥生成,计算哈希,验证变化龙哈希值,计算碰撞,更新碰撞,根据陷门密钥,对满足碰撞的变色龙随机数进行周期性的更新,被正确更新后的变色龙随机数可以在当前时间点内通过认证,反之,无法通过认证。本发明适用于安全和高效的计算变色龙哈希值,并且能够抗密钥泄露,可以对满足碰撞的变色龙随机数进行周期性的更新,防止碰撞值被滥用,同时提高变色龙哈希值的新鲜性。具体如下:
一种可更新变色龙哈希函数的方法,包括下列步骤:
步骤a.系统初始化:
选择安全参数λ,设置系统公开参数P;
设置系统公开参数P的具体步骤为:
根据安全参数λ选择一个生成元为g,群阶数为q的群G,即GDH群,GDH为GapDiffie-Hellman,具体的定义如下:在GDH群上,CDH问题是困难的,但是DDH问题存在有效的解法,其中,CDH代表Computational Diffie-Hellman问题,DDH代表Decisional Diffie-Hellman问题。具体的GDH群的构建方法,以及CDH和DDH问题的定义,在文献<D.Boneh,B.Lynn,H.Shacham,”Short signatures from the weil pairing”,2001.>中有详细说明,即文献中在Gap Diffie-Hellman中,Computational Diffie-Hellman问题是困难的,而Decisional Diffie-Hellman问题是容易的,即存在有效的解决方法;
设置两个哈希函数:H1:{0,1}*→G和H2:{0,1}*→Zq,Zq={0,1,…,q-1},为q阶整数群;
设置Δt为一个全局时间周期,用于参照该参数Δt,进行周期性的更新和验证变色龙哈希值;
输出系统公开参数P=<G,q,g,H1,H2,Δt>。
步骤b.密钥生成:
根据系统公开参数P,计算陷门密钥tk和哈希密钥hk;
密钥生成的具体步骤为:
根据系统公开参数P,选择一个随机数
Figure GDA0003014420500000051
作为陷门密钥tk,计算哈希密钥hk=y=gx,输出陷门密钥和哈希密钥(tk,hk),其中,
Figure GDA0003014420500000052
表示从q阶去单位元的整数群
Figure GDA0003014420500000053
中随机选取一个值,即从Zq={1,…,q-1}中随机选取一个值;
步骤c.计算哈希值:
根据哈希密钥hk、交易信息CID、时间t和随机数α,计算变色龙随机数r和消息m的变色龙哈希值
Figure GDA0003014420500000054
计算消息m的哈希值的具体步骤为:
随机选择一个交易信息CID∈{0,1}*,CID充当随机数,用于避免密钥泄露,选择一个随机数
Figure GDA0003014420500000061
计算h=H1(CID);
根据随机数α、生成元g和时间t∈Zq,计算变色龙随机数r=(gαt,gαt),并根据变色龙随机数r和h计算消息m的变色龙哈希值
Figure GDA00030144205000000618
t∈Zq表示使用系统初始化阶段定义的哈希函数H2(),将任意格式的消息转化为一阶整数群Zq上的一个值,就能根据当前时间,输入哈希函数H2(),获得一个当前时间t∈Zq
输出变色龙哈希值和变色龙随机数
Figure GDA0003014420500000062
步骤d.若要计算碰撞或更新碰撞,需先验证变色龙哈希值,若验证通过计算碰撞或更新碰撞,否则,不计算碰撞或更新碰撞;
验证变色龙哈希值:
根据哈希密钥hk、交易信息CID、由消息m、变色龙哈希值
Figure GDA00030144205000000614
和变色龙随机数r组成的数组
Figure GDA0003014420500000063
以及时间t,验证数组
Figure GDA0003014420500000064
的变色龙哈希值,并输出⊥,0或1,⊥表示错误信号,0表示验证未通过,1表示验证通过;
验证变色龙哈希值的具体步骤为:
由消息m、变色龙哈希值
Figure GDA00030144205000000615
和变色龙随机数r组成的数组
Figure GDA0003014420500000065
首先判断<g,gαt,y,yαt>是否为Diffie-Hellman数组,即是否满足<g,gαt,gx,yxαt>,是通过在GDH群上存在的高效的算法验证数组是否属于Diffie-Hellman数组,具体见文献<D.Boneh,B.Lynn,H.Shacham,”Short signatures from the weil pairing”,2001.>,如果不成立,则输出错误信号⊥;否则,计算h=H1(CID),计算并验证
Figure GDA0003014420500000066
若等式不成立,则返回0;否则,返回1
步骤e.计算碰撞:
根据陷门密钥tk、交易信息CID、新消息m′、一个由消息m、变色龙哈希值
Figure GDA00030144205000000616
和变色龙随机数r组成的数组
Figure GDA0003014420500000067
以及时间t,输出一个满足碰撞的新的变色龙随机数r′或⊥;
计算碰撞的具体步骤为:
根据哈希密钥hk,交易信息CID,一个由消息m、变色龙哈希
Figure GDA00030144205000000617
和变色龙随机数r组成的数组
Figure GDA0003014420500000068
以及时间t,根据时间t,新消息m′和陷门密钥tk,计算h=H1(CID),然后计算新的变色龙随机数
Figure GDA0003014420500000069
其中,α′表示与原来不相同的随机数,gα′t将α′t和g绑定在一起,用于区分不同变色龙哈希值,yα′t将α′t和y绑定在一起,用于绑定哈希密钥和哈希值在一起,即拥有陷门密钥x的用户通过(gα′t,yα′t)能正确计算出保持变色龙哈希值不变的碰撞随机数r′;
判断<g,gα′t,y,yα′t>是否为Diffie-Hellman数组,即是否满足<g,gα′t,gx,yxα′t>,若不成立,则输出⊥,否则,输出满足碰撞的一个新的变色龙随机数r′,即为计算的碰撞。
步骤f.更新碰撞:
根据陷门密钥tk、交易信息CID、一个由消息m、变色龙哈希值
Figure GDA00030144205000000713
变色龙随机数r和时间t组成的数组
Figure GDA0003014420500000071
以及时间增量Δt,输出更新后的变色龙随机数r″或⊥。
更新碰撞的具体步骤为:
根据哈希密钥hk,交易信息CID,一个由消息m、变色龙哈希值
Figure GDA00030144205000000714
变色龙随机数r和时间t组成的数组
Figure GDA0003014420500000072
根据时间增量Δt和陷门密钥tk,计算h=H1(CID),然后计算更新后的变色龙随机数
Figure GDA0003014420500000073
α″表示与原来不相同的随机数;
检查<g,gα″(t+Δt),y,yα″(t+Δt)>是否为Diffie-Hellman数组,即是否满足<g,gα″(t+Δt),gx,gxα″(t+Δt)>,若不成立,则输出⊥,否则,判断等式
Figure GDA0003014420500000074
Figure GDA0003014420500000075
是否成立,若等式不成立,则输出⊥,否则,输出更新后的变色龙随机值r″,即更新的碰撞。
在本发明中,我们提出的方案满足该特性(抗密钥泄露问题指的是给定一组满足碰撞的变化龙哈希值,无法从中恢复得到陷门密钥(为变色龙哈希方案的主密钥)),以下我们简单的证明:给定任意一组满足碰撞的
Figure GDA0003014420500000076
Figure GDA0003014420500000077
对于同一交易信息CID,我们有h=H1(CID)和
Figure GDA0003014420500000078
由此,我们可以推导得到
Figure GDA0003014420500000079
Figure GDA00030144205000000710
基于可证明安全定理,我们可以简单的把我们的抗密钥泄露问题规约到计算性Diffie-Hellman问题(CDHP)上去,即给定g,gx,h,计算hx是困难的。由于上述我们给出了如何通过我们的方案能够推导得到hx,因此可以规约到CDHP问题上去,由于CDHP问题是困难的,所以我们的方案是抗密钥泄露的。
此外,针对防止碰撞被滥用的问题,我们在本发明中提出的解决方法是周期性的对变色龙哈希值及其对应的变色龙随机数进行更新,更新后的值能够在当前时间点下通过认证,反之,无法通过。
综上所述,我们在本发明中提出一种可更新变色龙哈希函数的方法,该方案高效,抗密钥泄露并且防止碰撞被滥用,对比其他方案而言,我们的方案是一种更高效和安全的设计。
以上仅是本发明众多具体应用范围中的代表性实施例,对本发明的保护范围不构成任何限制。凡采用变换或是等效替换而形成的技术方案,均落在本发明权利保护范围之内。

Claims (4)

1.一种可更新变色龙哈希函数的方法,其特征在于,包括下列步骤:
步骤a.系统初始化:
选择安全参数λ,设置系统公开参数P;
设置系统公开参数P的具体步骤为:
根据安全参数λ选择一个生成元为g,群阶数为q的GDH群群G,即;
设置两个哈希函数:H1:{0,1}*→G和H2:{0,1}*→Zq,Zq={0,1,...,q-1},为q阶整数群;
设置Δt为一个全局时间周期,用于参照该参数Δt,进行周期性的更新和验证变色龙哈希值;
输出系统公开参数P=<G,q,g,H1,H2,Δt>;
步骤b.密钥生成:
根据系统公开参数P,计算陷门密钥tk和哈希密钥hk;
步骤c.计算变色龙哈希值:
根据哈希密钥hk、交易信息CID、时间t和随机数α,计算变色龙随机数r和消息m的变色龙哈希值
Figure FDA0003014420490000013
步骤d.验证变色龙哈希值,若验证通过则继续以下步骤,否则便终止;
验证变色龙哈希值
Figure FDA0003014420490000014
根据哈希密钥hk、交易信息CID、由消息m、变色龙哈希值
Figure FDA0003014420490000018
和变色龙随机数r组成的数组
Figure FDA0003014420490000015
以及时间t,验证数组
Figure FDA0003014420490000016
的变色龙哈希值
Figure FDA0003014420490000017
并输出⊥,0或1,⊥表示错误信号,0表示验证未通过,1表示验证通过;
步骤e.对验证通过的变色龙哈希值计算碰撞:
根据陷门密钥tk、交易信息CID、新消息m′、一个由消息m、变色龙哈希值
Figure FDA00030144204900000111
和变色龙随机数r组成的数组
Figure FDA00030144204900000112
以及时间t,输出一个满足碰撞的新的变色龙随机数r′或⊥;
计算碰撞的具体步骤为:
根据哈希密钥hk,交易信息CID,一个由消息m、变色龙哈希
Figure FDA0003014420490000019
和变色龙随机数r组成的数组
Figure FDA00030144204900000110
以及时间t,新消息m′和陷门密钥tk,计算h=H1(CID),然后计算新的变色龙随机数
Figure FDA0003014420490000011
Figure FDA0003014420490000012
其中,α′表示与原来不相同的随机数,gα′t将α′t和g绑定在一起,用于区分不同变色龙哈希值,yα′t将α′t和y绑定在一起,用于绑定哈希密钥和哈希值在一起,拥有陷门密钥x的用户通过(gα′t,yα′t)能正确计算出保持变色龙哈希值不变的碰撞随机数r′;
判断<g,gα′t,y,yα′t>是否为满足<g,gα′t,gx,yxα′t>的Diffie-Hellman数组,若不成立,则输出⊥,否则,输出满足碰撞的一个新的变色龙随机数r′,以上为计算的碰撞;
步骤f.对验证通过的变色龙哈希值更新碰撞:
根据陷门密钥tk、交易信息CID、一个由消息m、变色龙哈希值
Figure FDA00030144204900000211
变色龙随机数r和时间t组成的数组
Figure FDA00030144204900000210
以及时间增量Δt,输出更新后的变色龙随机数r″或⊥;
更新碰撞的具体步骤为:
根据哈希密钥hk,交易信息CID,一个由消息m、变色龙哈希值
Figure FDA0003014420490000029
变色龙随机数r和时间t组成的数组
Figure FDA0003014420490000028
根据时间增量Δt和陷门密钥tk,计算h=H1(CID),然后计算更新后的变色龙随机数
Figure FDA0003014420490000021
Figure FDA0003014420490000022
α″表示与原来不相同的随机数;
判断<g,gα″(t+Δt),y,yα″(t+Δt)>是否为满足<g,gα″(t+Δt),gx,gxα″(t+Δt)>的Diffie-Hellman数组,若不成立,则输出⊥,否则,判断等式
Figure FDA0003014420490000023
Figure FDA0003014420490000024
是否成立,若等式不成立,则输出⊥,否则,输出更新后的变色龙随机值r″,以上为更新的碰撞。
2.如权利要求1所述的一种可更新变色龙哈希函数的方法,其特征在于,所述步骤b中,密钥生成的具体步骤为:
根据系统公开参数P,选择一个随机数
Figure FDA0003014420490000025
作为陷门密钥tk,计算哈希密钥hk=y=gx,输出陷门密钥和哈希密钥(tk,hk),其中,
Figure FDA0003014420490000026
表示从q阶去单位元的整数群
Figure FDA0003014420490000027
中随机选取一个值,从Zq={1,...,q-1}中随机选取一个值。
3.如权利要求2所述的一种可更新变色龙哈希函数的方法,其特征在于,所述步骤c中,计算消息m的变色龙哈希值
Figure FDA0003014420490000037
的具体步骤为:
随机选择一个交易信息CID∈{0,1}*,CID充当随机数,用于避免密钥泄露,选择一个随机数
Figure FDA0003014420490000031
计算h=H1(CID);
根据随机数α、生成元g和时间t∈Zq,计算变色龙随机数r=(gαt,gαt),并根据变色龙随机数r和h计算消息m的变色龙哈希值
Figure FDA0003014420490000032
t∈Zq表示使用系统初始化阶段定义的哈希函数H2(),将任意格式的消息转化为一阶整数群Zq上的一个值,根据当前时间,输入哈希函数H2(),获得一个当前时间t∈Zq
输出变色龙哈希值和变色龙随机数
Figure FDA0003014420490000033
4.如权利要求3所述的一种可更新变色龙哈希函数的方法,其特征在于,所述步骤d中,验证变色龙哈希值的具体步骤为:
由消息m、变色龙哈希值
Figure FDA0003014420490000036
和变色龙随机数r组成的数组
Figure FDA0003014420490000034
首先判断<g,gαt,y,yαt>是否为满足<g,gαt,gx,yxαt>的Diffie-Hellman数组,如果不成立,则输出错误信号⊥;否则,计算h=H1(CID),计算并验证
Figure FDA0003014420490000035
若等式不成立,则返回0;否则,返回1。
CN201910353399.4A 2019-04-29 2019-04-29 一种可更新变色龙哈希函数的方法 Active CN110086631B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910353399.4A CN110086631B (zh) 2019-04-29 2019-04-29 一种可更新变色龙哈希函数的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910353399.4A CN110086631B (zh) 2019-04-29 2019-04-29 一种可更新变色龙哈希函数的方法

Publications (2)

Publication Number Publication Date
CN110086631A CN110086631A (zh) 2019-08-02
CN110086631B true CN110086631B (zh) 2021-06-08

Family

ID=67417561

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910353399.4A Active CN110086631B (zh) 2019-04-29 2019-04-29 一种可更新变色龙哈希函数的方法

Country Status (1)

Country Link
CN (1) CN110086631B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111526009B (zh) * 2020-04-09 2021-06-15 西南交通大学 一种适用于联盟链的前向安全可编辑区块链构造方法
CN113472518A (zh) * 2021-07-11 2021-10-01 南京理工大学 一种抗密钥暴露的变色龙哈希函数的构造方法
CN113794556B (zh) * 2021-09-10 2023-05-23 福建师范大学 面向可编校区块链协议的pch可撤销方法及系统
CN113890740B (zh) * 2021-09-28 2023-08-01 西南交通大学 一种基于变色龙哈希函数的安全认证方法
CN114978524B (zh) * 2022-04-21 2024-04-12 浪潮云信息技术股份公司 一种基于离散对数的多重变色龙哈希方法及系统
CN115102955B (zh) * 2022-05-30 2023-08-01 电子科技大学 基于变色龙哈希函数的链外数据存储与更新方法
CN115378600A (zh) * 2022-07-27 2022-11-22 浪潮云信息技术股份公司 一种基于离散对数的可验证变色龙哈希验证方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101741559B (zh) * 2008-11-10 2012-11-07 广州信睿网络科技有限公司 一种无密钥泄露的变色龙数字签名方法
CN103259662B (zh) * 2013-05-02 2016-08-10 电子科技大学 一种新的基于整数分解问题的代理签名及验证方法
CN104601605B (zh) * 2015-02-28 2018-01-02 北方工业大学 云存储中基于变色龙哈希函数的高效隐私保护审计方法
EP3460700A1 (en) * 2017-09-22 2019-03-27 Banco Bilbao Vizcaya Argentaria, S.A. Authentication of software update modules using chameleon hashing.
CN109600216B (zh) * 2018-12-11 2021-08-27 安徽大学 一种强抗碰撞变色龙哈希函数的构造方法

Also Published As

Publication number Publication date
CN110086631A (zh) 2019-08-02

Similar Documents

Publication Publication Date Title
CN110086631B (zh) 一种可更新变色龙哈希函数的方法
CN102420691B (zh) 基于证书的前向安全签名方法及系统
JP2009526411A5 (zh)
CN106533699A (zh) 一种标准模型下格上基于身份的盲签名方法
CN107332665B (zh) 一种格上基于身份的部分盲签名方法
Verma et al. Efficient identity‐based blind message recovery signature scheme from pairings
CN104079412A (zh) 基于智能电网身份安全的无可信pkg的门限代理签名方法
WO2008026345A1 (fr) Système de signature électronique et procédé de vérification de signature électronique
CN116346328A (zh) 一种数字签名方法、系统、设备及计算机可读存储介质
CN115529134A (zh) 格上基于身份的代理盲签名方法
CN112989436B (zh) 一种基于区块链平台的多重签名方法
CN109617700A (zh) 基于无证书的单向多跳代理重签名方法
Shim On delegatability of designated verifier signature schemes
Zhang et al. Attack on Chen et al.'s certificateless aggregate signature scheme
Cheng et al. Cryptanalysis and improvement of a certificateless partially blind signature
Shao et al. Certificate‐based verifiably encrypted RSA signatures
Xu et al. An Improved Identity-Based Multi-Proxy Multi-Signature Scheme.
Sun et al. Delegatability of an identity based strong designated verifier signature scheme
Lee et al. A new group signature scheme based on the discrete logarithm
Benrebbouh et al. Enhancing Security and Authentication in IoT-based Energy Internet using Post-Quantum Blockchain
Terrance et al. In-depth Analysis of the Performance of RSA and ECC in Digital Signature Application
Chen et al. A TCM-based remote anonymous attestation protocol for power information system
Wang et al. A new VRSA‐based pairing‐free certificateless signature scheme for fog computing
Liu et al. Attack on digital multi-signature scheme based on elliptic curve cryptosystem
WO2006069994A2 (en) Process and device for the authentication of communications

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