一种基于区块链的可追溯多用户密文图像检索方法技术

技术编号:34900945 阅读:16 留言:0更新日期:2022-09-10 14:06
本发明专利技术公开了一种基于区块链的可追溯多用户密文图像检索方案。基于区块链技术防止恶意云服务器返回错误的查询结果,并通过在加密图像中添加水印的方式来抵御恶意查询用户的威胁。区块链只需要存储加密的图像索引而非图像本身,这使得上传索引与检索图像的效率显著提高。加密过程采用代理重加密方法实现多用户场景下方案的可用性,并大大降低了图像所有者的通信和计算成本。的通信和计算成本。的通信和计算成本。

【技术实现步骤摘要】
一种基于区块链的可追溯多用户密文图像检索方法


[0001]本专利技术属于多用户密文图像检索
,涉及一种基于区块链的可追溯多用户密文图像检索方法。

技术介绍

[0002]随着现代科学技术的发展,“万物互联”的概念使得用户个体拥有的图像数据量越来越庞大。由于个体资源有限,人们更愿意将图像数据外包给云服务器。同时为了保证用户数据的安全,需要满足对图像数据进行加密,并在图像加密状态下进行搜索的条件。可搜索加密技术是当前场景下用户生成查询需求时常用的选项,保护用户存储在云服务器端数据安全的同时实现密文检索。然而,传统的密文查询技术可能会存在恶意云服务器的威胁,这种威胁可能导致云服务器返回错误的搜索结果。而区块链技术的应用可以合理地解决这一问题。区块链的每一个区块中保存了一定的信息,它们按照各自产生的时间顺序连接成链。区块链被保存在整个系统中的所有的服务器中,只要系统中有一台服务器可以工作,整条区块链就是安全的。根据区块链的特性,已经存在了部分基于区块链的密文查询技术,但这些现有技术仍然存在着部分问题。
[0003]现有的基于区块链的图像检索技术采用将图像上传到区块链的方式来抵御恶意云服务器的威胁。Meng Shen等人在其发表的论文“Privacy

Preserving Image Retrieval for Medical IoT Systems:A Blockchain

Based Approach”中提出了一种医疗物联网系统中基于区块链的图像检索方案,通过将图像上传到区块链存储的方式抵御恶意云服务器威胁。但这种方式带来的存储与时间成本非常高。同时,现有的方案也没有考虑到恶意的查询用户会将图像进行二次分发,从而侵犯图像拥有者版权的问题。

技术实现思路

