System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 基于区块链具有前向安全的可搜索加密方法、存储介质及计算机设备技术_技高网

基于区块链具有前向安全的可搜索加密方法、存储介质及计算机设备技术

技术编号:41251525 阅读:4 留言:0更新日期:2024-05-09 23:59
本发明专利技术公开了一种基于区块链具有前向安全的可搜索加密方法,包括:初始化生成公共参数和数据使用者的密钥对;数据拥有者DO加密共享的文件得到文件密文,并上传至云服务器CS;云服务器CS返还文件密文的地址集D给数据拥有者DO;将文件的地址集D加密得到密文地址集C;构建索引Ind以及存储结构,更新得到映射BLOCK上传至区块链网络BS;数据使用者DU生成目标关键字ω<subgt;0</subgt;的陷门并发送给区块链网络BS,触发智能合约执行搜索,检验陷门T<subgt;ω</subgt;与索引Ind的访问控制策略的匹配情况,获取搜索匹配的结果集合W;数据使用者DU对结果集合W进行解密后上传云服务器,云服务器CS根据解密的结果,匹配相应的文件返回给数据使用者DU;本发明专利技术能够保证数据的前向安全性,保证搜索结果正确可靠。

【技术实现步骤摘要】

本专利技术涉及区块链和可搜索加密,尤其涉及一种基于区块链具有前向安全的可搜索加密方法、存储介质及计算机设备


技术介绍

1、随着云计算及大数据的流行,越来越多的敏感数据集中到云端,信息共享在我们的生活中无处不在,数据的安全和用户的隐私保护就成为一个重要的课题。为了保证数据安全和用户隐私,数据一般是以密文形式存储在云端服务器中,但是用户将会遇到如何在密文上进行查找的难题。可搜索加密(searchable encryption,se)一种支持用户在密文上进行关键字查找的密码学原语,它能够为用户节省大量的网络和计算开销,并充分利用云端服务器庞大的计算资源进行密文上的关键字查找。

2、可搜索加密作为一种很有前途的加密原语,致力于在不牺牲数据可搜索性的情况下保证数据的机密性,适合解决云存储环境中的数据安全性问题。但是,现有的加密方法大多存在易受自适应泄漏攻击或不能满足实际应用效率要求的问题,特别是可搜索公钥加密方法。传统可搜索加密方法中多数使用中央搜索云服务器,但中央服务器可以不受限制地执行陷门测试和密文匹配,这种能力过于强大且无法监督,存在单点故障问题。


技术实现思路

1、本专利技术的目的在于,提供一种基于区块链具有前向安全的可搜索加密方法、存储介质及计算机设备,能够保证数据的前向安全性,提供正确的陷门以保证搜索数据的正确性和可靠性,并基于区块链网络智能合约实现去中心化,消除了对中央搜索云服务器的需求。

2、为达到上述目的,本专利技术采用下述技术方案实现:

<p>3、第一方面,本专利技术提供一种基于区块链具有前向安全的可搜索加密方法,包括:

4、全局初始化,密钥生成中心生成并发布公共参数,数据使用者du根据公共参数分别生成公钥kpub和私钥kpriv;

5、数据拥有者do对共享的文件进行预处理,获取预处理的结果;对共享的文件进行加密得到文件密文,上传至云服务器cs;云服务器cs接收文件密文后,将文件密文的地址集d返还给数据拥有者do;

6、数据拥有者do将文件密文的地址集d映射到椭圆曲线上得到地址映射点集m,并基于公钥kpub对地址映射点集m加密得到密文地址集c;构建索引ind以及存储结构,并根据索引ind和存储结构更新得到映射block,将映射block上传至区块链网络bs;

7、在数据使用者du进行搜索时,数据使用者du通过公共参数、公钥kpub和私钥kpriv生成目标关键字ω0的陷门并发送给区块链网络bs;

8、区块链网络bs基于智能合约执行搜索,检验陷门tω与索引ind的访问控制策略的匹配情况,获取搜索匹配的结果集合w;

9、数据使用者du使用私钥kpriv对搜索匹配的结果集合w进行解密获取解密数据,并发送至云服务器cs;

10、云服务器cs根据解密数据,匹配相应的文件返回给数据使用者du。

11、可选的,所述全局初始化,密钥生成中心生成公共参数发动给数据使用者du和数据拥有者do,数据使用者du根据公共参数生成公钥kpub和私钥kpriv,包括:

12、密钥生成中心基于安全参数λ生成公共参数,所述公共参数包括三个抗碰撞哈希函数(h1,h2,h3)、伪随机函数f、椭圆曲线e和公共缓冲区buffer;其中,哈希函数为h1:{0,1}*→{0,1}λ、h2:{0,1}*→{0,1}1+logn+2λ和h3:{0,1}*→{0,1}2λ;e为有限域zp内的椭圆曲线,其阶数为大素数p,p>2λ;伪随机函数为f:{0,1}λ×{0,1}λ→{0,1}λ;公共缓冲区是buffer={cntω1,cntω2...cntωn},ω为关键字,ω1,ω2...ωn为n个不同的关键字,cnt为文件块数;

13、基于椭圆曲线e生成数据使用者du的公钥kpub和私钥kpriv,如下:

14、kpub=(e,zp,p,q)

15、kpriv=s

16、其中:q=sp为椭圆曲线e上的一个点,是数据使用者du的公钥kpub的一部分,p为椭圆曲线e上的一个具有大素数阶的点,s为秘密整数。

