CN107666388B - 基于完全同态加密方法的区块链信息加密方法 - Google Patents
基于完全同态加密方法的区块链信息加密方法 Download PDFInfo
- Publication number
- CN107666388B CN107666388B CN201610605476.7A CN201610605476A CN107666388B CN 107666388 B CN107666388 B CN 107666388B CN 201610605476 A CN201610605476 A CN 201610605476A CN 107666388 B CN107666388 B CN 107666388B
- Authority
- CN
- China
- Prior art keywords
- ciphertext
- key
- block chain
- function
- business transaction
- 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
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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Bioethics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
Abstract
一种基于完全同态加密方法的区块链信息加密方法,通过信息加密方对待加密的明文进行全同态加密后进行签名,以加密后的密文公开向网络中所有节点发布验证请求,并由所述节点分别采用区块链公钥对所述签名及信息接收方信息进行区块链验证、采用全同态公钥对密文进行同态加密操作验证,当验证通过后将信息加密方、接收方信息和密文打包生成区块生成更新后的区块链并对网络进行广播,完成区块链的更新操作。本发明极大的改进了区块链技术的数据安全和保密性,整体结构更加精简、高效,无需引入可信的第三方,也无需大幅扩展和改造原区块链技术模型,只需要最小的改进就可以达到保密的效果。
Description
技术领域
本发明涉及的是一种信息安全领域的技术,具体是一种基于完全同态加密方法的区块链信息加密方法。
背景技术
区块链技术是2008年被提出的,中本聪发布了《比特币白皮书》阐述了比特币及作为其底层的区块链技术的原理和特点。2009年该构想被中本聪及其他一些人所实现,比特币正式诞生。而区块链作为比特币背后的技术,近年来得到了越来越多的关注,甚至超越比特币本身,被视为整个加密电子货币浪潮中最具发展和应用潜力的一项技术。
狭义来看,区块链是一种数据结构。它由一个又一个固定大小的数据区块首尾链接地串联成一条链状的巨大数据结构。其中每一个区块由头部和身体两个部分组成,身体部分负责存放区块数据,头部主要记录了区块身体部分的摘要信息以及前一个区块头部的信息。如此一来,一旦记录着数据的区块构成链条,其先后顺序、记录的数据内容都固定,且之后也无法再做修改。因此,区块链具有不可篡改性。
此外,比特币依靠匿名账号来达到对账号背后的个人信息进行保护,同时一个人可以通过拥有多个账号一定程度上加大被锁定和追踪的难度,但由于所有的交易信息,比如金额均为公开,依旧可以通过实际发生的交易,知道账号和真实个人的对应关系,例如使用比特币支付房租后,房东自然可以查到房客账号的余额;同时在一些场景下,交易本身的金额是需要保密的内容,例如一个收藏品交易的金额。这是加密电子货币被广泛使用时必然遇到的问题和挑战。
自从比特币被提出至今,已经有几十种类似的加密电子货币体系被实现,其背后的区块链技术也被越来越多的学术单位、金融机构及各国政府关注和重视。对区块链的研究的实践,主要集中在如何改进区块链的运作效率和处理能力,以及当应用区块链解决交易、支付、金融、公证等各类实际问题上。关注并针对区块链的交易数据隐私保护问题的系统并不多,比较主要的包括:侧链系统、Zerocoin系统以及Enigma系统。
侧链系统在比特币区块链的外部,构造了一条侧链,通过将侧链的一些区块与比特币主链的区块相互锚定,实现了两根不同区块链之间的数据交换和逻辑关联。同时,在侧链上通过使用具有加法同态特性的佩德森承诺来代替需要保密的交易数据,然后使用环签名的方法实现全网节点的认证和确认,从而解决了交易数据的隐私保护问题。但是佩德森承诺本质上是一种哈希运算,并非加密算法,无法逆向运算出原始信息。因此交易数据必需保存于区块链之外的地方,否则即便是交易实际参与方事后也无法从区块链内记录的交易数据中获知交易的细节。这就造成了区块链本身信息的不完备性。
Zerocoin系统在处理隐私数据是通过引入可信第三方节点的方式,在可信节点上完成加密交易数据的验证,然后通过使用零知识证明的签名方式,完成全网节点的认证和共识。而在网络结构上,Zerocoin没有使用额外的链条,而是在比特币区块链上增加了一层协议封装,来实现这套新的逻辑。Enigma系统则是使用秘密共享的方式,将需要保护的交易隐私数据加密并拆分成许多份,然后分别分发到网络中进行验证。单个节点的验证过程只使用一份数据,不会影响安全性。所有部分数据的验证结果通过复杂的网络协同最后组装在一起,形成最终的验证结果。这样的方式,虽然无需引入可信第三方节点,但是为了验证一个交易的合法性,所有的节点所执行的操作都不禁相同,还需要引入复杂的协同机制拼装最终的结果,过程十分复杂。
发明内容
本发明针对现有技术存在的上述不足,提出一种基于完全同态加密方法的区块链信息加密方法,使用完全同态加密方法,针对敏感交易,提供交易信息加密存储和验证的方法,极大的改进了区块链技术的数据安全和保密性。相较于侧链方案、Zerocoin方案等现有的解决交易隐私问题的方法,本发明整体结构更加精简、高效,无需引入可信的第三方,也无需大幅扩展和改造原区块链技术模型,只需要最小的改进就可以达到保密的效果。这将大大扩展区块链的适用范围和应用场景,使得区块链内容得以保密,同时由于完全同态加密的特殊特性,找零运算、交易有效性验证等操作同样可以由任何第三方验证者完成。
本发明是通过以下技术方案实现的:
本发明涉及一种基于完全同态加密方法的区块链信息加密方法,通过信息加密方对待加密的明文进行全同态加密后进行签名,以加密后的密文公开向网络中所有节点发布验证请求,并由所述节点分别采用区块链公钥对所述签名及信息接收方信息进行区块链验证、采用全同态公钥对密文进行同态加密操作验证,当验证通过后将信息加密方、接收方信息和密文打包生成区块生成更新后的区块链并对网络进行广播,完成区块链的更新操作。
所述的区块链由若干个区块组成,每个区块包括:区块头信息、区块体信息,其中区块头部分中包括但不限于父区块的区块头信息的哈希值、本区块生成时间、随机数以及本区块的区块体的哈希值,从而构成了整个链式结构。
所述的签名是指:信息加密方利用区块链私钥对密文进行摘要签名运算并获得一个签名字符串,以此证明该验证请求是由信息加密方私钥拥有人核实并签发的。
所述的全同态加密采用但不限于:针对待加密明文P∈R,随机生成函数f(xi)>0且f()可微,以K={f(),Y}为私钥,Y={yi|∈I},当满足:∑i∈Iai·(xi)·i=P时,则有加密后的密文为C={A,X},其中:A={ai|∈I},X={xi|∈I},I={1,2}。
所述的明文包括但不限于:发送方,即信息加密方、信息体、信息接收方,其中:信息体包括但不限于:支付金额、找零金额等。
所述的区块链验证是指:
i)验证方采用发送方区块链公钥验证信息发送方的签名,并验证接收方地址是否合法;
ii)验证方通过同态密文运算操作,验证密文整体合法性。
所述的区块链公钥,优选为信息加密方地址,该地址可以用过checksum进行有效性验证,同时地址作为公钥可以验证与其匹配的私钥所生成的签名是否合法,当签名验证合法则代表该签名的签发方确实拥有与其公钥匹配的私钥,即可确认签发人身份。
所述的验证密文整体合法性,包括但不限于验证密文中所有数值输入之和减去数值输出之和,即数值变化量是否大于等于零。
所述的同态加密操作验证是指:信息加密方联系进行全同态验证的节点,即验证节点,通过密文交割操作,生成所述节点临时密钥空间下的密文,在不解密的情况下验证密文的运算是否合法,具体包括以下步骤:
步骤1、进行初始化,即随机生成私钥和公钥,并利用私钥生成私钥加密运算支持函数、私钥对应密钥空间的单位密文以及公钥加密运算支持函数;
所述的私钥处于保密状态保存。
所述的单位密文和公钥处于非保密状态保存。
所述的运算支持函数和公钥加密运算支持函数优选处于保密状态并保存于第三方服务器,且仅在进行密文同态运算和公钥加密所得密文的接受或解密时调用。
步骤2、对明文进行加密以生成密文,即直接使用私钥进行加密得到直接密文或使用与私钥对应的公钥进行加密运算以获得同一个密钥空间的兼容密文;
所述的直接密文和兼容密文处于同一个密钥空间,即均通过私钥进行解密还原得到明文或先经公钥加密运算支持函数进行运算处理后再通过私钥进行解密,得到经过相同运算处理后的明文。
当用于解密的私钥丢失或无法获得时,通过启用备用私钥并将密文转换至对应的密钥空间可实现解密,具体为:预先生成新的私钥,即备用私钥,并通过备用私钥与原私钥共同运算生成密钥置换支持函数和原密钥多项式密钥部分的换元表达式并备份于服务器端;当需要更换密钥时,通过密钥置换支持函数及原密钥多项式密钥部分的换元表达式对密文进行密钥空间转换后,即能够以备用私钥对转换后的密文进行解密。
步骤3、当需要将密文安全交付至验证节点时,则通过①信息加密方、验证节点以及第三方服务器或②信息加密方与验证节点双方完成密文交割,其中:
方案①具体步骤包括:
3.1)首先由服务端生成临时密钥,并发送至发送端和接收端;
3.2)接收端根据服务端临时密钥生成接收端临时密钥、交割函数和接收端交割支持函数,并将交割函数发送至密文发送端,将接收端交割支持函数发送至服务端;
3.3)发送端生成发送端临时密钥,并将需要交付的密文从原密钥空间转到临时密钥空间,同时根据接受到的服务端临时密钥以及从接收端获得的交割函数运算生成发送端交割支持函数,最后将密文及发送端交割支持函数发送至服务端;
3.4)服务端根据接受到的接收端交割支持函数、密文及发送端交割支持函数,将密文依次从发送端临时密钥空间转换到接收端临时密钥空间,再转换到接收端原密钥空间,最后将转换后的密文发送至接收端,供接收端进行同态验证。
方案②具体步骤包括:
3.a)接收端生成临时密钥、交割函数及其对应的密钥置换支持函数,然后将临时密钥及交割函数发送至发送端;
3.b)发送端首先生成发送端临时密钥,将需要交付的密文从原密钥空间转换到临时密钥空间,然后根据接收端临时密钥及交割函数生成发送端交割支持函数,再将临时密钥空间密文与发送端交割支持函数发送至接收端;
3.c)接收端根据临时密钥空间密文与发送端交割支持函数,将密文依次从发送端临时密钥空间转换到接收端临时密钥空间,再转换到原密钥空间进行同态验证。
步骤4、同态验证:验证节点调用全同态加密计算的相关服务,计算所有输入之和减去输出等于Change,同时验证Change>=0,然后验证节点验证交易方字典,即运算支持函数的真实性,最后当验证节点验证Output_A=Output_B,即任何第三方使用这个运算支持函数进行密文计算,所得到的结果是真实正确时,验证通过。
所述的第三方服务器,是作为同态加密运算辅助者的角色存在的,不构成区块链系统的必要组件,仅仅为了提高运算效率,加快数据传输速度。
同时,这个服务器是无需信任的,也就是说区块链的所有节点在验证交易有效性的操作时,都不需要提前假设服务器的运算是真实的,而是可以通过一系列运算操作零知识的证明服务器所做的每一个操作都是真实的。
所述的网络中所有节点,均使用上述过程对该交易的合法性和真实性进行验证,这个验证操作需要交易双方以及第三方服务器的支持,但是整个验证操作不需要基于对服务器的信任,同时可以确保即使验证方不能得知交易的真实金额数据,也可以顺利的完成验算和真实性校验。
所述的信息接收方优选可以凭借自己的私钥解密更新后的区块链并还原得到明文。
技术效果
与现有技术相比,本发明相较于普通区块链,交易的相关信息全部都实现了加密,数据安全性和保密性得到显著更高。同时,由于完全同态加密的特殊性质,保证了即便处于加密状态,交易的有效性验证操作也可以由任意网络节点安全、同态的完成,这样就保留了区块链去中心化、全网审计的共识机制。
相比较于现有解决区块链交易隐私问题的方法,本发明具有结构简明清晰,适应面广,可操作性强,处理速度快,无需引入复杂的额外网络结构,也无需引入可信的第三方节点等优势,从而最大化的保证了数据的安全性,同时也不会对区块链的公平公正特征带来任何负面的影响。
附图说明
图1为本发明流程简图;
图2为实施例流程示意图;
图3为加密的区块链交易数据结构示意图;
图中:Input_1_A+Input_2_A‐Output_A=Change_A,Output_A=Output_B;
图4为实施例架构示意图。
具体实施方式
实施例1
本实施例通过对等待加入区块链中的交易信息进行同态加密,以加密后的信息进行公开发布,并通过同态密文运算操作进行验证,最后将通过验证的加密交易信息写入区块链,从而实现对区块链交易内容的保密。本实施例中以交易发起方作为信息发送方,以交易信息作为区块链中待加密的明文以说明本发明具体实施过程,实际应用时区块链中的内容可以是其他任意敏感信息。
如图1和图2所示,本实施例具体包括以下步骤:
第一步、支付方发起交易信息并进行广播以请求验证,具体步骤包括:
1.1.支付方使用同态加密私钥,可在本地查看自有账户余额;
1.2.支付方选择至少一条未支付余额条目(Unspent Transaction Output,UTXO)作为输入发起一笔交易;
1.3.支付方使用同态加密私钥加密本次交易要支付的金额,得到Output_A,这里要确保所选输入的总额大于支付金额,并且计算得到差额Change;
1.4.支付方联系接收方,在同态加密服务端的帮助下,调用密文交割操作生成接收方临时密钥空间下的支付金额密文Output_B或使用接收方的同态加密公钥直接生成接收方临时密钥空间下的支付金额密文Output_B;
1.5.支付方填写接收方地址,进行签名,并广播交易信息;
所述的签名是指:支付方利用区块链私钥对该交易数据进行摘要签名运算并获得一个签名字符串,以此证明该交易是由账户拥有人核实并签发的。
所述的广播是指:支付方将签名后的交易数据以广播的形式对全网进行发布,任何收到该条广播数据的节点都可以参与交易的验证。
第二步、如图2和图3所示,网络中的其他节点,即验证方使用支付方的区块链公钥和同态计算公钥分别对交易信息进行验证,具体步骤包括:
2.1验证方收到该交易信息,采用区块链公钥验证支付方签名以及接收方地址合法性。
2.2验证方通过同态密文运算操作,验证密文整体合法性,即验证方采用区块链私钥,计算交易信息中所有输入之和减去输出,即找零金额C是否大于等于零,具体为:
2.2.1)密钥持有者随机生成新的临时密钥K′={f′(),Y′},并调用密钥置换操作将C转换成新密钥空间下的密文C′;
2.2.2)密钥持有者随机生成新的函数密钥部分f″(),然后给出比较支持函数:
其中:h(x1,2)≠h(x2,1)≠x1≠x2,f″()>0且f″()处处可微。
2.2.3)密钥持有者围绕临时密钥的多项式密钥部分Y′={y1′,y2′},给出一个具有合理面积的矩形区间RECT(Y′);
2.2.4)将密文C′针对Y′的每一个分量求偏导数
2.2.5)然后求解C′的一阶偏导数等于0的方程,记录所有在矩形区间1ECT(Y′)中的解;
2.2.6)将矩形区间RECT(Y′)的四个顶点加入求值点集合,然后对矩形区间内部所有偏导数等于0的解进行交叉组合,获得新的求值点加入该集合,最后将这些解对应的矩形区间边界上的投影点也加入该集合;
2.2.7)将求值点集合中的每一个点Yi′={y1i′,y2i′}代入密文C′,并且使用比较支持函数Gcomp将密文C′转换成形如a″·f″(x)的表达式,由于f″()>0,因此通过判断a″的符号,就可以判断密文表达式C′在该求值点上是否大于0;
2.2.8)计算所有求值点的符号,当所有求值点都大于0,则可以得到结论C′>0,进而判断C>0;当所有求值点均小于0,则可以得到结论C′<0,进而判断C<0;
2.2.9)当求值点同时存在大于0和小于0的情况,则无法判断C′是否大于0,此时采取两个方法进行修正操作,一个方法是围绕Y′缩小和移动RECT(Y′);另一个方法是选取较大的正整数Z,并重新计算Z·C′,直至能够判断出C′是否大于0为止。
通过密文运算真实性证明这个方法,区块链网络中的任意节点都可以验证某特定用户的同态运算真实性,进而通过调用这些同态运算过程,验证该节点所发起的交易的真实性。
2.3验证方通过同态计算比较运算的真实性,具体为:
2.3.1)验证方随机生成明文数据P={p1,p2},p3<F(p1,p2),其中:p1、p2、p3分别为三个随机数明文,F()为任意选取的双变量多项式函数。
2.3.2)验证方调用发送方的同态计算公钥对明文数据P进行加密,得到对应的密文CA1、CA2和CA3;
2.3.3)验证方调用发送方的运算字典,使用同态方式将密文CA1和CA2代入函数F得到结果密文CA’,即计算F(CA1,CA2)得到CA′,然后再将CA’与CA3进行比较得到结果R1。
所述的运算字典可以完全公开,也可以采用自由或授权访问的形式(由于运算字典较大,通常保存在服务器上且仅在进行密文运算和操作时才会使用,不提供完整数据的下载,但是可以由合法调用者任意使用。
2.3.4)验证方调用发送方的同态比较运算,得到CA3<CA’的结果R1,这里验证比较运算是否正确的核心思想是首先假设同态比较运算本身是正确的,这里仅仅是要防止有人作弊,即篡改字典或参数,从而让验证者得到错误的比较结果,并以此牟利。
因此,假设验证者不存在作弊行为,其调用的必然是正确的操作步骤,如果被验证方提供的参数和字典均真实,验证得到的同态比较运算的结果也一定是真实的,即满足CA3<CA’;否则就说明参数或字典被篡改,验证者可认为原比较结果是错误的。
2.3.5)若R为False,则证明比较运算不正确;若为True,则证明比较运算正确
2.3.6)重复步骤2.3.1~2.3.5上述过程若干次,当结果均正确说明发送方的同态比较运算真实。
所述的重复的次数,可视验证速度要求和错误容忍度而定。
2.4验证方验证交易方字典真实性,包括:
2.4.1)验证方随机生成明文数据P={p1、p2},其中:p1、p2分别为随机数明文;
2.4.2)验证方调用发送方的公钥对明文数据P进行加密,得到密文CA={CA1,CA2};
2.4.3)验证方调用发送方的运算字典,计算F(CA)得到CA′,其中:F()为任意选取的双变量多项式函数;
2.4.4)验证方调用发送方的密文交割过程,将CA′转为CB;
2.4.5)验证方使用自己的私钥对密文CB进行解密,得到解密明文P′;
2.4.6)验证方判断F(P)=P′,当结果为真,则证明交易方字典真实。
2.5当接收方临时密钥空间下的支付金额密文Output_B通过接收方的同态加密公钥直接生成时,通过采用步骤2.3)的同态计算验证公钥加密的真实性;当接收方临时密钥空间下的支付金额密文Output_B通过密文交割操作生成时,需要验证方验证输出信息真实性,包括:
2.5.1)验证方发起密文相等证明操作请求到服务器,并通知交割双方;
2.5.2)交割双方协商生成一元函数F(严格单调增函数,所有参数均为明文),同时约定一个大于零的实数R;
2.5.3)交割双方分别加密R得到CRA,CRB;
2.5.4)交割双方将F、CRA、CRB告知验证方,验证方运算得到SA=F(CA)*CRA,
SB=F(CB)*CRB;
2.5.5)验证方向服务器上传SA、SB并要求服务器启动验证程序;
2.5.6)服务器随机生成临时密钥K,并联系交割双方,要求其针对SA、SB进行密文交割操作;
2.5.7交割双方分别各自验证SA=F(CA)*CRA,SB=F(CB)*CRB,然后同意交割;
2.5.8)服务器完成交割得到密文SK1(SA),SK2(SB),并运算得到SK3=SK1‐SK2,
SK4=SK1+SK2;
2.5.9)验证方与服务器完成密文交割(简化版密文交割),得到SC3、SC4,然后解密获得P3,P4;
2.5.10)当P3=0,且P4>0,则验证成功通过上述运算,可以证明两个分属不同密钥空间下的密文是相等的,同时由于这个操作与密文比较操作类似,都一定程度上会涉及密文真实取值的相关信息,因此其运算过程的安全性要求比较高,并且需要第三方服务器的参与。
由于整个过程涉及四个参与者,还需要预防其中任意两方或三方相互勾结作假,欺骗其他参与者,造成操纵运算结果或者密文被破解的问题。
2.6所有验证通过,交易有效。
第三步、将交易信息打包生成新的区块,找到满足条件的随机数后向整个网络发送新的区块,实现区块链的添加。
所述的满足条件的随机数是指:根据区块链生成条件,包含所述随机数的单个区块,其压缩后的哈系数的前17位数字均为零。
所述的打包,以参与验证并核实所述交易真实有效的节点,将所述交易信息打包写入区块链。
可以看到,在上述交易验证的过程中,交易的输入金额,输出金额,找零金额全部以密文的状态出现并记录,其中输入金额、找零金额及一个输出金额的密文处在支付方密钥空间中,另一个输出金额处于收款方密钥空间。
在交易的过程中,如果交易双方均使用加密交易模式,则不存在明文与密文之间的运算问题,如果有一方为明文模式,则需要根据图4所示步骤进行转换后才能运算得到找零金额。具体如如图4所示,当密文与明文进行加法处理时,具体操作步骤如下:
1)当密文C1与明文P2需要进行加法运算,用户私钥为SK,公钥为PK
2)先使用公钥PK对P2加密,得到C2
3)再运算C3=C1+C2,得到运算结果由于公钥加密方法不涉及对常数项B的运算,因此密文是否带有常数项,不会影响公钥加密的运算步骤。
如图4所示,为本实施例实现上述方法的具体架构,其中:区块链网络中各个节点通过P2P网络相互连接,每个节点均内置区块链客户端,用户通过区块链客户端进行交易,验证网络其他交易合法性以及读写区块链数据。
该架构中的同态加密服务器则进一步辅助区块链客户端进行同态运算和验证运算,其中:同态运算包括:密文同态四则运算、密文交割运算、密文比较运算、密钥置换运算等;验证运算包括:密文四则运算真实性验证、密文交割真实性验证、密文比较真实性验证。
上述具体实施可由本领域技术人员在不背离本发明原理和宗旨的前提下以不同的方式对其进行局部调整,本发明的保护范围以权利要求书为准且不由上述具体实施所限,在其范围内的各个实现方案均受本发明之约束。
Claims (11)
1.一种基于完全同态加密方法的区块链信息加密方法,其特征在于,通过信息加密方对待加密的明文进行全同态加密后进行签名,以加密后的密文公开向网络中所有节点发布验证请求,并由所述节点分别采用区块链公钥对所述签名及信息接收方信息进行区块链验证、采用全同态公钥对密文进行同态加密操作验证,当验证通过后将信息加密方、接收方信息和密文打包生成新的区块,将更新后的区块链对网络进行广播,完成区块链的更新操作;
所述的签名是指:信息加密方利用区块链私钥对密文进行摘要签名运算并获得一个签名字符串,以此证明该验证请求是由信息加密方私钥拥有人核实并签发的;
所述的区块链验证是指:
i)验证方采用发送方区块链公钥验证信息发送方的签名,并验证接收方地址是否合法;
ii)验证方通过同态密文运算操作,验证密文整体合法性;
所述的同态加密操作验证是指:信息加密方联系进行全同态验证的节点,即验证节点,通过密文交割操作,生成所述节点临时密钥空间下的密文,在不解密的情况下验证密文的运算是否合法。
2.根据权利要求1所述的区块链信息加密方法,其特征是,所述的全同态加密是指:针对待加密明文P∈R,随机生成函数f(xi)>0且f()可微,以K={f(),Y}为私钥,Y={yi|i∈I},当满足:∑i∈Iai·f(xi)·yi=P时,则有加密后的密文为C={A,X},其中:A={ai|i∈I},X={xi|i∈I},I={1,2}。
3.根据权利要求1所述的区块链信息加密方法,其特征是,所述的区块链公钥为信息加密方地址,该地址用过checksum进行有效性验证,同时地址作为公钥以验证与其匹配的私钥所生成的签名是否合法,当签名验证合法则代表该签名的签发方确实拥有与其公钥匹配的私钥,即可确认签发人身份。
4.根据权利要求1所述的区块链信息加密方法,其特征是,所述的验证密文整体合法性包括:验证密文中所有数值输入之和减去数值输出之和,即数值变化量是否大于等于零。
5.根据权利要求1所述的区块链信息加密方法,其特征是,所述的同态加密操作验证具体包括以下步骤:
步骤1、进行初始化,即随机生成私钥和公钥,并利用私钥生成私钥加密运算支持函数、私钥对应密钥空间的单位密文以及公钥加密运算支持函数;
步骤2、对明文进行加密以生成密文,即直接使用私钥进行加密得到直接密文或使用与私钥对应的公钥进行加密运算以获得同一个密钥空间的兼容密文;
步骤3、当需要将密文安全交付至验证节点时,则通过①信息加密方、验证节点以及第三方服务器或②信息加密方与验证节点双方完成密文交割;
步骤4、同态验证:验证节点调用全同态加密计算的相关服务,计算所有输入之和减去输出等于Change,同时验证Change>=0,然后验证节点验证交易方字典,即运算支持函数的真实性,最后当验证节点验证Output_A=Output_B,即任何第三方使用这个运算支持函数进行密文计算,所得到的结果是真实正确时,验证通过。
6.根据权利要求5所述的区块链信息加密方法,其特征是,所述的运算支持函数和公钥加密运算支持函数优选处于保密状态并保存于第三方服务器,且仅在进行密文同态运算和公钥加密所得密文的接受或解密时调用。
7.根据权利要求5所述的区块链信息加密方法,其特征是,所述的直接密文和兼容密文处于同一个密钥空间,即均通过私钥进行解密还原得到明文或先经公钥加密运算支持函数进行运算处理后再通过私钥进行解密,得到经过相同运算处理后的明文。
8.根据权利要求5所述的区块链信息加密方法,其特征是,当用于解密的私钥丢失或无法获得时,通过启用备用私钥并将密文转换至对应的密钥空间可实现解密,具体为:预先生成新的私钥,即备用私钥,并通过备用私钥与原私钥共同运算生成密钥置换支持函数和原密钥多项式密钥部分的换元表达式并备份于服务器端;当需要更换密钥时,通过密钥置换支持函数及原密钥多项式密钥部分的换元表达式对密文进行密钥空间转换后,即能够以备用私钥对转换后的密文进行解密。
9.根据权利要求5所述的区块链信息加密方法,其特征是,所述的方案①具体步骤包括:
3.1)首先由服务端生成临时密钥,并发送至发送端和接收端;
3.2)接收端根据服务端临时密钥生成接收端临时密钥、交割函数和接收端交割支持函数,并将交割函数发送至密文发送端,将接收端交割支持函数发送至服务端;
3.3)发送端生成发送端临时密钥,并将需要交付的密文从原密钥空间转到临时密钥空间,同时根据接受到的服务端临时密钥以及从接收端获得的交割函数运算生成发送端交割支持函数,最后将密文及发送端交割支持函数发送至服务端;
3.4)服务端根据接受到的接收端交割支持函数、密文及发送端交割支持函数,将密文依次从发送端临时密钥空间转换到接收端临时密钥空间,再转换到接收端原密钥空间,最后将转换后的密文发送至接收端,供接收端进行同态验证。
10.根据权利要求5所述的区块链信息加密方法,其特征是,所述的方案②具体步骤包括:
3.a)接收端生成临时密钥、交割函数及其对应的密钥置换支持函数,然后将临时密钥及交割函数发送至发送端;
3.b)发送端首先生成发送端临时密钥,将需要交付的密文从原密钥空间转换到临时密钥空间,然后根据接收端临时密钥及交割函数生成发送端交割支持函数,再将临时密钥空间密文与发送端交割支持函数发送至接收端;
3.c)接收端根据临时密钥空间密文与发送端交割支持函数,将密文依次从发送端临时密钥空间转换到接收端临时密钥空间,再转换到原密钥空间进行同态验证。
11.一种实现上述任一权利要求所述区块链信息加密方法的系统,其特征在于,包括:若干个内置区块链客户端的节点以及与之相连的用于同态运算和验证运算的同态加密服务器,其中:节点之间通过网络连接;
所述的同态运算包括:密文同态四则运算、密文交割运算、密文比较运算、密钥置换运算;
所述的验证运算包括:密文四则运算真实性验证、密文交割真实性验证、密文比较真实性验证。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610605476.7A CN107666388B (zh) | 2016-07-28 | 2016-07-28 | 基于完全同态加密方法的区块链信息加密方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610605476.7A CN107666388B (zh) | 2016-07-28 | 2016-07-28 | 基于完全同态加密方法的区块链信息加密方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107666388A CN107666388A (zh) | 2018-02-06 |
CN107666388B true CN107666388B (zh) | 2019-11-01 |
Family
ID=61114035
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610605476.7A Active CN107666388B (zh) | 2016-07-28 | 2016-07-28 | 基于完全同态加密方法的区块链信息加密方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107666388B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11824971B2 (en) * | 2016-09-10 | 2023-11-21 | Swiss Reinsurance Company Ltd. | Peer-to-peer transmission system with a controlled, double-tier cryptographic key structure |
Families Citing this family (68)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI659373B (zh) | 2018-02-14 | 2019-05-11 | 財團法人工業技術研究院 | 區塊鏈系統及應用其的方法 |
CN108494738B (zh) * | 2018-02-27 | 2020-10-27 | 华南理工大学 | 一种可验证的后量子电子投票系统及其实现方法 |
GB201817506D0 (en) * | 2018-03-02 | 2018-12-12 | Nchain Holdings Ltd | Computer implemented method and system |
CN111919416B (zh) * | 2018-04-09 | 2021-11-19 | 华为技术有限公司 | 用于具有可逆承诺的零知识范围证明的方法和系统 |
US20210233074A1 (en) * | 2018-04-27 | 2021-07-29 | nChain Holdings Limited | Partitioning a blockchain network |
CN108712409B (zh) * | 2018-05-09 | 2021-05-25 | 广西创轩科技有限公司 | 一种基于私有区块链的电子账单交易系统 |
CN108768607B (zh) * | 2018-05-14 | 2021-10-08 | 中钞信用卡产业发展有限公司杭州区块链技术研究院 | 一种基于区块链的投票方法、装置、设备及介质 |
CN108809652B (zh) * | 2018-05-21 | 2021-07-23 | 安徽航天信息有限公司 | 一种基于秘密共享的区块链加密账本 |
CN108734480A (zh) * | 2018-05-22 | 2018-11-02 | 四川海纳仁东科技有限公司 | 基于区块链的红酒稀缺性证明方法 |
US11868321B2 (en) | 2018-06-12 | 2024-01-09 | Salesforce, Inc. | Cryptographically secure multi-tenant data exchange platform |
CN108833095B (zh) * | 2018-06-25 | 2022-01-25 | 北京奇虎科技有限公司 | 区块链中的行为验证方法、节点、系统及电子设备 |
CN108881240B (zh) * | 2018-06-26 | 2021-04-30 | 广州天高软件科技有限公司 | 基于区块链的会员隐私数据保护方法 |
CN109194708B (zh) * | 2018-07-24 | 2021-07-13 | 哈尔滨工程大学 | 一种基于区块链技术的分布式存储系统及其身份认证方法 |
CN109067522B (zh) * | 2018-07-27 | 2023-07-25 | 深圳市汇尊区块链技术有限公司 | 一种随机数可验证秘密共享方法 |
CN109242675B (zh) | 2018-07-27 | 2021-09-24 | 创新先进技术有限公司 | 基于区块链的资产发布方法及装置、电子设备 |
CN109377215B (zh) * | 2018-08-06 | 2020-04-21 | 阿里巴巴集团控股有限公司 | 区块链交易方法及装置、电子设备 |
CN111783114B (zh) | 2018-08-06 | 2024-04-02 | 创新先进技术有限公司 | 区块链交易方法及装置、电子设备 |
CN109088871B (zh) * | 2018-08-14 | 2021-10-08 | 深圳市人民政府金融发展服务办公室 | 基于区块链技术的数据报送方法及系统 |
WO2020037654A1 (zh) * | 2018-08-24 | 2020-02-27 | 区链通网络有限公司 | 区块链数据保护方法、装置、系统及计算机可读存储介质 |
CN109359974B (zh) | 2018-08-30 | 2020-10-30 | 创新先进技术有限公司 | 区块链交易方法及装置、电子设备 |
CN109347917A (zh) * | 2018-09-14 | 2019-02-15 | 北京沃杰知识产权有限公司 | 区块链数据共识处理方法、系统、存储介质和电子设备 |
US11809409B2 (en) | 2018-09-19 | 2023-11-07 | Salesforce, Inc. | Multi-tenant distributed ledger interfaces |
US11157484B2 (en) * | 2018-09-19 | 2021-10-26 | Salesforce.Com, Inc. | Advanced smart contract with decentralized ledger in a multi-tenant environment |
CN109584055B (zh) | 2018-09-20 | 2020-07-03 | 阿里巴巴集团控股有限公司 | 基于区块链的交易方法、装置和汇出方设备 |
CN109345245B (zh) * | 2018-09-25 | 2020-11-03 | 全链通有限公司 | 基于区块链的短信验证方法、设备、网络及存储介质 |
CN111833057A (zh) | 2018-09-30 | 2020-10-27 | 创新先进技术有限公司 | 基于区块链的交易方法、装置和节点设备 |
CN109257182B (zh) * | 2018-10-24 | 2021-06-25 | 杭州趣链科技有限公司 | 基于同态密码学承诺与零知识范围证明的隐私保护方法 |
KR102180991B1 (ko) | 2018-11-07 | 2020-12-17 | 어드밴스드 뉴 테크놀로지스 씨오., 엘티디. | 블록 체인 기밀 거래의 규제 |
BR112019008168A2 (pt) | 2018-11-07 | 2019-09-10 | Alibaba Group Holding Ltd | métodos implementados por computador, meio de armazenamento legível por computador e sistema |
CN109447791B (zh) * | 2018-11-09 | 2021-07-16 | 北京邮电大学 | 一种基于区块链的资金交易方法及装置 |
CN109493053A (zh) * | 2018-11-22 | 2019-03-19 | 质数链网科技成都有限公司 | 一种用于联盟区块链系统的匿名交易方法 |
CN109615376B (zh) * | 2018-12-10 | 2020-09-01 | 北京八分量信息科技有限公司 | 一种基于零知识证明的交易方法及装置 |
CN109361704A (zh) * | 2018-12-12 | 2019-02-19 | 深圳市网心科技有限公司 | 云存储数据加密传输方法、系统、设备及存储介质 |
CN109684878B (zh) * | 2018-12-17 | 2021-01-26 | 杭州安恒信息技术股份有限公司 | 一种基于区块链技术隐私信息防篡改方法及系统 |
BR112019010751B1 (pt) | 2018-12-29 | 2022-05-24 | Advanced New Technologies Co., Ltd | Método de proteção de informação implementado por computador, sistema de proteção de informação e mídia de armazenamento não transitória legível por computador |
CN109885583A (zh) * | 2019-01-17 | 2019-06-14 | 平安城市建设科技(深圳)有限公司 | 基于区块链的数据查询方法、装置、设备及存储介质 |
CN109615378B (zh) * | 2019-01-24 | 2021-06-15 | 上海点融信息科技有限责任公司 | 基于区块链的安全多方计算方法、装置及可读存储介质 |
CN110008716B (zh) * | 2019-02-01 | 2020-12-11 | 创新先进技术有限公司 | 区块链交易方法及装置、电子设备、存储介质 |
CN109919748A (zh) * | 2019-03-06 | 2019-06-21 | 中汇信息技术(上海)有限公司 | 一种基于区块链的数据处理方法及系统 |
CN110069939A (zh) * | 2019-03-12 | 2019-07-30 | 平安科技(深圳)有限公司 | 加密数据一致性校验方法、装置、计算机设备及存储介质 |
CN111784338B (zh) * | 2019-04-10 | 2024-10-18 | 北京沃东天骏信息技术有限公司 | 信息处理方法、装置、系统及存储介质 |
CN110677234B (zh) * | 2019-04-30 | 2023-06-20 | 郑州大学 | 一种基于同态加密区块链的隐私保护方法与系统 |
CN110197081B (zh) * | 2019-05-30 | 2021-01-15 | 北京理工大学 | 一种基于区块链的云数据共享隐私保护方法 |
CN110414981B (zh) * | 2019-07-04 | 2023-05-09 | 华中科技大学 | 一种支持ZKPs的同态加密方法和区块链交易金额加密方法 |
CN110765147B (zh) * | 2019-10-22 | 2022-09-06 | 全链通有限公司 | 基于区块链加密存储的内容更新方法、用户节点及介质 |
CN110830452A (zh) * | 2019-10-22 | 2020-02-21 | 全链通有限公司 | 基于区块链的电子投标方法、设备及存储介质 |
CN110730187A (zh) * | 2019-10-22 | 2020-01-24 | 全链通有限公司 | 基于区块链的交易验证方法、记账节点及介质 |
CN110827121B (zh) * | 2019-10-22 | 2023-08-18 | 全链通有限公司 | 基于区块链的电子投标方法、设备及存储介质 |
CN111159745B (zh) * | 2019-12-30 | 2023-04-07 | 深圳前海微众银行股份有限公司 | 一种适用于区块链的验证方法及装置 |
WO2021163960A1 (zh) * | 2020-02-20 | 2021-08-26 | 深圳市汇尊区块链技术有限公司 | 基于区块链的随机数生成方法、系统及存储介质 |
CN111343187B (zh) * | 2020-03-04 | 2022-04-05 | 开采夫(杭州)科技有限公司 | 以时空信息为函数模型的区块链数据加密方法 |
CN111429138A (zh) * | 2020-03-25 | 2020-07-17 | 中国工商银行股份有限公司 | 区块链节点数据安全交互方法及第一交互节点 |
CN111680311B (zh) * | 2020-05-28 | 2022-12-20 | 北京理工大学 | 一种基于区块链的数据交换系统及方法 |
CN111614693A (zh) * | 2020-05-28 | 2020-09-01 | 中国石油天然气集团有限公司 | 一种同类保密数据的传输方法及系统 |
CN111800791B (zh) * | 2020-06-29 | 2022-08-16 | 中国联合网络通信集团有限公司 | 认证方法及核心网设备、终端 |
CN113972984B (zh) * | 2020-07-24 | 2024-03-19 | 中国移动通信集团浙江有限公司 | ElGamal密文等价判断方法及装置 |
CN112653550A (zh) * | 2020-10-11 | 2021-04-13 | 黑龙江头雁科技有限公司 | 一种基于BlockChain的多项密钥管理方法 |
CN114430329B (zh) * | 2020-10-15 | 2024-03-19 | 中国移动通信集团浙江有限公司 | 一种数据鉴权认证方法、鉴权侧链节点及系统 |
CN112383389B (zh) * | 2021-01-08 | 2021-04-20 | 深圳索信达数据技术有限公司 | 一种区块链随机数生成方法及系统 |
CN112948675B (zh) * | 2021-02-26 | 2023-01-10 | 卓尔智联(武汉)研究院有限公司 | 数据处理方法、装置、电子设备及存储介质 |
CN113162915B (zh) * | 2021-03-16 | 2023-01-20 | 中国工商银行股份有限公司 | 基于区块链的交易方法、节点、电子设备、介质和系统 |
CN113051618B (zh) * | 2021-04-28 | 2022-07-12 | 电子科技大学 | 一种用于区块链的智能合约隐私数据处理系统及方法 |
CN113312646B (zh) * | 2021-06-22 | 2022-05-13 | 上海和数软件有限公司 | 一种基于区块链的数据加密方法 |
CN113888163B (zh) * | 2021-09-24 | 2024-07-16 | 国网上海市电力公司 | 基于完全同态加密的智能合约账单记录与处理方法 |
CN114567670B (zh) * | 2022-01-25 | 2024-04-05 | 浙江数秦科技有限公司 | 一种区块链网络数据传输方法 |
CN115037530B (zh) * | 2022-05-25 | 2024-03-26 | 淮阴工学院 | 基于区块链的密文去重和去中心化审计方法 |
CN117635333A (zh) * | 2024-01-11 | 2024-03-01 | 国网山东省电力公司电力科学研究院 | 区块链交易执行方法和区块链节点 |
CN118368153B (zh) * | 2024-06-20 | 2024-09-20 | 杭州靖安防务科技有限公司 | 一种数据安全传输系统和方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104320262A (zh) * | 2014-11-05 | 2015-01-28 | 中国科学院合肥物质科学研究院 | 基于加密数字货币公开账本技术的用户公钥地址绑定、检索和校验的方法及系统 |
CN105610578A (zh) * | 2016-01-25 | 2016-05-25 | 杭州复杂美科技有限公司 | 区块链信息存证及隐私保护方法 |
CN105743646A (zh) * | 2016-02-03 | 2016-07-06 | 四川长虹电器股份有限公司 | 一种基于身份的加密方法及系统 |
-
2016
- 2016-07-28 CN CN201610605476.7A patent/CN107666388B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104320262A (zh) * | 2014-11-05 | 2015-01-28 | 中国科学院合肥物质科学研究院 | 基于加密数字货币公开账本技术的用户公钥地址绑定、检索和校验的方法及系统 |
CN105610578A (zh) * | 2016-01-25 | 2016-05-25 | 杭州复杂美科技有限公司 | 区块链信息存证及隐私保护方法 |
CN105743646A (zh) * | 2016-02-03 | 2016-07-06 | 四川长虹电器股份有限公司 | 一种基于身份的加密方法及系统 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11824971B2 (en) * | 2016-09-10 | 2023-11-21 | Swiss Reinsurance Company Ltd. | Peer-to-peer transmission system with a controlled, double-tier cryptographic key structure |
Also Published As
Publication number | Publication date |
---|---|
CN107666388A (zh) | 2018-02-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107666388B (zh) | 基于完全同态加密方法的区块链信息加密方法 | |
CN108764874B (zh) | 基于区块链的匿名转账方法、系统及存储介质 | |
CN111008836B (zh) | 一种隐私安全转账支付方法、装置、系统及存储介质 | |
CN106845960B (zh) | 基于区块链的安全交易方法及系统 | |
CN107911216B (zh) | 一种区块链交易隐私保护方法及系统 | |
CN108711105A (zh) | 一种基于区块链的安全交易验证方法及系统 | |
Goldfeder et al. | Escrow protocols for cryptocurrencies: How to buy physical goods using bitcoin | |
JP2023036876A (ja) | ブロックチェーンにおけるコンピュータ実行方法、システム及び記憶媒体 | |
CN109840771A (zh) | 一种基于同态加密的区块链隐私保护系统及其方法 | |
CN109359974A (zh) | 区块链交易方法及装置、电子设备 | |
CN110428334A (zh) | 基于区块链网络的票据处理方法及装置 | |
CN107301521A (zh) | 一种基于区块链的仓单系统中加强仓单交易安全性的方法 | |
CN107423980A (zh) | 一种供应链上数据交易征信平台及方法 | |
CN106713336B (zh) | 基于双重非对称加密技术的电子数据保管系统及方法 | |
CN113988863B (zh) | 一种可监管的在线支付隐私保护方法及装置、电子设备 | |
CN111429138A (zh) | 区块链节点数据安全交互方法及第一交互节点 | |
JP2006246543A (ja) | キー寄託機能付き暗号システムおよび方法 | |
CN107545414A (zh) | 匿名交易方法、装置及计算机可读存储介质 | |
CN110458560A (zh) | 用于进行交易验证的方法及装置 | |
CN109815728A (zh) | 基于区块链的具有隐私保护的公平合同签署方法 | |
CN110380845A (zh) | 基于群组对称密钥池的量子保密通信联盟链交易方法、系统、设备 | |
CN109858904A (zh) | 基于区块链的数据处理方法和装置 | |
Gao et al. | Secure, fair and instant data trading scheme based on bitcoin | |
CN116703593A (zh) | 基于区块链的电子保函业务监管审批方法及系统 | |
CN110502931B (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 |