一种可逆元胞自动机图像加密的相似性度量方法与流程

文档序号:17986853发布日期:2019-06-22 00:28阅读:427来源:国知局
一种可逆元胞自动机图像加密的相似性度量方法与流程

本发明涉及图像处理的技术领域,尤其是指一种可逆元胞自动机图像加密的相似性度量方法。



背景技术:

随着云计算的发展,人们越来越热衷于将图像上传到云设备,以实现存取的灵活性和硬件成本的节约。尽管有着上述的好处,云计算还存在着很多的问题,其中令人们最为担忧的是图像隐私问题的泄露。保护图像隐私最好的方法是图像加密。因此,用户需要先对图像加密之后才将加密好的图像上传到云设备。现有的图像加密算法包括混沌加密、基于变换域的图像加密、基于元胞自动机或dna编码的图像加密等。正因为这些图像加密算法完全隐藏了原始图像的信息,它们可以很好地保护图像的隐私。图像加密这一特性同时也阻碍了在图像上进行处理运算的实施,例如图像相似性检索。由于图像相似性检索是图像处理中最重要和最普遍的任务之一,因此我们迫切需要开发一种支持加密域上能够实施相似性搜索的图像加密算法。

一些研究人员提出了基于可搜索对称加密的方法来实现图像的隐私保护相似性检索方法。这些方案首先直接从原始图像中提取特征,然后分别加密这些特征和图像。但是,特征提取/加密会增大用户的运算量。此外,加密特征的安全性和加密特征的相似性搜索这两方面的问题还有待进一步解决。因此,我们有必要提出一种可以直接对加密图像进行相似性搜索的图像加密,这种加密方法可以将特征的提取交付给云服务器进行。

基于同态加密的图像加密是支持加密图像上进行相似性检索的最重要方式之一。因此,有一些研究人员使用同态加密来加密图像,并从加密图像中提取安全的特征。尽管基于同态加密的加密图像检索可以获得更高的安全性,但是巨大的计算量和通信成本使得它们在实际应用当中难堪大任。

支持加密域上进行相似性检索的图像加密方法首先需要从加密图像中提取特征。这就需要我们权衡安全和检索的实用性两个有冲突的目标:是为了完整地保留图像特征来提高图像检索的精度,还是牺牲图像检索的精度来保证图像安全。现有的图像加密方法很难明确地解决上述困境。本发明基于可逆元胞自动机提出了两级粒度图像加密方法,很好地解决了这一难题。



技术实现要素:

本发明的目的在于克服现有技术的缺点与不足,提出了一种可逆元胞自动机图像加密的相似性度量方法,解决图像安全性和加密后进行图像检索这个两难性的问题,在保护图像安全的同时保证了在加密图像上检索的精度。

为实现上述目的,本发明所提供的技术方案为:一种可逆元胞自动机图像加密的相似性度量方法,包括以下步骤:

1)将图像i中的像素划分为两个像素集合级别的粒度ω1和ω2;

2)对于ω1中的每一个像素,根据基于可逆元胞自动机的确定性加密方法derca,利用基于像素的加密方法对其进行加密,经过对ω1中的像素进行加密之后获得加密的像素集合ω1e

3)根据基于可逆元胞自动机的确定性加密方法derca,利用基于像素集合的加密方法对像素集合ω2进行加密,获得加密的像素集合ω2e

4)将ω1e和ω2e中的像素放回相应的位置,得到图像ci;

5)对图像ci按照块的大小h×h进行分块,得到块集合{bi},其中bi表示图像ci中的第i块;块bi置乱之后用ebi表示,对图像ci的每块中的像素进行位置的置乱,得到图像ei;

6)对于灰色图像,ei为最后的加密图像;对于彩色图像,每个颜色通道需要按照步骤1)到步骤5)进行加密后,再连接起来,得到加密彩色图像ei;

7)对两张加密图像ei1和ei2按照步骤5)中的分块方式进行分块,得到加密的块集合{ebi1}和{ebi2};

8)计算集合{ebi1}中每一块与集合{ebi2}中每一块的相似性,ebi1与ebi2的相似性定义如下:

式中,分别表示块ebi1与ebi2在第k个颜色通道上像素值为v的像素的频数;如果利用累积直返图进行计算图像的相似性,则分别表示块ebi1与ebi2在第k个颜色通道上像素值不大于v的像素的频数;若加密图像为灰度图像,n为1;若加密图像为彩色图像,n为3;

9)利用步骤8)得到的每两块之间的相似性,计算集合{ebi1}中的每一块与加密图像ei2之间的相似性,其计算公式如下:

10)利用步骤9)得到的集合{ebi1}中的每一块与加密图像ei2之间的相似性,计算两张加密图像ei1和ei2的相似性,两张加密图像ei1和ei2的相似性的计算公式如下:

式中,nb为集合{ebi1}中大小为h×h的块的数目。

在步骤2)中,集合ω1中的每一个像素作为derca方法的输入明文进行加密,得到加密后的集合ω1e,其中,所述derca方法包括以下步骤:

2.1)输入明文q,设定可逆元胞自动机的两个初始状态c0=q、c1=q;

2.2)对q按照可逆元胞自动机加密规则f迭代t次,得到最终状态ct+1,ct+1的获取公式如下所示:

ct+1=f(ct,ct-1)

式中,ct为可逆元胞自动机在t时刻的状态,ct-1为可逆元胞自动机在t-1时刻的状态;

2.3)将可逆元胞自动机的最终状态定位为明文加密的结果qe进行输出。

在步骤3)中,将集合ω2中的所有像素视为一个整体,作为derca方法的输入明文进行加密,得到加密后的集合ω2e

