CN110086599B - 基于同态变色龙哈希函数的哈希计算方法及签密方法 - Google Patents
基于同态变色龙哈希函数的哈希计算方法及签密方法 Download PDFInfo
- Publication number
- CN110086599B CN110086599B CN201910336311.8A CN201910336311A CN110086599B CN 110086599 B CN110086599 B CN 110086599B CN 201910336311 A CN201910336311 A CN 201910336311A CN 110086599 B CN110086599 B CN 110086599B
- Authority
- CN
- China
- Prior art keywords
- hash
- chameleon
- result
- homomorphic
- message
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/008—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving homomorphic encryption
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0643—Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/085—Secret sharing or secret splitting, e.g. threshold schemes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0869—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3247—Cryptographic 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)
- Power Engineering (AREA)
- Storage Device Security (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
本发明公开了一种基于同态变色龙哈希函数的哈希计算方法及签密方法,提出的同态变色龙哈希函数,其变色龙哈希值结果采用对数的形式,签密方法中基于该哈希的签密的结果也是对数的形式,具有同态性,在哈希计算中可以进行同态聚合,更加高效计算哈希,且该同态变色龙哈希函数兼具同态和防密钥泄漏两点。签密方法实现以同态变色龙哈希函数为基础,同态聚合签密保证了同态性,系统初始化产生的系统公开参数被变色龙哈希函数和签密共同使用,两个密码方案共享一套系统参数,因此多个功能效果可以在一套共享的系统参数下得以实现,实现同一个框架下支持多种功能。其次,代理密钥生成和代理重签名步骤实现代理重签名。进行抵赖步骤实现了不可抵赖性。
Description
技术领域
本发明属于网络安全技术领域,具体涉及同态变色龙哈希函数的哈希计算方法及签密方法。
背景技术
变色龙哈希函数是一种陷门单向哈希函数,它能够高效的计算哈希值,并且在没有陷门的情况下,寻找哈希的碰撞是困难的。现有的变色龙哈希函数不具备同态性,因此不能够将多个哈希值聚合成一个哈希值。不具备同态性的哈希值,需要对每一个消息进行哈希计算,且计算结果不具有关联性,对于由多个消息组成的消息,需要根据其明文进行重新计算,因此计算频次多,计算开销大,而具备同态性的哈希值仅仅需要将多个值进行简单高效聚合即可,因此,计算频次低,开销小。现有的变色龙哈希函数为了应对密钥泄露问题,通常引入随机数,而该构造无法同时兼容同态性的设计,关键在于没有考虑指数具有同态性,同时又可避免密钥泄露问题的哈希函数。
签密是一种可以在一个密码框架下同时实现签名和加密的技术,它能够同时实现消息的隐私性和可认证性。然而,没有研究显示能将签密方案从变色龙哈希函数的基础上扩展得到。签密方案以变色龙哈希函数为基础可以使底层效率和安全性得到充分讨论,变色龙哈希函数作为一种典型的哈希函数,具有效率高的特点,这适用于构建高效的签密方案。并且现有签密方案不能在一个框架支持以下多个功能:代理重签名,同态性,不可抵赖性。导致无法灵活的实现多功能的隐私保护,当前应用对隐私保护的需求日益多样化,不仅仅对隐私保护的安全提出要求,同时也提出对具备延展性和可认证性的隐私保护的需求,签密同时具备隐私保护和可认证性,然而通常的构造无法支持可延展性,即对签密文进行同态聚合动态操作,重签名操作等等,这使得隐私保护的成本大,效果单一,不安全等等缺陷。而这些功能能够让用户转移签名特权,让签密文具有同态性,让签密文的接收者具有伪造签密文的能力,能够为用户提供更加灵活和具有应用前景的隐私保护。
其中不可抵赖性是指通过计算碰撞进行伪造,但是伪造得到的签密文能够被用户轻易的抵赖(Deny),从而实现签密文的不可抵赖性。伪造指的是计算哈希碰撞,即找到一个新的随机数满足两个哈希值结果一致,伪造的对象是碰撞,计算碰撞的过程我们称之为伪造,碰撞是指的是两个哈希值结果一致,但是对应的消息不同。抵赖指的是可以提供证据证明陷门拥有者确实执行了伪造过程,这里的证据即是提供一个可以满足哈希碰撞的结果,因为只有陷门拥有者可以执行伪造,以此,抵赖指的是提供证据对陷门拥有者的声明进行抵赖,由此一来证明了陷门拥有者确实进行了伪造,这里抵赖的对象是伪造得到的碰撞,伪造是计算碰撞的过程。
发明内容
本发明的目的在于:解决目前现有计算哈希的变色龙哈希函数不具备同态性,不能将多个哈希值聚合,且现有的签密方法不能在一个框架支持代理重签名、同态性和不可抵赖性的多个功能,用户隐私保护效果不够好的问题,提出了同态变色龙哈希函数的哈希计算方法及签密方法。
本发明采用的技术方案如下:
基于同态变色龙哈希函数的哈希计算方法,方法如下:
系统初始化:得到系统公开参数,包括一个生成元为g阶数为q的Gap Diffie-Hellman群G,以及哈希函数H1,这里H1是将任意长度0,和1组成的字符串映射到q阶整数群Zq上的哈希函数;
密钥生成:基于系统公开参数和陷门私钥tk,计算哈希公钥hk=gtk;
计算哈希:基于系统公开参数,根据交易信息TID和消息m,计算所有消息mi…mn对应的变色龙哈希值和变色龙随机数r=(ga,ya),这里1≤i<n≤2,指的是成员数量不小于的整数集合,,其中,g为系统公开参数之一,y为哈希公钥hk的值,a为一个随机数这里R代表采用随机选择的方式,可以通过伪随机函数实现这一目的。,表示去掉单位元的阶为q的整数群,其中单位元为0,,为中间参数且e为中间参数,且e=H1(TID,y),H1()为系统公开参数中的哈希函数;
同态聚合哈希:根据交易信息、哈希公钥hk、n个消息mi…mn、每一个消息mi对应的变色龙哈希值和变色龙随机数r,验证每一个消息mi计算哈希得到的结果是否正确,不正确则输出验证结果并退出,正确则对每一个消息mi计算哈希的结果进行聚合,并输出聚合结果。
进一步,所述方法中还包括计算碰撞步骤:根据交易信息TID、哈希公钥hk、消息和该消息对应的变色龙哈希值和变色龙随机数,再结合新的消息,先验证基于该消息计算哈希得到的结果是否正确;
不正确则输出验证结果,正确则对新的消息计算哈希,得到新的消息对应的新的变色龙随机数,并验证基于新的消息计算哈希得到的结果是否正确,不正确则输出验证结果并退出,正确则输出该新的变色龙随机数作为一个满足碰撞的新的变色龙随机数。
所述计算碰撞步骤能够对1个消息进行,对多个消息的碰撞结果,可以直接进行同态聚合来获得总的碰撞结果,而不需要再次执行碰撞算法。
进一步,所述验证的具体方法为:根据交易信息TID、密钥生成步骤计算得到的哈希公钥hk、消息mi和该消息对应计算哈希得到的变色龙哈希值和变色龙随机数r=(ga,ya),先计算e=H1(TID,y),然后检查由计算哈希的结果组成的数组<g,ga,y,ya>和是否均是Diffie-Hellman数组,若是则正确,若不是则不正确。
进一步,所述系统初始化步骤中得到系统公开参数的具体方法为:先选择安全参数λ,根据安全参数λ选择一个素数q,进而选一个阶为q生成元为g的一个GDH群G,再选取哈希函数H1:{0,1}*→Zq,Zq为q阶整数群,输出{G,q,g,H1}作为系统公开参数。
进一步,所述同态聚合哈希步骤中对每一个消息mi计算哈希的结果进行聚合,并输出聚合结果的方法为:对每一个消息mi计算哈希得到的变色龙哈希值和变色龙随机数进行同态聚合计算这里指的是每一个消息mi对应的同态变色龙哈希值,ai指的是从(表示去掉单位元的阶为q的群)中随机选择的一个数,最后算法输出算结果作为同态聚合的结果
基于同态变色龙哈希函数的签密方法,方法如下:
系统初始化:设置系统公开参数;
代理密钥生成:基于系统公开参数,计算代理重签名密钥kAB;
计算签密:基于系统公开参数,根据交易信息、消息m、接收者R的用户公钥pkR和用户私钥skR、发送者S的用户私钥skS,计算消息m对应的签密信息C=(C0,C1,C2,C3),,这里C0,C1,C2,C3分别对应一个群G上的元素,它们合起来组成一个签密信息C;;
同态聚合签密:根据基于n个消息m计算得到的n个签密信息,计算得到一个聚合的签密信息Cn;
进行抵赖:针对有争议的签密信息C*,根据协议验证或者联系对应的用户进行判断,并输出验证结果或判断结果。
进一步,所述方法还包括在计算代理重签名步骤之后的解签密和验证签密步骤,具体为:
解签密:根据签密信息C和接收者的用户私钥计算得到对应的消息,具体方法为:根据签密信息C,一个交易信息TID,接收者R的用户私钥skR、接收者R的用户公钥pkR,计算e=H1(TID,pkR),并计算从而恢复得到明文m,其中skR=(x0,R,x1,R,x2,R),x0,R是私钥skR的一部分;
验证签密:根据接收者的用户私钥skR计算并验证签密信息C的正确性,得到验证结果,具体方法为:根据一个解签密得到的明文一个交易信息TID,一个对应的签密信息C=(C0,C1,C2,C3),使用接收者R的用户私钥skR和发送者的用户公钥pkS检查如下公式是否成立:并输出验证结果,其中发送者用户公钥pkS=(y0,S,y1,S,y2,S),y1,S为pkS的一部分;
所述方法还包括计算碰撞步骤,具体为:基于系统公开参数,根据交易信息、签密信息C或者聚合的签密信息Cn,再结合一个新的消息m′,使用接收者的用户私钥skR和发送者的用户公钥pkS计算并输出满足碰撞的签密信息C′或者C′n。
进一步,所述系统初始化步骤具体方法为:先选择安全参数λ,再根据安全参数λ选择一个素数q,选一个阶为q生成元为g的一个群G,选取哈希函数H1:{0,1}*→Zq,Zq为q阶整数群,输出得到系统公开参数paramPHSD={G,q,g,H1}。
进一步,所述代理密钥生成步骤具体方法为:
基于系统公开参数,代理P选择一个随机数s∈Zq发送给用户A,用户A的用户私钥为skA,skA=(x0,A,x1,A,x2,A);
进一步,所述计算签密步骤具体方法为:基于系统公开参数,根据交易信息TID、消息m、接收者R的用户公钥pkR和用户私钥skR、发送者S的用户私钥skS,计算e=H1(TID,pkR)和h=ge,计算C0=ga,输出得到签密信息C=(C0,C1,C2,C3),其中g为系统公开参数之一, 这里R代表采用随机选择的方式,可以通过伪随机函数实现这一目的。,接收者的用户公钥pkR(y0,R,y1,R,y2,R),skS=(x0,S,x1,S,x2,S),接收者R的用户私钥skR=(x0,R,x1,R,x2,R)。
进一步,所述进行抵赖步骤具体方法为:针对有争议的签密信息C*,根据协议验证或者联系对应的用户进行判断,并输出验证结果或判断结果,具体为:
裁判J首先检查∑的正确性,若错误,则输出⊥并且退出;否则,裁判J联系对应的发送者进行确认如下:
若发送者直接承认,则输出抵赖失败并退出;否则,发送者可以公布一组原始信息(a,m)进行抵赖,这里a是用于签密的随机数,m是原始的消息,裁判J判断如下是否成立:(1)(2)(3)若所述条件均成立,则满足碰撞,则代表抵赖成功并且输出结果,其中:g为系统公开参数之一,发送者用户公钥pkS=(y0,S,y1,S,y2,S)。
综上所述,由于采用了上述技术方案,本发明的有益效果是:
1、本发明中,变色龙哈希值结果采用对数的形式,签密方法中基于该哈希的签密的结果也是对数的形式,因此是具有同态性的,在哈希计算中就可以进行同态聚合,更加高效计算哈希,且该同态变色龙哈希函数兼具同态和防密钥泄漏两点,功能更强。
2、本发明中,签密方法实现以同态变色龙哈希函数为基础,同态聚合签密保证了同态性,系统初始化产生的系统公开参数被变色龙哈希函数和签密共同使用,两个密码方案共享一套系统参数,因此多个功能效果可以在一套共享的系统参数下得以实现,实现同一个框架下支持多种功能。其次,代理密钥生成和代理重签名步骤实现代理重签名。进行抵赖步骤实现了不可抵赖性。
3、本发明中,签密方法实现以同态变色龙哈希函数为基础,签密的安全性依赖于底层的变色龙哈希函数,同态变色龙哈希函数是具有抗密钥泄露的,因此本发明中签密方案使用变色龙的优点是高效和安全,充分利用了变色龙哈希函数的高效性和安全性。
4、本发明中,进行验证是为了确认哈希值或者签密密文值是否正确生成,若该值为错误的,那么避免对其进一步的操作,如同态聚合。对错误的值进行进一步操作时无意义的,会造成无意义的计算开销。验证使得方法更加高效。
5、本发明中,签密方法中,解签密的作用是对签密文进行解密,恢复得到明文,验证签密的作用是对恢复得到的明文验证签名及其正确性,后者依赖于前者,他们的共同作用是对签密进行解密和验证,确保消息的可信和完整。这两个步骤能够进一步确保所述的代理重签名、同态性和不可抵赖性的多个功能正确的执行。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本发明方法框图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明,即所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,术语“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以下结合实施例对本发明的特征和性能作进一步的详细描述。
需要说明的是,本发明中:
tk为字母组合表示陷门私钥;
hk为字母组合表示哈希公钥;
skuser为字母组合表示用户私钥;
pkuser为字母组合表示用户公钥。
实施例1
本发明较佳实施例提供的一种基于同态变色龙哈希函数的哈希计算方法,方法如下:
步骤1、系统初始化:得到系统公开参数paramHKFC。具体为:
先选择安全参数λ,根据安全参数λ选择一个素数q,进而选一个阶为q生成元为g的一个GDH群G,再选取哈希函数H1:{0,1}*→Zq,Zq为q阶整数群,输出{G,q,g,H1}作为系统公开参数paramHKFC。这里的GDH群指的是这样一类群:在其上,Computational Diffie-Hellman(CDH)问题是困难的,但是Decisional Diffie-Hellman(DDH)问题是简单的,该GDH群可以由超基椭圆曲线或者有限域上的超椭圆曲线构造得到,具体方法可以在Boneh et al的文章《Short signature from the weilpairing》中找到。
步骤2、密钥生成:基于系统公开参数和陷门私钥tk,计算哈希公钥hk=gtk。具体为:
步骤3、计算哈希:基于系统公开参数paramHKFC,根据一个指定的交易信息TID和消息m,m∈{0,1}l(l≤log2q),计算所有消息mi…mn对应的变色龙哈希值和变色龙随机数r=(ga,ya),其中g为系统公开参数中群G的元,中间参数e=H1(TID,y),a为选择的随机数y为哈希公钥hk的值。其中的引入成功的实现了防密钥泄露的问题,能够将密钥泄露问题的安全性规约到q-SDH(q-strong diffie-hellman问题)上去,具体安全问题可以在文献《short signature without random oracle》中找到。
然后进行验证哈希:根据哈希公钥hk,交易信息TID,一个数组其中包括消息m,对应的变色龙哈希值和变色龙随机数r,首先计算e=H1(TID,y),然后检查数组<g,ga,y,ya>和是否均为Diffie-Hellman数组,若均满足则验证为正确,则验证结果为1;否则验证为错误,则验证结果为0。
判断这个数组是否是Diffie-Hellman有现成的算法,可以输入该算法进行判断,具体算法构造不在本专利中提到,但是可以前往文献<short signatures from the weilpairing>获取完整信息。
步骤4、计算碰撞:根据交易信息、哈希公钥hk、消息和该消息对应的变色龙哈希值和变色龙随机数,再结合新的消息,先验证基于该消息计算哈希得到的结果是否正确;
不正确则输出验证结果,正确则对新的消息计算哈希,得到新的消息对应的新的变色龙随机数,并验证基于新的消息计算哈希得到的结果是否正确,不正确则输出验证结果并退出,正确则输出该新的变色龙随机数作为一个满足碰撞的新的变色龙随机数。
所述计算碰撞步骤能够对1个消息进行,对多个消息的碰撞结果,可以直接进行同态聚合来获得总的碰撞结果,而不需要再次执行碰撞算法。
具体为:
根据哈希公钥hk,交易信息TID,一个数组,一个新的消息m′,首先对数组执行上述验证哈希相同的步骤,若验证结果为0,则输出⊥;否则,继续计算e=H1(TID,y),进而计算新的变色龙随机数 x即为陷门私钥tk的值。;紧接着,对数组执行上述验证哈希相同的步骤,若验证结果为0,则输出⊥并退出;否则,输出r′作为一个满足碰撞的新变色龙随机数。
步骤5、同态聚合哈希:根据交易信息TID、哈希公钥hk、n个消息mi…mn、每一个消息mi对应的变色龙哈希值和变色龙随机数r,验证每一个消息mi计算哈希得到的结果数组是否正确,不正确则输出验证结果并退出,正确则对每一个消息mi计算哈希的结果进行聚合,并输出聚合结果。
进一步,所述验证的具体方法为:根据交易信息TID、哈希公钥hk、消息m和该消息对应计算哈希得到得到的结果数组先计算e=H1(TID,y),然后检查由计算哈希的结果组成的数组<g,ga,y,ya>和是否均是Diffie-Hellman数组,若满足该条件则正确验证结果为1,若不满足该条件则不正确验证结果为0,其中y为哈希公钥hk的值,哈希函数H1是系统公开参数之一。若为0,则输出⊥并退出;否则,计算聚合结果。
基于上述的同态变色龙哈希函数,构造出一个一种基于同态变色龙哈希函数的签密方法,方法如下:
步骤a、系统初始化:设置系统公开参数。具体为:
先选择安全参数λ,再根据安全参数λ选择一个素数q,选一个阶为q生成元为g的一个群G(非GDH群),选取哈希函数H1:{0,1}*→Zq,输出得到系统公开参数paramPHSD={G,q,g,H1}。
步骤c、代理密钥生成:基于系统公开参数,计算代理重签名密钥kAB。具体为:
基于系统公开参数paramPHSD={G,p,g,H2},代理P选择一个随机数s∈Zq发送给用户A,用户A的用户私钥为skA,skA=(x0,A,x1,A,x2,A);
步骤d、计算签密:基于系统公开参数paramPHSD,根据交易信息TID、消息m、接收者R的用户公钥pkR和用户私钥skR、发送者S的用户私钥skS,计算消息m对应的签密信息C=(C0,C1,C2,C3)。具体为:
进一步,所述计算签密步骤具体方法为:基于系统公开参数,根据一个交易信息TID、消息m,m∈{0,1}ll≤log2p、接收者R的用户公钥pkR和用户私钥skR、发送者S的用户私钥skS,计算e=H1(TID,pkR)和h=ge,计算C0=ga, 输出得到签密信息C=(C0,C1,C2,C3),其中g为系统公开参数之一, 接收者的用户公钥pkR=(y0,R,y1,R,y2,R),skS=(x0,S,x1,S,x2,S),接收者R的用户私钥skR=(x0,R,x1,R,x2,R)。
代理重签名的作用是允许一个中介对用户产生过的签密消息进行重新签名,具体为假设A和B通过执行代理密钥生成算法来协商一个代理密钥k_(A,B),那么可以委托一个中介来使用该k_(A,B),来将A签密的消息转换为B的签名(密文不变,签名变为B的),这样一来,密文的签名从A变为B,这个作用可以用于转换密文的所有权,并且可以广泛用于任何重签名相关的应用。可以概括为对签密消息进行重签名,使签密文的所属权得到灵活的转换,从而同时实现一种安全的加密和灵活的认证措施。
进一步,所述方法还包括在计算代理重签名步骤之后的解签密和验证签密步骤,具体为:
步骤f、解签密:根据签密信息C和接收者的用户私钥计算得到对应的消息,具体方法为:根据签密信息C,一个交易信息TID,接收者R的用户私钥skR、接收者R的用户公钥pkR,计算e=H1(TID,pkR),并计算从而恢复得到明文m,其中skR=(x0,R,x1,R,x2,R),x0,R是私钥skR的一部分;
步骤g、验证签密:根据接收者的用户私钥skR计算并验证签密信息C的正确性,得到验证结果,具体方法为:根据一个解签密得到的明文一个交易信息TID,一个对应的签密信息C=(C0,C1,C2,C3),使用接收者R的用户私钥skR和发送者的用户公钥pkS检查如下公式是否成立:并输出验证结果,若成立,则输出1;否则,输出0。其中发送者用户公钥pkS=(y0,S,y1,S,y2,S),y1,S为pkS的一部分;
步骤h、同态聚合签密:根据基于n个消息m计算得到的n个签密信息,计算得到一个聚合的签密信息Cn。具体为:
根据收到的n个签密信息(C0,0,C1,0,C2,0,C3,0),…,(C0,n,C1,n,C2,n,C3,n),(假设他们由同一个发送者S签密,并且发送给同一个接收者R,在相同交易信息TID下),计算聚合结果如下: 输出C=(C0,C1,C2,C3)作为聚合后的签密信息。
所述方法还包括步骤:
步骤i、计算碰撞:基于系统公开参数,根据交易信息、签密信息C或者聚合的签密信息Cn,再结合一个新的消息m′,使用接收者的用户私钥skR和发送者的用户公钥pkS计算并输出满足碰撞的签密信息C’或者C′n。
所述计算碰撞步骤能够对1个消息进行,对多个消息的碰撞结果,可以直接进行同态聚合来获得总的碰撞结果,而不需要再次执行碰撞算法。
针对聚合的签密信息C′n举例,所述计算碰撞的具体方法为:基于系统公开参数,根据聚合的签密信息Cn和交易信息,再结合一个新的消息m′,使用接收者的用户私钥skR和发送者的用户公钥pkS计算并输出满足碰撞的签密信息C′n,计算签密碰撞如下: C2=C′2,输出C′n=(C′0,C′1,C′2,C′3)作为满足Cn=(C0,C1,C2,C3)的一个碰撞,它具有:C2=C′2,但是分别对应的明文m≠m′不相等的特性。
步骤j、进行抵赖:针对有争议的签密信息C*,根据协议验证或者联系对应的用户进行判断,并输出验证结果或判断结果。具体为:
针对有争议的签密信息C*,根据协议验证或者联系对应的用户进行判断,并输出验证结果或判断结果,具体为:
针对一个有争议的签密信息的接收者R,计算一个非交互式的知识证明∑(用于在不泄露离散对数的x0,R的情况下,证明x0,R=loggy0,R,可以通过文章Camenisch and Stadler<<Efficient group signature schemes for large groups>>了解更多),并连同交易信息TID一起发送至一个可信的裁判J,具体的裁决流程如下:
裁判J首先检查∑的正确性,若错误,则输出⊥并且退出;否则,裁判J联系对应的发送者进行确认如下:
若发送者直接承认,则输出抵赖失败结果0并退出(即表示签密文是原始的,不是通过计算碰撞得到的);否则,发送者可以公布一组原始信息(a,m)进行抵赖,这里a是用于签密的随机数,m是原始的消息,裁判J判断如下是否成立:(1)(2)(3)若所述条件均成立,则满足碰撞,则代表抵赖成功并且输出返回结果1。其中:g为系统公开参数之一,发送者用户公钥pkS=(y0,S,y1,S,y2,S)。
进行抵赖指的是签密文发送者(假设为用户A)对不是自己产生的签密文进行反对和提供证据。不可抵赖性指的是,对于用户A给出的证据,签密文的接收者(假设为用户B)无法对其进行抵赖,即一旦A给出有效的证据,那么B即被认为是恶意的,即B伪造了A对其发送的密文,而A通过举证证明了这一事实。综上所述,进行抵赖的是签密文发送者(即执行签密算法的用户),不可抵赖性指的是面对给出的证据,B无法对其反驳的事实,两个概念互相对应。
需要说明的是:⊥指的是错误指令,通常用于区别0,与0所指的失败不同的是,错误指令指的是算法根本没有被执行,因为其遇到了错误的消息。避免进行下一步操作,避免无意义的计算开销。
e可以理解为计算的中间参数,是计算哈希值的一个输入,e的作用是将身份信息TID和哈希公钥hk的值y作为输入,使TID和y绑定到哈希值中,确保哈希值的公开可计算和可验证性,的作用是防止密钥泄露,由于的引入,其特性使得任何不使用私钥x来计算碰撞是不可行的,该安全问题,可以规约到q-strongdiffie-hellman问题上,具体问题的研究可以见文献<short signatures without random oracles>。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (5)
1.一种基于同态变色龙哈希函数的哈希计算方法,其特征在于:方法如下:
系统初始化:得到系统公开参数,包括一个生成元为g阶数为q的Gap Diffie-Hellman群G,以及哈希函数H1,这里H1是将任意长度0和1组成的字符串映射到q阶整数群Zq上的哈希函数;
密钥生成:基于系统公开参数和陷门私钥tk,计算哈希公钥hk=gtk;
计算哈希:基于系统公开参数,根据交易信息TID和消息m,计算所有消息mi…mn对应的变色龙哈希值和变色龙随机数r=(ga,ya),其中,1≤i<n≤2,g为系统公开参数之一,y为哈希公钥hk的值,a为一个随机数 表示去掉单位元的阶为q的整数群,
2.根据权利要求1所述的基于同态变色龙哈希函数的哈希计算方法,其特征在于:所述方法中还包括计算碰撞步骤:
根据交易信息TID、哈希公钥hk、消息mi和该消息对应的变色龙哈希值和变色龙随机数;
再结合新的消息,先验证基于该消息计算哈希得到的结果是否正确,不正确则输出验证结果;正确则对新的消息计算哈希,得到新的消息对应的新的变色龙随机数,并验证基于新的消息计算哈希得到的结果是否正确,不正确则输出验证结果并退出,正确则输出该新的变色龙随机数作为一个满足碰撞的新的变色龙随机数;
所述计算碰撞步骤能够对1个消息进行,对多个消息的碰撞结果能够直接进行同态聚合来获得总的碰撞结果,而不需要再次执行碰撞算法。
4.根据权利要求1所述的基于同态变色龙哈希函数的哈希计算方法,其特征在于:所述系统初始化步骤中得到系统公开参数的具体方法为:先选择安全参数λ,根据安全参数λ选择一个素数q,进而选一个阶为q生成元为g的一个GDH群G,再选取哈希函数H1:{0,1}*→Zq,Zq为q阶整数群,输出{G,q,g,H1}作为系统公开参数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910336311.8A CN110086599B (zh) | 2019-04-24 | 2019-04-24 | 基于同态变色龙哈希函数的哈希计算方法及签密方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910336311.8A CN110086599B (zh) | 2019-04-24 | 2019-04-24 | 基于同态变色龙哈希函数的哈希计算方法及签密方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110086599A CN110086599A (zh) | 2019-08-02 |
CN110086599B true CN110086599B (zh) | 2021-01-08 |
Family
ID=67416582
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910336311.8A Active CN110086599B (zh) | 2019-04-24 | 2019-04-24 | 基于同态变色龙哈希函数的哈希计算方法及签密方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110086599B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112884477B (zh) * | 2020-11-10 | 2022-08-19 | 支付宝(杭州)信息技术有限公司 | 一种区块链交易发起方法及系统 |
CN112887078B (zh) * | 2021-02-02 | 2022-10-14 | 中国银联股份有限公司 | 一种编辑区块链中区块的方法及装置 |
CN114362921B (zh) * | 2021-12-31 | 2024-04-30 | 浪潮云信息技术股份公司 | 一种改良的两轮多重变色龙哈希函数计算方法及系统 |
CN114337990B (zh) * | 2021-12-31 | 2024-05-31 | 浪潮云信息技术股份公司 | 一种两轮多重变色龙哈希函数计算方法及系统 |
CN115174057B (zh) * | 2022-06-23 | 2024-06-11 | 武汉大学 | 一种基于sm2签名的在线离线签名生成方法及系统 |
CN114866260B (zh) * | 2022-07-05 | 2022-10-28 | 杭州天谷信息科技有限公司 | 一种变色龙哈希分布式身份使用方法和系统 |
CN115378600B (zh) * | 2022-07-27 | 2024-07-23 | 浪潮云信息技术股份公司 | 一种基于离散对数的可验证变色龙哈希验证方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6108783A (en) * | 1998-02-11 | 2000-08-22 | International Business Machines Corporation | Chameleon hashing and signatures |
CN103259662B (zh) * | 2013-05-02 | 2016-08-10 | 电子科技大学 | 一种新的基于整数分解问题的代理签名及验证方法 |
CN104601605B (zh) * | 2015-02-28 | 2018-01-02 | 北方工业大学 | 云存储中基于变色龙哈希函数的高效隐私保护审计方法 |
CN108830602B (zh) * | 2018-06-27 | 2022-03-29 | 电子科技大学 | 一种基于变色龙哈希函数的许可链构造及管控方法 |
CN109039578A (zh) * | 2018-09-04 | 2018-12-18 | 重庆第二师范学院 | 基于同态加密的隐私保护加密方法、信息数据处理终端 |
-
2019
- 2019-04-24 CN CN201910336311.8A patent/CN110086599B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN110086599A (zh) | 2019-08-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110086599B (zh) | 基于同态变色龙哈希函数的哈希计算方法及签密方法 | |
CN108683493B (zh) | 一种智能电网中提供隐私保护的数据聚合方法 | |
CN114157427B (zh) | 基于sm2数字签名的门限签名方法 | |
Chatterjee et al. | Another look at tightness | |
CN101931529B (zh) | 一种数据加密方法、数据解密方法及节点 | |
US8661240B2 (en) | Joint encryption of data | |
US20120096274A1 (en) | Authenticated encryption for digital signatures with message recovery | |
US9800418B2 (en) | Signature protocol | |
US20120096273A1 (en) | Authenticated encryption for digital signatures with message recovery | |
JP2009526411A5 (zh) | ||
CN110932865B (zh) | 一种基于sm2数字签名算法的可链接环签名生成方法 | |
US9088419B2 (en) | Keyed PV signatures | |
US20150006900A1 (en) | Signature protocol | |
Li et al. | Signcryption from randomness recoverable public key encryption | |
RU2603551C2 (ru) | Устройство обработки информации, способ обработки информации, программа и носитель информации | |
CN116502266A (zh) | 基于同态加密的区块链可监管零知识证明的验证方法 | |
Shikata et al. | Security notions for unconditionally secure signature schemes | |
Shankar et al. | Improved Multisignature Scheme for Authenticity of Digital Document in Digital Forensics Using Edward‐Curve Digital Signature Algorithm | |
Zhou et al. | Three-round secret handshakes based on ElGamal and DSA | |
US6507656B1 (en) | Non malleable encryption apparatus and method | |
CN111092720A (zh) | 能抵抗主密钥和解密密钥泄漏的基于证书加密方法 | |
WO2016187689A1 (en) | Signature protocol | |
Huang et al. | A quantum-secure certificateless aggregate signature protocol for vehicular ad hoc networks | |
Kale et al. | Undeniable signature scheme: A survey | |
Wang et al. | A threshold undeniable signature scheme without a trusted party |
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 |