CN116707825A - 一种基于联盟链的抗量子攻击的数据加密方法 - Google Patents
一种基于联盟链的抗量子攻击的数据加密方法 Download PDFInfo
- Publication number
- CN116707825A CN116707825A CN202310773975.7A CN202310773975A CN116707825A CN 116707825 A CN116707825 A CN 116707825A CN 202310773975 A CN202310773975 A CN 202310773975A CN 116707825 A CN116707825 A CN 116707825A
- Authority
- CN
- China
- Prior art keywords
- transaction
- verification
- client node
- quantum
- hash function
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 43
- 238000012795 verification Methods 0.000 claims abstract description 109
- 239000004744 fabric Substances 0.000 claims description 16
- 238000013507 mapping Methods 0.000 claims description 4
- 230000007246 mechanism Effects 0.000 claims description 3
- 238000004891 communication Methods 0.000 abstract description 6
- 230000008569 process Effects 0.000 description 10
- 230000000977 initiatory effect Effects 0.000 description 2
- 230000008520 organization Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000012163 sequencing technique Methods 0.000 description 2
- 101100110023 Arabidopsis thaliana ASK8 gene Proteins 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000010485 coping Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
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/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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- 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/0852—Quantum cryptography
-
- 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/3236—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 using cryptographic hash functions
- H04L9/3239—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 using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
-
- 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/3263—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 certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
-
- 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/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- Electromagnetism (AREA)
- Theoretical Computer Science (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
本申请属于网络安全技术领域,涉及一种基于联盟链的抗量子攻击的数据加密方法。所述方法包括第一客户端节点产生交易内容,使用基于哈希函数的抗量子签名算法签名;使用私钥对交易内容、签名后的交易内容以及公钥一并签名,发送给第二客户端节点;使用基于哈希函数的抗量子验证算法验证交易内容,将验证结果返回第一客户端节点;满足背书策略的验证结果后,传输给排序服务并将交易内容加入到交易块中;向第三客户端节点广播交易块;使用基于哈希函数的抗量子验证算法对交易块进行验证,若验证同意的第三客户端节点数量超过预设阈值,则将交易块写入区块中。本发明提高了在区块链中应用的可能性和通信效率,同时还保证了应有的抗量子水平。
Description
技术领域
本申请属于网络安全技术领域,具体涉及一种基于联盟链的抗量子攻击的数据加密方法。
背景技术
后量子密码是能够抵抗量子计算机对现有密码算法攻击的新一代密码算法。量子算法Shor和Grover会对目前所有流行的公钥密码体系产生威胁,可以在多项式时间内攻破RSA,对称密码算法,椭圆曲线数字签名算法(ECDSA),DSA数字签名算法等。后量子密码正是在这种情况之下产生的。
在2016年NIST开始了一项抗量子密码系统征集的计划,旨在寻找、设计、开发和标准化抗量子密码系统,以便于在未来取代我们现有的密码系统标准。经过三轮的征集提交选出了7个候选方案,包括4个公钥加密或密钥封装方案和3个数字签名方案。目前主流区块链系统中的底层签名算法大多使用是传统的椭圆曲线签名算法ECDSA和RSA算法。为了应对目前量子计算的威胁,需要将区块链底层的数字签名算法和加密算法替换成具有抗量子攻击的算法。
基于哈希的抗量子算法是后量子密码学中重要的一类,它可以仅使用密码哈希函数创建数字签名。如果所选的哈希函数在将来被攻破,就可以用新的哈希函数来替换提高安全性。最早的基于哈希的数字签名算法是Lamport提出的,但是该算法容易被攻击者篡改而且他的密钥以及签名都很大。之后Merkle根据Winternitz的一个猜想提出了WOTS(Winternitz-one-time signature),它有三个值参数化减少了签名和密钥的大小。FurqanShahid又提出了NOTS的签名方案进一步减少了密钥大小,但是由于其生成私钥的方式导致私钥之间是互相有关联的而且NOTS大幅度减少了密钥和签名大小导致基于NOTS的签名方案在抵抗量子攻击方面的水平有所下降。
发明内容
面对现有区块链中的数字签名方法在应对量子计算攻击时存在较大隐患,本发明提出了一种基于联盟链的抗量子攻击的数据加密方法,基于哈希函数的抗量子签名算法在传统NOTS签名算法的基础上通过修改生成签名的方式以及增加了校验机制,提高了其可抵御量子攻击的能力,然后使用IPFS分布式文件系统降低密钥储存成本以及信息传输的通信成本。可以实现联盟链系统的抵抗量子攻击的能力,即使未来量子计算攻击能力提高了,也可以用摘要更多的哈希函数来提高加密方案的抗量子水平。
一种基于联盟链的抗量子攻击的数据加密方法,包括如下:
第一客户端节点产生交易内容,并使用基于哈希函数的抗量子签名算法对所述交易内容签名;
第一客户端节点使用交易身份证书的私钥SK对交易内容、签名后的交易内容以及公钥PK一并签名,并将签名结果发送给第二客户端节点;
第二客户端节点使用基于哈希函数的抗量子验证算法验证第一客户端节点发送的交易内容,并将验证结果返回第一客户端节点;
第一客户端节点收到第二客户端节点数量满足背书策略的验证结果后,传输给排序服务,产生交易块并将所述交易内容加入到交易块中;
第一客户端节点向联盟链fabric中的第三客户端节点广播所述交易块;
第三客户端节点接收到交易块后,使用基于哈希函数的抗量子验证算法对所述交易块进行验证,若验证同意交易块的交易内容的第三客户端节点数量超过预设阈值,则将所述交易块写入区块中。
进一步的,所述基于哈希函数的抗量子签名算法包括:
使用伪随机函数产生N+1个互不关联的私钥SKi,i=0...N;
利用N+1个私钥SKi,通过哈希函数的映射产生N+1个相应的公钥PKi,i=0...N;
采用哈希函数将交易信息转成M位的信息摘要,将M位的信息摘要H分成N份,并将摘要信息中不为0的个数以及整个交易信息P,将这两个信息组成第N+1份信息摘要Pi;
使用N+1个私钥SKi对相应的N+1份信息摘要Pi签名,产生N+1个签名Si。
进一步的,所述基于哈希函数的抗量子验证算法包括:
采用哈希函数将交易信息P转成M位的信息摘要,同时将M位的信息摘要H分成N份;统计摘要信息中不为0的个数以及整个交易信息P,将这两个信息组成第N+1份信息摘要Pi;
对N+1份的信息摘要Pi分别进行编码,计算信息摘要Pi的十进制的大小,并在模上M再加上1得到结果Ti;
将N+1份信息摘要Pi对应的签名Si分成前后相等两部分fSi和bSi,将前部分采用哈希函数进行M+1-Ti次的迭代得到结果T-fSi,后半部分采用哈希函数进行Ti次的迭代得到结果T-bSi,将这两部分拼接在一起得到验证密钥VKi;
通过比较验证密钥VKi和公钥PKi,若所述验证密钥VKi与对应的公钥PKi相等,则验证通过,否则验证失败。
本发明与现有技术相比,具有以下优点:
本发明所使用的基于哈希函数的抗量子签名算法相对于传统的基于哈希的数字签名方法具有更小的签名和密钥大小,提高了在区块链中应用的可能性和通信效率,同时还保证了应有的抗量子水平。如果后面出现了更强的量子攻击,本方案可以通过增加哈希函数的摘要长度来消除安全隐患,同时相比于基于格和编码的签名算法也具有较小的签名和密钥长度。因为在fabric中运用了本方案中的数字签名算法,所以联盟链fabric具有抗量子攻击的能力,恶意用户无法对交易信息的签名以及同样使用该算法生成签名进行篡改,提高了fabric的安全性。因为在系统中引入了IPFS分布式文件系统减少了通信开销和节点的储存压力,提高了系统的交易效率。
附图说明
图1是本发明实施例的一种基于联盟链的抗量子攻击的数据加密方法的流程图;
图2是本发明实施例的基于哈希函数的抗量子签名算法的实现流程图;
图3是本发明实施例发送节点的基于哈希函数的抗量子签名算法的实现流程图;
图4是本发明实施例的基于哈希函数的抗量子签名验证的实现流程图;
图5是本发明实施例接受节点的基于哈希函数的抗量子签名验证的实现流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
基于哈希函数的抗量子签名算法是为了应对量子计算机的攻击而设计的一种密码学安全方法,该算法利用哈希函数的强度来保护密码学安全性。哈希函数会将任意长度的数据映射为固定长度的散列值,在传统加密方法中通常用于数字签名和消息认证码。基于哈希的抗量子算法依赖于哈希函数的抗碰撞性和单向性来保护加密数据。该算法的实现方法是使用多个哈希函数,在输入数据上多次进行哈希计算,以增加量子计算攻击的抵抗力。这种方法被称为哈希层叠,在哈希层叠中,每个哈希函数都在前一个哈希结果的基础上进行哈希计算,直到达到指定层数。基于哈希的抗量子算法是一种重要的解决方案,它可以保护数据安全并抵御未来可能出现的量子计算攻击。
参照图1,本发明一种基于联盟链的抗量子攻击的数据加密方法,实现步骤如下:
第一客户端节点产生交易内容,并使用基于哈希函数的抗量子签名算法对所述交易内容签名;
在本发明实施例中,第一客户端节点为联盟链中的普通节点,该普通节点可以发起交易申请,在成为普通节点之前,还包括向数字证书管理机构申请交易证书;所述数字证书管理机构验证第一客户端节点的身份证书,若验证通过后,则向所述第一客户端节点颁发交易证书。
更进一步的,在申请交易证书前还包括向所述数字证书管理机构申请身份证书。用户作为新节点加入fabric联盟链时,需要向fabric中的数字证书管理机构CA获取身份证书ECerts,获取成功后才可以进入fabric联盟链系统,获取失败则直接退出fabric联盟链系统结束交易。
在CA数字证书管理机构给节点颁发的身份证书中,是使用基于哈希函数的抗量子签名算法生成的私钥SK和公钥PK,客户端节点可以使用私钥和基于哈希函数的抗量子签名算法对身份证书签名,产生的公钥PK和签名以及基于哈希函数的抗量子签名算法储存在身份数字证书里面。
在一些实施例中,所述向数字证书管理机构申请交易证书的过程包括:
第一客户端节点使用自身的身份证书中的私钥SK以及基于哈希函数的抗量子签名算法对产生的交易内容进行签名,并将签名后的交易内容作为交易证书申请发送给数字证书管理机构;
数字证书管理机构收到交易证书申请后,使用第一客户端节点的身份证书中的公钥PK以及基于哈希函数的抗量子验证算法对收到的交易内容进行验证;
数字证书管理机构验证通过后,向第一客户端节点颁发交易证书。
在另一些实施例中,所述向数字证书管理机构申请交易证书的过程包括:
(2.1)发起交易的第一客户端节点即交易节点使用身份证书里面的私钥SK和基于哈希函数的抗量子签名算法对申请信息进行签名;
(2.2)数字证书管理机构CA使用身份数字证书里面的公钥PK和本发明提出的基于哈希函数的抗量子验证算法对申请信息进行验证;
(2.3)如果CA机构验证失败,则节点将不能进行交易;
(2.4)如果CA机构验证成功,则将颁发交易证书TCerts给申请交易节点。
第一客户端节点使用交易身份证书的私钥SK对交易内容、签名后的交易内容以及公钥PK一并签名,并将签名结果发送给第二客户端节点;
在本发明实施例中,第一客户端节点将上述内容一并签名后,则会通过签名结果发起交易申请,通过作为背书节点的第二客户端节点进行验证处理,所述发起交易申请的过程包括:
(3.1)交易节点在获取交易证书后使用本发明提出的基于哈希函数的抗量子签名算法生成私钥SK和公钥PK,利用私钥SK和算法的签名过程对交易信息签名;
(3.2)交易节点在使用自己的私钥对交易信息签名后,使用交易证书中的私钥SK和本发明提出的基于哈希函数的抗量子签名算法对交易内容、签名后的交易信息、签名公钥进行签名,然后发送给背书节点peer,这里的背书节点peer即为第二客户端节点,这里的第二客户端节点可以有多个。
第二客户端节点使用基于哈希函数的抗量子验证算法验证第一客户端节点发送的交易内容,并将验证结果返回第一客户端节点;
在本发明实施例中,所述第二客户端节点会对上述签名结果进行验证,并形成相应的验证结果,使用基于哈希函数的抗量子验证算法计算出验证密钥VK,若所述验证密钥VK与对应的公钥PK相等,则验证通过,否则验证失败。所述验证过程具体可以包括:
(4.1)背书节点peer需要验证交易的提议格式是否正确,在过去是否提交过。通过身份证书中的公钥PK和本发明提出的基于哈希函数的抗量子验证算法对交易节点的身份进行验证,验证交易操作是否符合写入策略;
(4.2)验证通过后,交易节点需要收到满足fabric中的背书策略的背书节点数的反馈信息,然后通过排序服务将交易打包进交易块中并广播给其他节点;
(4.3)验证失败,则本次交易失败。
第一客户端节点收到第二客户端节点数量满足背书策略的验证结果后,传输给排序服务,产生交易块并将所述交易内容加入到交易块中;
在本发明实施例中,一旦收到足够多的第二客户端节点反馈的验证结果后,且这些验证结果满足背书策略,那么就可以将这个交易块传输给排序服务;例如收到了100个第二客户端节点反馈的验证结果,其中超过90个第二客户端节点都表示验证通过,那么就表明可以传输给排序服务。
第一客户端节点向联盟链fabric中的第三客户端节点广播所述交易块;
在本发明实施例中,第一客户端节点会向联盟链fabric中的其他客户端节点也即是第三客户端节点广播这些交易块,这些第三客户端节点将会对交易块中的交易信息进行验证,具体可以包括如下过程:
(5.1)其他节点使用提交交易节点的身份数字证书中的公钥PK和本方案提出的一次性签名算法的验证过程对交易节点的身份信息进行验证;
(5.2)验证通过后,fabric中的其他节点使用提交交易节点的交易证书中的公钥PK和本方案提出的一次性签名的验证过程对本次交易行为的合法性进行验证;
(5.3)验证通过后,fabric中的其他节点使用交易信息中背书节点的公钥PK和本方案提出的一次性签名算法验证过程对本次交易的背书进行验证;
(5.4)验证通过后,fabric中的其他节点使用交易节点提供的本次交易内容的公钥PK和本发明提出的基于哈希函数的抗量子验证算法对本次交易内容是否合法进行验证;
(5.5)当全部验证成功后执行后续步骤;
(5.6)其中任意一步验证失败都将导致交易失败。
第三客户端节点接收到交易块后,使用基于哈希函数的抗量子验证算法对所述交易块进行验证,若验证同意交易块的交易内容的第三客户端节点数量超过预设阈值,则将所述交易块写入区块中。
在本发明实施例中,第三客户端节点需要进行如下验证:
第三客户端节点使用第一客户端节点的身份证书中的公钥PK和基于哈希函数的抗量子验证算法对第一客户端节点的身份信息进行验证;
验证通过后,第三客户端节点使用第一客户端节点的交易证书中的公钥PK和基于哈希函数的抗量子验证算法对本次交易是否合法进行验证;
验证通过后,第三客户端节点使用第二客户端节点的公钥PK和基于哈希函数的抗量子验证算法对本次交易的背书进行验证;
验证通过后,第三客户端节点使用第一客户端节点提供的本次交易内容的公钥PK和基于哈希函数的抗量子验证算法对本次交易内容是否合法进行验证。
在本发明实施例中,当验证通过的第三客户端节点数超过了fabric联盟链网络中规定的节点数后,则表明该交易是合法的,将会被提交到区块中,至此数据加密的交易完成。
在本发明实施例中,如图2所示,所述基于哈希函数的抗量子签名算法包括:
101、使用伪随机函数产生N+1个互不关联的私钥SKi,i=0...N;
102、利用N+1个私钥SKi,通过哈希函数的映射产生N+1个相应的公钥PKi,i=0...N,具体可以包括:
将所述私钥SKi分成前后对等的两部分第一私钥fSKi和第二私钥bSKi;
分别对这两部分第一私钥fSKi和第二私钥bSKi采用哈希函数迭代M+1次;
将迭代后的两部分第一私钥fSKi和第二私钥bSKi重新拼接在一起组成公钥PKi。
103、采用哈希函数将交易信息转成M位的信息摘要,将M位的信息摘要H分成N份,并将摘要信息中不为0的个数以及整个交易信息P,将这两个信息组成第N+1份信息摘要Pi;
104、使用N+1个私钥SKi对相应的N+1份信息摘要Pi签名,产生N+1个签名Si,具体可以包括:
对N+1份的信息摘要Pi分别进行编码,计算信息摘要Pi的十进制的大小,并在模上M再加上1得到结果Ti;
将所述私钥SKi分成前后对等的两部分fSKi和bSKi;
将前部分采用哈希函数进行Ti次的迭代得到结果T-fSKi,将后半部分采用哈希函数进行M+1-Ti的迭代计算得到结果T-bSKi;
将这两部分T-fSKi和T-bSKi重新拼接得到信息摘要Pi的签名Si。本发明对每份信息摘要Pi计算出相应的自适应迭代次数,按照自适应迭代次数将迭代结果进行拼接,从而得到能够反映信息摘要Pi自身信息强度的签名,这样不仅能够增强量子计算攻击的抵抗力,还能够尽可能减少数据运算的复杂程度。
在一些实施例中,以M=256,N=32为例,如图3所示:
1)发送节点采用伪随机函数生成33个不同的私钥SK,这33个私钥互相没有关联;
2)发送节点根据私钥SK,这里以SK0举例:将SK0分成前后对等的两部分fSK0和bSK0,然后分别对这两部分采用Sha256的哈希函数并迭代257次,然后将迭代后的两部分重新拼接在一起组成PK0,其他32个公钥PK按照相同的处理方式得到;
3)发送节点对交易信息采用Sha256哈希函数生成256位的摘要H;
4)发送节点利用产生的信息摘要以及33个私钥SK产生相应的33个签名,这里以SK0为例:将摘要H每8位分成一组总共可以得到32组,这里对第一组P1进行编码,计算P1的十进制的大小然后模上256再加上1得到结果T,然后将SK0分成前后相等的两部分fSK0和bSK0,将前部分采用Sha256哈希函数进行T次的迭代得到结果T-fSK0,将后半部分进行257-T的迭代计算得到结果T-bSK0,然后将这两部分重新拼接得到P1的签名,以此类推得到其他31个部分的签名。然后统计摘要信息中不为0的个数以及整个信息转化为十进制后的大小,将这两个信息组成第33部分,然后用第33个私钥SK32(这里私钥是从0开始计数的)按照上述方法对其进行签名得到第33个签名。
可以理解的是,在本发明实施例中,为了折中考虑计算机性能和信息安全程度,本发明将每一份信息摘要的大小与计算机网络的一个字节大小相同;即一份信息摘要为8位,而一个字节也为8位,这样就能够适应计算机系统的性能,也尽可能的保证信息安全程度。
在本发明实施例中,如图4所示,所述基于哈希函数的抗量子验证算法包括:
201、采用哈希函数将交易信息P转成M位的信息摘要,同时将M位的信息摘要H分成N份;统计摘要信息中不为0的个数以及整个交易信息P,将这两个信息组成第N+1份信息摘要Pi;
202、对N+1份的信息摘要Pi分别进行编码,计算信息摘要Pi的十进制的大小,并在模上M再加上1得到结果Ti;
203、将N+1份信息摘要Pi对应的签名Si分成前后相等两部分fSi和bSi,将前部分采用哈希函数进行M+1-Ti次的迭代得到结果T-fSi,后半部分采用哈希函数进行Ti次的迭代得到结果T-bSi,将这两部分拼接在一起得到验证密钥VKi;
204、通过比较验证密钥VKi和公钥PKi,若所述验证密钥VKi与对应的公钥PKi相等,则验证通过,否则验证失败。
在一些实施例中,以M=256,N=32为例,如图5所示:
(1)接受节点在接收到交易信息以及签名和公钥PK后,利用本方案中的基于哈希的抗量子签名算法计算出相应的33个验证密钥VK,使用相应的VK与相应的公钥PK对比相等即验证成功,不相等则验证失败。
具体过程,这里以生成VK0为例:同样的按照4)中的方式将信息摘要H分成32组,然后取第一部分P1计算其对应的T,然后将签名S0分成前后相等两部分fS0和bS0,将前部分采用Sha256哈希函数进行257-T次的迭代得到结果T-fS0,后半部分采用Sha256哈希函数进行T次的迭代得到结果T-bS0,然后将这两部分拼接在一起就得到VK0。除了将前32个VK和前32个PK进行比较之外,为了提高安全性,这里还要对信息进行校验,获取摘要信息中不为0的个数以及整个信息转化为十进制后的大小,然后计算其T值。之后按照上述方法通过第33个签名S32得到其VK32,然后将VK32和公钥PK32进行比较如果相等则说明校验是通过的。
(2)产生验证密钥VK后,将验证密钥与对应的公钥进行对比,若相等则验证成功,若不相等则验证失败。
在本发明的优选实施例中,在本方案中为了进一步减少在传递信息以及密钥过程中的通信成本和节点的存储压力,这里引入IPFS分布式文件系统,全称是InterPlanetaryFile System,是一种点对点分布式文件系统,目的是为了让互联网更加安全、开放和高效。IPFS是由Juan Benet在2014年开发的,它将所有的文件存储在不同的节点上,使得文件可以安全地分布在网络上,并且可以在网络中任何地方找到和访问。利用IPFS不必依赖于特定的集中式网络,它采取了分布式哈希表(DHT)的结构思想,将所有的文件分为一个个块,每个块都有一个唯一的哈希值,这样可以方便的区分不同的信息;用户在上传或者下载文件的时候,不需要依赖于所有节点的连接,而只需要依赖于相邻节点的连接即可,这样就可以大大的提高文件访问的效率。同时,IPFS的安全性和防篡改性也非常高,它采用公钥加密算法来保护数据的安全,防止数据被非法篡改和窃取。所有客户端节点可以将信息摘要和相关密钥存入IPFS中而取代了储存在本地,然后从IPFS中获取到相应的key值,这样客户端节点之间就可以通过key值获取到信息摘要和相关密钥信息,而在客户端节点之间同样传输key而不是具体的值,这样大大降低了通信开销,提高了交易的效率。本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:ROM、RAM、磁盘或光盘等。
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。
Claims (10)
1.一种基于联盟链的抗量子攻击的数据加密方法,其特征在于,包括如下:
第一客户端节点产生交易内容,并使用基于哈希函数的抗量子签名算法对所述交易内容签名;
第一客户端节点使用交易身份证书的私钥SK对交易内容、签名后的交易内容以及公钥PK一并签名,并将签名结果发送给第二客户端节点;
第二客户端节点使用基于哈希函数的抗量子验证算法验证第一客户端节点发送的交易内容,并将验证结果返回第一客户端节点;
第一客户端节点收到第二客户端节点数量满足背书策略的验证结果后,传输给排序服务,产生交易块并将所述交易内容加入到交易块中;
第一客户端节点向联盟链fabric中的第三客户端节点广播所述交易块;
第三客户端节点接收到交易块后,使用基于哈希函数的抗量子验证算法对所述交易块进行验证,若验证同意交易块的交易内容的第三客户端节点数量超过预设阈值,则将所述交易块写入区块中。
2.根据权利要求1所述的一种基于联盟链的抗量子攻击的数据加密方法,其特征在于,第一客户端节点产生交易内容之前还包括向数字证书管理机构申请交易证书;所述数字证书管理机构验证第一客户端节点的身份证书,若验证通过后,则向所述第一客户端节点颁发交易证书。
3.根据权利要求2所述的一种基于联盟链的抗量子攻击的数据加密方法,其特征在于,所述向数字证书管理机构申请交易证书之前还包括向所述数字证书管理机构申请身份证书。
4.根据权利要求2所述的一种基于联盟链的抗量子攻击的数据加密方法,其特征在于,所述向数字证书管理机构申请交易证书包括:
第一客户端节点使用自身的身份证书中的私钥SK以及基于哈希函数的抗量子签名算法对产生的交易内容进行签名,并将签名后的交易内容作为交易证书申请发送给数字证书管理机构;
数字证书管理机构收到交易证书申请后,使用第一客户端节点的身份证书中的公钥PK以及基于哈希函数的抗量子验证算法对收到的交易内容进行验证;
数字证书管理机构验证通过后,向第一客户端节点颁发交易证书。
5.根据权利要求1或4所述的一种基于联盟链的抗量子攻击的数据加密方法,其特征在于,所述基于哈希函数的抗量子签名算法包括:
使用伪随机函数产生N+1个互不关联的私钥SKi,i=0...N;
利用N+1个私钥SKi,通过哈希函数的映射产生N+1个相应的公钥PKi,i=0...N;
采用哈希函数将交易信息转成M位的信息摘要,将M位的信息摘要H分成N份,并将摘要信息中不为0的个数以及整个交易信息P,将这两个信息组成第N+1份信息摘要Pi;
使用N+1个私钥SKi对相应的N+1份信息摘要Pi签名,产生N+1个签名Si。
6.根据权利要求5所述的一种基于联盟链的抗量子攻击的数据加密方法,其特征在于,所述利用N+1个私钥SKi,通过哈希函数的映射产生N+1个相应的公钥包括:
将所述私钥SKi分成前后对等的两部分第一私钥fSKi和第二私钥bSKi;
分别对这两部分第一私钥fSKi和第二私钥bSKi采用哈希函数迭代M+1次;
将迭代后的两部分第一私钥fSKi和第二私钥bSKi重新拼接在一起组成公钥PKi。
7.根据权利要求5所述的一种基于联盟链的抗量子攻击的数据加密方法,其特征在于,所述使用N+1个私钥SKi对相应的N+1份信息摘要Pi签名,产生N+1个签名Si包括:
对N+1份的信息摘要Pi分别进行编码,计算信息摘要Pi的十进制的大小,并在模上M再加上1得到结果Ti;
将所述私钥SKi分成前后对等的两部分fSKi和bSKi;
将前部分采用哈希函数进行Ti次的迭代得到结果T-fSKi,将后半部分采用哈希函数进行M+1-Ti的迭代计算得到结果T-bSKi;
将这两部分T-fSKi和T-bSKi重新拼接得到信息摘要Pi的签名Si。
8.根据权利要求1所述的一种基于联盟链的抗量子攻击的数据加密方法,其特征在于,所述第二客户端节点使用基于哈希函数的抗量子验证算法验证第一客户端节点发送的交易内容,并将验证结果返回第一客户端节点包括使用基于哈希函数的抗量子验证算法计算出验证密钥VK,若所述验证密钥VK与对应的公钥PK相等,则验证通过,否则验证失败。
9.根据权利要求1所述的一种基于联盟链的抗量子攻击的数据加密方法,其特征在于,所述第三客户端节点接收到交易块后,使用基于哈希函数的抗量子验证算法对所述交易块进行验证包括:
第三客户端节点使用第一客户端节点的身份证书中的公钥PK和基于哈希函数的抗量子验证算法对第一客户端节点的身份信息进行验证;
验证通过后,第三客户端节点使用第一客户端节点的交易证书中的公钥PK和基于哈希函数的抗量子验证算法对本次交易是否合法进行验证;
验证通过后,第三客户端节点使用第二客户端节点的公钥PK和基于哈希函数的抗量子验证算法对本次交易的背书进行验证;
验证通过后,第三客户端节点使用第一客户端节点提供的本次交易内容的公钥PK和基于哈希函数的抗量子验证算法对本次交易内容是否合法进行验证。
10.根据权利要求1或8或9所述的一种基于联盟链的抗量子攻击的数据加密方法,其特征在于,所述基于哈希函数的抗量子验证算法包括:
采用哈希函数将交易信息P转成M位的信息摘要,同时将M位的信息摘要H分成N份;统计摘要信息中不为0的个数以及整个交易信息P,将这两个信息组成第N+1份信息摘要Pi;
对N+1份的信息摘要Pi分别进行编码,计算信息摘要Pi的十进制的大小,并在模上M再加上1得到结果Ti;
将N+1份信息摘要Pi对应的签名Si分成前后相等两部分fSi和bSi,将前部分采用哈希函数进行M+1-Ti次的迭代得到结果T-fSi,后半部分采用哈希函数进行Ti次的迭代得到结果T-bSi,将这两部分拼接在一起得到验证密钥VKi;
通过比较验证密钥VKi和公钥PKi,若所述验证密钥VKi与对应的公钥PKi相等,则验证通过,否则验证失败。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310773975.7A CN116707825A (zh) | 2023-06-28 | 2023-06-28 | 一种基于联盟链的抗量子攻击的数据加密方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310773975.7A CN116707825A (zh) | 2023-06-28 | 2023-06-28 | 一种基于联盟链的抗量子攻击的数据加密方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116707825A true CN116707825A (zh) | 2023-09-05 |
Family
ID=87831107
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310773975.7A Pending CN116707825A (zh) | 2023-06-28 | 2023-06-28 | 一种基于联盟链的抗量子攻击的数据加密方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116707825A (zh) |
-
2023
- 2023-06-28 CN CN202310773975.7A patent/CN116707825A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20230120742A1 (en) | Quantumproof blockchain | |
US9847880B2 (en) | Techniques for ensuring authentication and integrity of communications | |
CN108768652B (zh) | 一种可抗量子攻击的联盟区块链底层加密方法 | |
US6701434B1 (en) | Efficient hybrid public key signature scheme | |
JP2019507510A (ja) | 情報及び階層的で決定性の暗号化鍵のセキュアな交換のための共通秘密の決定 | |
JPH1041932A (ja) | 暗号キー回復方法及び装置 | |
US20230319103A1 (en) | Identifying denial-of-service attacks | |
CN112380269B (zh) | 一种基于区块链的身份证信息查询固证与取证方法 | |
US20200014668A1 (en) | System and method of securely transmitting and storing data over a network | |
US11316698B2 (en) | Delegated signatures for smart devices | |
Sathya et al. | A comprehensive study of blockchain services: future of cryptography | |
CN115378611A (zh) | 一种量子安全的数字签名验签方法及系统 | |
CN113268762B (zh) | 一种基于lfsr哈希的无条件安全认证方法 | |
US20240121109A1 (en) | Digital signatures | |
US20230163977A1 (en) | Digital signatures | |
CN112039837B (zh) | 一种基于区块链和秘密共享的电子证据保全方法 | |
CN112926983A (zh) | 一种基于区块链的存证交易加密系统及方法 | |
CN114760072B (zh) | 签名及验签方法、装置及存储介质 | |
CN110717760A (zh) | 基于区块链的一站式高效pki认证服务方法 | |
CN116707825A (zh) | 一种基于联盟链的抗量子攻击的数据加密方法 | |
Priyadarshini et al. | Digital signature and its pivotal role in affording security services | |
CN116228234B (zh) | 一种量子安全的兑换数字货币的方法 | |
CN117574408B (zh) | 基于区块链的生产资料管理方法、装置及电子设备 | |
Tanwar | Basics of cryptographic primitives for blockchain development | |
CN112287399B (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 |