在步骤5)中,对经过像素加密的图像进行像素位置的置乱之前先将此图像进行分块;接着利用混沌函数产生一个混沌序列x,对此混沌序列进行排序得到索引序列idx;然后根据此索引序列idx对每一块内像素的位置进行置乱;在经过像素加密的图像中的每一块经过置乱之后即可得到加密图像;块bi与块ebi内的像素的关系如下式所示:

ebi(τ):=bi(idx(τ))

式中,τ为像素按列优先排列的位置。

本发明与现有技术相比,具有如下优点与有益效果:

1、我们提出derca使得原始图像与加密图像的颜色直方图具有多对一映射关系,这个是支持加密图像上进行相似性检索的基础。

2、提出的两级粒度图像加密算法很好地解决了安全和实用的两难性问题。两级粒度中的基于像素级别的加密方法保留了原始图像部分的颜色直方图,保证了在加密图像上进行图像检索的精度;基于像素集合级别的加密方法有效地保证了原始图像颜色直方图的泄露。

3、基于分块和混沌函数的置乱方法同时提高了图像安全和加密图像的检索精度。

附图说明

图1是本发明的图像加密流程图。

图2是根据derca所提出的基于像素级别的加密方法和基于像素集合级别的加密方法示例图。

图3是图像的分块方案。

图4是置乱序列索引获得方法的示例。

具体实施方式

下面结合具体实施例对本发明作进一步说明。

如图1所示,本实施例所提供的可逆元胞自动机图像加密的相似性度量方法,对于图像i中的元素划分为两个像素集合,分别用基于像素级别的加密方法和像素集合级别的加密方法对其中的像素进行加密,得到ci;对ci进行块内的像素置乱即可得到ei。其具体包括如下主要技术点:

s1、基于可逆元胞自动机的确定性加密(derca)

将任意粒度明文q视为一个元胞自动机作为derca的输入,经过derca的加密之后即可得到在相应粒度的输入对应的确定性加密值qe。其算法步骤如下:

s11、输入明文q,设定可逆元胞自动机的两个初始状态c0=q、c1=q;

s12、对q按照可逆元胞自动机加密规则f迭代t次,得到最终状态ct+1,ct+1的获取公式如下所示:

ct+1=f(ct,ct-1)

式中,ct为可逆元胞自动机在t时刻的状态,ct-1为可逆元胞自动机在t-1时刻的状态;

s13、将可逆元胞自动机的最终状态定位为明文加密的结果qe进行输出。

s2、像素加密

s21、将具有相同像素值的像素视为一个类,每个类按照预设好的比例(1-q):q进行划分,则图像i中的像素分别归于像素集合ω1和ω2中。

s22、将集合ω1的每个像素视为一个可逆元胞自动机作为derca的输入进行加密,可以得到加密集合ω1e。此加密过程示例参见附图2中的(a)。

s23、将集合ω2的像素视为一个可逆元胞自动作为derca的输入进行加密,可以得到加密集合ω2e。此加密过程示例参见附图2中的(b)。

s24、将集合ω1e和ω2e中的像素放回相应的位置,即可得到图像ci。

s3、像素位置置乱

s31、给定块的大小h×h,将ci按照附图3进行分块,得到块的集合{bi}。

s32、对大小为r×c的块bi中的像素按照以下步骤进行置乱:

s321、迭代logistic-logistic混沌函数(r×c+100)次,舍弃前100个数值可以得到一个混沌序列x。logistic-logistic混沌函数为:

xn+1=u×xn×(1-xn)×214-floor(u×xn×(1-xn)×214)

其中,xn表示混沌序列中的第n项,取值范围为[0,1),u为混沌函数的参数,取值范围为(0,10]。

s322、对x按照从大到小进行排列,得到索引序列idx。这一过程示例如附图4所示。

s323、假设块bi置乱后为块ebi,则两者之间的像素关系为ebi(τ):=bi(idx(τ)),τ取值从1到r×c。

s33、ci中的每一块bi置乱之后可以得到加密图像ei。

s4、两个加密图像ei1和ei2相似性的计算

相似性度量两个加密图像的相似程度。其具体过程和计算方法如下所示:

s41、对两张加密图像ei1和ei2按照像素置乱阶段的分块方法进行分块,得到加密块集合{ebi1}和{ebi2}。其中ebi1表示ei1的第i块,ebi2表示ei2的第j块。

s42、计算集合{ebi1}中每一块与集合{ebi2}中每一块的相似性。ebi1与ebi2的相似性定义如下:

通常,分别表示块ebi1与ebi2在第k个颜色通道上像素值为v的像素的频数。如果利用累积直返图进行计算图像的相似性,则分别表示块ebi1与ebi2在第k个颜色通道上像素值不大于v的像素的频数。若加密图像为灰度图像,n为1;若加密图像为彩色图像,n为3。

s43、利用第二步所得到块ebi1与集合{ebi2}内块的相似性,取相似性的最大值作为块ebi1与加密图像ei2的相似性,其计算公式如下所示:

s44、按以下公式计算加密图像ei1和ei2之间的相似性:

其中,nb为加密图像ei1阴影部分的块数。在这里我们需要注意的是,由于图像的主要内容集中于图像的中心区域,在计算两张加密图像的相似性的时候只考虑大小为h×h的块。在实际应用当中,我们将搜索的加密图像视为ei1,云服务器中的加密图像视为ei2。再者,我们在计算两张加密图像的相似性的时候同时应用了一般颜色直方图和累积颜色直方图,将两者的相似性计算结果的均值作为两张加密图像的相似性结果。

以上所述实施例只为本发明之较佳实施例,并非以此限制本发明的实施范围,故凡依本发明之形状、原理所作的变化,均应涵盖在本发明的保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1