一种基于区块链和同态加密的数据查询方法、装置及介质与流程

专利2025-07-07  33


本发明涉及数据处理,具体涉及一种基于区块链和同态加密的数据查询方法、系装置及存储介质。


背景技术:

1、区块链是一个去中心化的账本,具有数据不可更改、安全性高和公开透明等特点;而智能合约是基于区块链技术的一种自动执行的代码,是其上执行的程序,以完全公开透明的方式执行;即,区块链和智能合约是保证系统公开透明执行的最佳方式。

2、随着网络技术的发展,各种业务所产生的数据量急剧增加。在业务处理过程中,通常会涉及数据存储及基于存储的查询。但在数据查询过程中,数据会在设备之间传输,不可避免会带来数据安全问题。同时,查询结果的准确性如何保障,也是热点关注的问题。


技术实现思路

1、本发明实施例的目的在于提供一种基于区块链和同态加密的数据查询方法、装置及存储介质,以确保查询结果的准确性及查询双方的隐私性。

2、为实现上述目的,第一方面,本发明实施例提供了一种基于区块链和同态加密的数据查询方法,包括:

3、区块链接收被查询方的公钥h1、查询方的公钥h2、索引序列明文的同态数hnki和索引对应的数据的同态数hnvi;

4、所述区块链响应于查询方的查询请求;所述查询请求包括查询方的索引同态数hnk;

5、若查询结果为查询命中且索引同态数hnk与链上存储的索引列表匹配,则基于查询方的公钥h2和链上存储的同态数hnvi使得被查询方为查询方提供所述查询请求对应的数据。

6、作为本申请的一种具体实现方式,区块链接收被索引序列明文的同态数hnki和索引对应的数据的同态数hnvi具体为:

7、被查询方将所有索引的明文进行排序,得到索引序列明文ki,该索引序列明文ki对应的数据分别为vi;

8、被查询方使用公钥h1对索引序列明文ki和对应的数据vi加密,生成索引序列明文的同态数hnki和索引对应的数据的同态数hnvi,并上链。

9、作为本申请的一种具体实现方式,被查询方为查询方提供所述查询请求对应的数据,具体为:

10、被查询方调用查询方的公钥h2对数据vi加密,生成同态数hnv,同时记录生成该同态数hnv所使用的随机数y;

11、被查询方调用算法一生成新相等证明;所述算法一为以两个同态数hnvi,hnv、生成第一个同态数所使用的私钥x以及生成第二个同态数所用的随机数y作为输入,输出新相等证明;

12、被查询方将同态数hnv和新相等证明提交至智能合约进行验证;

13、若验证通过,查询方从链上下载同态数hnv,并采用查询方的私钥x解密同态数hnv,得到查询结果。

14、其中,被查询方将同态数hnv和相等证明提交至智能合约进行验证,具体为:

15、智能合约调用算法二进行验证;所述算法二为以链上存储的同态数hnvi、被查询方提交的同态数hnv和新相等证明作为输入,输出布尔值;若布尔值为真,则验证通过,说明提交合法,否则说明提交失败。

16、第二方面,本发明实施例提供了另一种基于区块链和同态加密的数据查询方法,包括:

17、被查询方生成索引序列明文的同态数hnki和索引对应的数据的同态数hnvi,并上链;

18、被查询方从链上获取查询方所提交的查询索引同态数;

19、被查询方根据所述查询索引同态数进行索引名单确认,若命中,则得到所述查询索引同态数所对应的明文数据vi;

20、被查询方采用查询方的公钥h2对明文数据vi加密以生成同态数hnv,并生成新相等证明;

21、被查询方将同态数hnv和新相等证明提交至智能合约进行验证;

22、若验证通过,查询方从链上下载同态数hnv,并采用查询方的私钥x解密同态数hnv,得到查询结果。

23、第三方面,本发明实施例还提供了一种基于区块链和同态加密的数据查询装置,包括处理器、输入设备、输出设备和存储器,所述处理器、输入设备、输出设备和存储器相互连接,其中,所述存储器用于存储计算机程序,所述计算机程序包括程序指令,所述处理器被配置用于调用所述程序指令,执行上述第二方面的方法。

24、第四方面,本发明实施例还提供了一种计算机可读存储介质,其内存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行上述第二方面的方法。

25、实施本发明实施例,优点如下:

26、(1)本发明实施例的数据查询方案,其查询过程基于区块链执行;具体地,数据拥有方将所有的索引和数据配对后上传至区块链进行存证,查询方通过向区块链针对某索引提出查询请求,区块链能够返回查询索引对应的数据;可实现被查询方无法伪造查询结果,确保了查询结果的准确性。

27、(2)所有索引和数据应以加密的形式存在区块链上,任何人无法直接获取相关信息,能够保护被查询方的隐私;同时,该方案还能够实现查询方查询内容的隐私保护,除了被查询方和查询方任何人无法直接获取此次查询的索引和对应的数据。

28、(3)相比于其他著名的零知识证明方案如zk-snark,本发明所用同态加密结合的零知识证明方案不需要依赖可信第三方进行可信设置,且拥有更小的链上开销:证明的长度和链上时间复杂度均为常数级别。



技术特征:

1.一种基于区块链和同态加密的数据查询方法,其特征在于,包括:

2.如权利要求1所述的数据查询方法,其特征在于,区块链接收被索引序列明文的同态数hnki和索引对应的数据的同态数hnvi具体为:

3.如权利要求1所述的数据查询方法,其特征在于,被查询方为查询方提供所述查询请求对应的数据,具体为:

4.如权利要求3所述的数据查询方法,其特征在于,被查询方将同态数hnv和相等证明提交至智能合约进行验证,具体为:

5.一种基于区块链和同态加密的数据查询方法,其特征在于,包括:

6.如权利要求5所述的数据查询方法,其特征在于,被查询方生成同态数hnki和同态数hnvi,具体为:

7.如权利要求5所述的数据查询方法,其特征在于,生成同态数hnv之后,所述数据查询方法还包括记录生成同态数hnv所使用的随机数y;

8.如权利要求5所述的数据查询方法,其特征在于,将同态数hnv和相等证明提交至智能合约进行验证,具体为:

9.一种基于区块链和同态加密的数据查询装置,其特征在于,包括处理器、输入设备、输出设备和存储器,所述处理器、输入设备、输出设备和存储器相互连接,其中,所述存储器用于存储计算机程序,所述计算机程序包括程序指令,所述处理器被配置用于调用所述程序指令,执行如权利要求5-8任一项所述的方法。

10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行如权利要求5-8任一项所述的方法。


技术总结
本发明实施例公开了一种基于区块链和同态加密的数据查询方法及装置。方法包括:区块链接收被查询方的公钥、查询方的公钥、索引序列明文的同态数和索引对应的数据的同态数;区块链响应于查询方的查询请求;若查询结果为查询命中且索引同态数hnk与链上存储的索引列表匹配,则被查询方为查询方提供查询请求对应的数据。本发明可实现被查询方无法伪造查询结果,确保了查询结果的准确性;能够实现被查询方和查询方查询内容的隐私保护;所用同态加密结合的零知识证明方案不需要依赖可信第三方进行可信设置,且拥有更小的链上开销。

技术研发人员:曾驭龙,张金波,王宸敏,范学鹏,汤载阳
受保护的技术使用者:北京熠智科技有限公司
技术研发日:
技术公布日:2024/11/11
转载请注明原文地址: https://tieba.8miu.com/read-15620.html

最新回复(0)