17、可选的,所述数据拥有者do对共享的文件进行预处理,获取预处理的结果;对共享的文件进行加密得到文件密文,上传至云服务器cs;云服务器cs接收文件密文后,将文件密文的地址集d返还给数据拥有者do,包括:

18、数据拥有者do对共享的文件doc进行预处理,获取预处理结果;其中,预处理包括:提取文件的关键字ω,记录对应操作集op;预处理结果包括:关键字ω和对应操作集op(op1,op2...opn);

19、基于数据拥有者do的文件加密密钥,对文件进行加密得到文件密文doc,并上传至云服务器cs;

20、云服务器cs向数据拥有者do返回文件地址d,数据拥有者do将文件地址d与文件的关键字ω进行关联,得到文件密文的地址集d;

21、可选的,所述基于公钥kpub对地址映射点集m加密得到密文地址集c,包括:

22、基于地址映射点集m(m1,m1...mn),获取明文mi,所述明文mi是地址映射点集m的一个点;

23、随机生成大整数z;

24、基于大整数z和明文mi,计算得到密文地址集c,计算公式为:

25、i=-mi-zp

26、j=zq-2mi

27、ci=(i,j),i∈n

28、c=(c1,c2...cn)

29、其中:ci为密文地址集c中的一个密文地址,p为椭圆曲线e上的一个具有大素数阶的点,q为椭圆曲线e上的一个点,是数据使用者du的公钥kpub的一部分。

30、可选的,所述构建索引ind以及存储结构,并根据索引ind和存储结构更新得到映射block,包括:

31、基于数据使用者du的公钥kpub与大整数z,得到索引ind,公式为:

32、r=(1-z)p

33、s=(z-1)q

34、ind=(r,s)

35、数据拥有者do通过数据使用者du的公钥kpub计算出关键字ω的状态信息sω←f(kpub,ω);

36、取出公共缓冲区buffer与关键字ω对应的文件块数cnt,当cnt=null,则表示的链式结构中还没有地址数据,此时令cnt←0,最新状态state0←null,结点密钥;当cnt≠null,则表的链式结构中已有地址数据,此时取出开始结点的状态statei;

37、创建每一个地址数据的结点,并生成该结点的状态state*和内容block;

38、state*←h1(sω||cnt)

39、

40、其中:h1、h2为步骤s31求出的哈希函数,opi为该结点的操作方式即添加或删除;

41、所有地址数据的结点创建成功后,重新计算头结点;头结点的内容

42、将该结点内容blo本文档来自技高网...

【技术保护点】

1.一种基于区块链具有前向安全的可搜索加密方法,其特征在于,包括:

2.根据权利要求1所述的基于区块链具有前向安全的可搜索加密方法,其特征在于,密钥生成中心生成并发布公共参数,数据使用者DU根据公共参数分别生成公钥Kpub和私钥Kpriv,包括:

3.根据权利要求1所述的基于区块链具有前向安全的可搜索加密方法,其特征在于,所述数据拥有者DO对共享的文件进行预处理,获取预处理的结果;对共享的文件进行加密得到文件密文,上传至云服务器CS;云服务器CS接收文件密文后,将文件密文的地址集D返还给数据拥有者DO,包括:

4.根据权利要求1所述的基于区块链具有前向安全的可搜索加密方法,其特征在于,所述基于公钥Kpub对地址映射点集M加密得到密文地址集C,包括:

5.根据权利要求4所述的基于区块链具有前向安全的可搜索加密方法,其特征在于,所述构建索引Ind以及存储结构,并根据索引Ind和存储结构更新得到映射BLOCK,包括:

6.根据权利要求1所述的基于区块链具有前向安全的可搜索加密方法,其特征在于,所述数据使用者DU通过公共参数、公钥Kpub和私钥Kpriv生成目标关键字ω0的陷门包括:

7.根据权利要求1所述的基于区块链具有前向安全的可搜索加密方法,其特征在于,所述区块链网络BS基于智能合约执行搜索,检验陷门Tω与索引Ind的访问控制策略的匹配情况,获取搜索匹配的结果集合W,包括:

8.根据权利要求1所述的基于区块链具有前向安全的可搜索加密方法,其特征在于,所述数据使用者DU使用私钥Kpriv对搜索匹配的结果集合W进行解密获取解密数据,包括:

9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时,实现如权利要求1-9任一项所述的基于区块链具有前向安全的可搜索加密方法的步骤。

10.一种计算机设备,其特征在于,包括:

...

【技术特征摘要】

1.一种基于区块链具有前向安全的可搜索加密方法,其特征在于,包括:

2.根据权利要求1所述的基于区块链具有前向安全的可搜索加密方法,其特征在于,密钥生成中心生成并发布公共参数,数据使用者du根据公共参数分别生成公钥kpub和私钥kpriv,包括:

3.根据权利要求1所述的基于区块链具有前向安全的可搜索加密方法,其特征在于,所述数据拥有者do对共享的文件进行预处理,获取预处理的结果;对共享的文件进行加密得到文件密文,上传至云服务器cs;云服务器cs接收文件密文后,将文件密文的地址集d返还给数据拥有者do,包括:

4.根据权利要求1所述的基于区块链具有前向安全的可搜索加密方法,其特征在于,所述基于公钥kpub对地址映射点集m加密得到密文地址集c,包括:

5.根据权利要求4所述的基于区块链具有前向安全的可搜索加密方法,其特征在于,所述构建索引ind以及存储结构,并根据索引ind和存储结...

【专利技术属性】
技术研发人员:张博文王化群王少辉
申请(专利权)人:南京邮电大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1