[0004]本专利技术的目的就是提供一种基于区块链的可追溯多用户密文图像检索方法。基于区块链技术,通过添加水印的方式来抵御恶意查询用户的威胁。区块链只需要存储加密的图像索引而非图像本身,这使得上传索引与检索图像的效率显著提高。加密过程采用代理重加密方法,云服务器作为代理对加密后的图像进行转换。因此,云服务器可以将密文转换为需要每个图像用户自己的私钥才能解密的密文。从而实现了多用户设置,并大大降低了图像所有者的通信和计算成本。
[0005]本专利技术具体包括如下步骤:
[0006]步骤一、系统初始化:首先,输入一个安全参数λ,密钥生成中心生成双线性对参数prms=(G,G
T
,e,g,p),两个(d+α+1)
×
(d+α+1)维随机可逆矩阵M
A
和M
B
,一个(d+α+1)维随机二进制向量B
i
。为每一个图像拥有者生成密钥对K
o
=(pk
o
,sk
o
),为每一个图像用户生成密钥对K
u
=(pk
u
,sk
u
),其中密钥生成中心为每个图像拥有者生成水印密钥K
w
,并通过计算获得重加密密钥
[0007]步骤二、图像加密:图像拥有者拥有的图像集合IS={IS1,IS2,

,IS
n
},其中n代表图像拥有者拥有的图像总数。对图像进行加密之前,图像拥有者选择一个随机数然后图像拥有者对图像进行加密,得到图像密文最终生成一组图像密文集合IC={IC1,IC2,

,IC
n
},并将其发送到云服务器。
[0008]步骤三、生成索引:图像拥有者首先对图像集合IS={IS1,IS2,

,IS
n
}中每一张图像IS
i
通过CNN提取特征,得到的特征v
i
={v
i1
,v
i2
,

,v
id
},其中d是特征向量的维度。然后将v
i
扩展为v
ie
={v
i1
,v
i2
,

,v
id
,||v
i
||,x1,x2,

,x
α
},其中{x1,x2,

,x
α
}是随机二进制向量。v
ie
随后被切分为两个部分,分别是v
ie1
和v
ie2
。切分的结果由B
i
决定,即若B[k]=0,则v
ie1
[k]=v
ie2
[k]=v
ie
[k];否则v
ie1
[k]+v
ie2
[k]=v
ie
[k]。最后,图像拥有者获得加密索引对每个图像集合IS,图像拥有者生成索引集合Γ={v
i

e
,v2′
e
,

,v

ne
}并上传到区块链。
[0009]步骤四、生成水印:图像拥有者获取对应身份的指纹信息,并使用HMAC编码得到由0和1构成的字符串f
p
。确定一个嵌入强度θ和一组标准正态分布的扩频序列情况下,图像拥有者使用水印密钥K
w
通过流密码将序列加密为S。图像拥有者在有效长度l内计算水印w
i
=1+θ
·
S
i
·
(2p
i

1),其中i是水印w的比特数且i≤l。若l<i≤t,则w
i
=1,其中t是图像DCT序列的长度。图像拥有者的水印表示为w
o
,图像用户的水印表示为w
u
。图像拥有者获得自己身份的加密水印其中图像拥有者还为每个图像用户生成加密水印其中最终图像拥有者IO将生成的加密水印ew
o
和ew
u
发送给云服务器。
[0010]步骤五、生成陷门:图像用户用自己的查询图像生成陷门。首先,图像用户提取查询图像的特征向量v
q
={v
q1
,v
q2
,

,v
qd
},然后将v
q
扩展为v
qe
={v
q1
,v
q2
,

,v
qd
,||v
q
||,y1,y2,

,y
α
},其中{y1,y2,

,y
α
}是随机二进制向量。然后,图像用户根据B
i
对v
qe
进行切分。若B[k]=0,则v
qe1
[k]本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于区块链的可追溯多用户密文图像检索方法,其特征在于:具体包括如下步骤:步骤一、系统初始化:首先,输入一个安全参数λ,密钥生成中心生成双线性对参数prms=(G,G
T
,e,g,p),两个(d+α+1)
×
(d+α+1)维随机可逆矩阵M
A
和M
B
,一个(d+α+1)维随机二进制向量B
i
;为每一个图像拥有者生成密钥对K
o
=(pk
o
,sk
o
),为每一个图像用户生成密钥对K
u
=(pk
u
,sk
u
),其中密钥生成中心为每个图像拥有者生成水印密钥K
w
,并通过计算获得重加密密钥步骤二、图像加密:图像拥有者拥有的图像集合IS={IS1,IS2,

,IS
n
},其中n代表图像拥有者拥有的图像总数;对图像进行加密之前,图像拥有者选择一个随机数然后图像拥有者对图像进行加密,得到图像密文最终生成一组图像密文集合IC={IC1,IC2,

,IC
n
},并将其发送到云服务器;步骤三、生成索引:图像拥有者首先对图像集合IS={IS1,IS2,

,IS
n
}中每一张图像IS
i
通过CNN提取特征,得到的特征v
i
={v
i1
,v
i2
,

,v
id
},其中d是特征向量的维度;然后将v
i
扩展为v
ie
={v
i1
,v
i2
,

,v
id
,||v
i
||,x1,x2,

,x
α
},其中{x1,x2,

,x
α
}是随机二进制向量;v
ie
随后被切分为两个部分,分别是v
ie1
和v
ie2
;切分的结果由B
i
决定,即若B[k]=0,则v
ie1
[k]=v
ie2
[k]=v
ie
[k];否则v
ie1
[k]+v
ie2
[k]=v
ie
[k];最后,图像拥有者获得加密索引对每个图像集合IS,图像拥有者生成索引集合Γ={v

ie
,v

2e
,

,v
...

【专利技术属性】
技术研发人员:沈忠华毛晨阳刘勇孟倩陈克非王付群张仁军
申请(专利权)人:杭州师范大学
类型:发明
国别省市:

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

1