1. 引言
随着云计算的诞生与发展,其涉及的信息安全问题越来越受到人们的重视。处理用户的隐私数据成为了信号处理领域的一大热点,且能够实现数据的安全管理、传输、与处理工作变得至关重要。涉及一些个人用于个人身份识别的信息如虹膜、指纹、面部特征等成为研究的热点,相较而言掌纹具有更多的主线、皱纹、脊和细节点等特征,并且拥有非侵入性和高成本效益的优点,我们提出了一种由服务器端在加密状态下对掌纹进行自适应提升小波运算以及特征提取的过程。另外与媒体、版权许可相关的数字水印等信息,作为不可见水印镶嵌入产品时具有隐秘性,作为保护信息安全以及辨别版权真伪的关键信息,数字水印尤其是不可见水印有十分广泛的应用背景,我们所提出的加密信息处理方案同样可以应用于加密水印的嵌入和提取,即服务器端在加密图片上直接嵌入不可见水印,并且可以从中直接提取加密后的水印。在方案的实施过程中,针对可能出现的数据非整数,非正数,数域可能出现扩充等问题进行了研究和探讨,并且介绍了实验过程中必不可少的同态加密域数值比较的方法。
2. Pallier同态加密域
2.1. 同态加密域系统
同态加密系统主要由RSA [1] ,ElGamal [2] ,Paillier [3] 和Damgard-Jurik [4] 等加密算法系统组成,本文所提出的自适应提升小波方案是基于Paillier同态加密域的算法方案。
同态加密系统由Rivest等人提出,利用这样的系统可以在不对信息解密的前提下处理加密后的信息 [5] ,显然地,找出明文和密文之间的代数计算关系是同态加密运算的关键。现有的同态加密系统都有其对应的计算方法变换法则,根据对应变换法则的特点可以将同态加密域分为加法同态加密和乘法同态系统,Pascal Paillier提出的Pailler同态系统具有加法同态性 [3] ,近年来被广泛应用在安全信息处理领域,而针对自适应提升小波原本的计算方法与加法同态的性质,我们选择该加密域进行研究与实验。Paillier加密系统的运算法则在下小节介绍。
2.2. 加密同态性与计算规则
加法同态性可以被描述为明文域的加法运算转换到密文域后变为乘法运算,令
和
表示明文,E[´]表示加密过程,D[´]表示解密过程,{pk, sk}表示一对秘钥,分别对应公钥和私钥,加密算法的加法同态性可以表示为:
(1)
文献 [6] 较详细地介绍了基于第三类陷阱门技术的一种陷阱门机制,它是复合剩余类问题的一种,除了具有加法同态性,该方法同时也具有随机自约性和自束性,因此即使不改变明文也可以得到不同的密文,研究主要用到其加密的过程,这里仅介绍算法计算规则部分。
2.2.1. 秘钥机制
参数p和q为两个大质数并计算它们的乘积,得到N = pq,这样所得到的N很大以至于很难被分解,非零基整数g随机取
的子集,使其满足N整除g的阶
,通常为了方便起见,g可以取值为N + 1。公钥
由g和N共同组成,满足条件:
,式中l cm代表最小公倍数。
2.2.2. 加密过程
规定明文m的范围为m < N,之后随机选取一个整数r < N,可以得到加密运算过程为:
(2)
其中c表示密文
。
2.2.3. 解密过程
令密文满足c < N2,明文m可以根据以下公式计算得到:
(3)
其中
。
特别地,根据公式(2)和(3)我们可以得到以下关系式:
(4)
(5)
(6)
3. 同态加密特征提取算法
上小节对Paillier同态加密过程进行了基本算法介绍,本节在此基础上提出了相应的同态加密域下的自适应提升小波和LBP策略,在研究过程中同样关注了同态加密域的数值比较问题。
3.1. 同态自适应提升小波方案
通过对自适应提升小波算法的运算过程进行分析 [7] ,结合Paillier加密系统的加法同态性,我们提出了在同态加密域内实现该方案的具体方法:
首先,用户对大小为
原明文图像函数
按照公式(2)进行加密运算,之后得到相同大小的加密后图像
(下标“e”表示加密域的参数,下文中出现同样适用),将其传送给服务器端后,服务器端在加密的情况下对密文进行相应的小波运算,特征提取等处理攻错。与传统提升小波的计算过程相类似的,本方案的准备工作为图像的像素奇偶位置重组,我们将从
分离得到4个密文图像子块:
,
,
,
。为使该方案在明文域得到二值决策矩阵
,八个方向相邻像素均值和偏差值关系表,需要经过以下的运算过程:
(7)
(8)
在公式(7)和(8)的基础上可以得到二值决策阵
的算法:
(9)
其中T为阈值我们可以根据具体情况和需要进行调整。
近似信号
被定义为:
(10)
其中U为更新因子,被定义为:
(11)
预测参数可以根据以下公式得到:
(12)
(13)
(14)
根据上述的公式,细节信号参数
,
和
可以被定义为:
(15)
(16)
(17)
求得估计信号
和细节信号参数
,
和
的过程包括了四则运算和绝对值运算,显然如果我们对整数进行加减乘运算并不会得到带小数的结果,但是从公式(7)~(17)可以看出,计算过程中同样包含了除法运算,因此我们无法确保计算结果都是整数,公式(9)包含了绝对值运算和两个数之间比较大小的问题,上述提到的运算在明文域进行都是十分方便的,但由于同态加密域中所有参与运算的参数和数据必须以整数形式表达出来这一特点,在同态加密系统中完成上述运算是一项重要且艰巨的挑战。
基于从加密后图像
分离出来的子图像
,
和
,通过对
和T值扩大8倍的运算,我们可以得到同态加密域下的二值决策矩阵
(实际上与明文域下的D相同)。具体方法如下:令
,
,
其中Q = 8,再根据式(4)~式(8),可推导出如下计算公式:
(18)
(19)
其中,加密域下的绝对值运算
可以被表示为:
(20)
式中的
表示
的模逆。
同态加密域的二值决策矩阵
被定义为:
(21)
其中
。如果将所有参数同时扩大相同倍数,他们的数值之间的大小关系并不会发生改变,进行这样运算相当于扩充了仅是为了确保加密域下的所有参数为整数,因此不难得知
与
的值实际上是相同的。本文的3.3小节对同态比较方法进行了介绍。
为了在随后的计算过程中同样避免小数的产生,该运算过程中需要首先将明文域原图像素扩大16倍,并根据公式(4)~(6)的同态法则将相应的运算过程转换至密文域中。当从密文图像
求得决策矩阵
之后,可以得到同态加密域下的近似信号
为:
(22)
其中
,原计算公式(12)~(17)可以按法则转换到同态加密系统下,依次为:
(23)
(24)
(25)
(26)
(27)
(28)
其中,式(26)~(28)中的Q = 16。为了在加密域直接进行图像重构,根据式(26)~(28)中绝对值运算的过程,需要保留运算过程中的数值大小关系矩阵
,
和
。图1(a),图1(b)分别给出了加密域下的自适应提升小波运算步骤和其逆运算的步骤。
(a)
(b)
Figure 1. (a) Lifting scheme in encrypted domain; (b) Reversed scheme in encrypted domain
图1. (a)加密提升小波方案;(b)加密小波逆运算方案
3.2. 同态加密LBP方案
LBP (local binary patterns)是一种局部特征算子,近年来被广泛应用于图像的识别工作当中 [8] [9] [10] ,LBP算法的基本思想是:将图片分成数个小区域,选区每个区域中的中心点像素的灰度值作为一个阈值,取中心点邻近像素的值与阈值进行对比,根据比较的结果对图像像素进行某种规则的编码。图2是中心
像素与其邻近像素的示意图,其中
表示中心像素,
为邻近像素,这里选取径向距
离R = 1,p = 8,表示编码方式考虑8个不同方向,由此,每个中心像素点的编码过程可以表示如下:
(29)
其中,门限函数
[11] ,大于等于中心点像素则赋值为1,小于则赋0值,编码顺序可以
采取顺时针或逆时针任意一种形式,并根据公式进行加权求和运算得到直方图,保留直方图中的有效数据作为特征向量进行接下来的识别工作。

Figure 2. The neighbor sets for p = 8, R = 1in clockwise
图2. p= 8,R = 1相邻像素顺时针编码示意图
要在加密域进行LBP运算的核心问题依然是同态加密域下的两个数值比较大小的问题,3.3节详细介绍了所要用到的同态加密域下的比较大小策略,在我们用该方法求出加密域的
的值后,式(29)依旧可以用相同的形式来计算密文图像没一个中心像素的LBP值。
3.3. 同态数值比较策略
对于加密域两个密文数值大小比较:
,
,用户需要发送
,
至服务器,并且将密文域从0到
划分为k个区间,区间的个数取决于用户在明文域的门限设置
。用户需要首先将数个门限值
进行加密为
:
(30)
其中ru分别等于r1和r2,
。根据文献 [8] ,同态比较的原则是找到加密数据在整个数据段中
的位置,即被
分段后所处的段位,根据公式(4)不难得出,
可以通过计算逐步步长Inc接近门限
来得到。很明显,
与
之间的距离可以通过给
逐步乘
直到
,
这样的方式来进行度量。具体的比较策略如下:
(31)
其中su表示与密文cu数值上最接近的门限值,du衡量了与最接近的门限值之间的距离,因此通过两个密文我们可以得到两组数据
和
,密文c1和c2之间的数值大小关系比较方法为:如果s1 > s2,则c1 > c2;如果s1 < s2,则c1 < c2,如果得到的结果是s1 = s2,则比较的结果取决于du的值:
(32)
以上介绍的同态数值大小的比较方法可以用于加密系统的绝对值运算,LBP运算,以及后续实验中要将用到的K近邻分类方法的计算过程中。
4. 仿真实验
4.1. 重构实验
图3(a)为大小为512 × 512的灰度图像“peppers”作为我们重构实验的原图像信号,用两个大质数将其加密之后并按照2.1节提出的加密提升小波算法进行处理,并且按照公式(18)~(28)的逆运算逐步进行图像的重构过程,这里不重复介绍逆运算的细节,图3(a)~(d)分别展示了原图像,加密后的图像,重构后的加密图像以及解密后的重构图像,实验过程中MIM方案 [12] 用于减少数域的扩充问题,也就是在运算中利用MIM进行数据的除法运算,从而消除了扩张因子Q对数域扩充的影响。从图3(a)和图3(d)我们可以看出,两张图片在相同位置具有相同的像素值,这意味着解密后的重构图像与原图像完全相同,整个加密重构过程并没有出现失真的问题。
(a)
(b)
(c)
(d)
Figure 3. (a) Original gray-scale image; (b) Encrypted image; (c) Reconstruction image; (d) Decryption of reconstruction image
图3. (a) 原灰度图像;(b) 加密后的灰度图像;(c) 加密域重构图像;(d) 解密的重构图像
4.2. 水印实验
利用我们提出的自适应提升小波策略,同样在加密域进行了图像的水印实验,本次实验采用了文献 [13] 中所介绍的水印嵌入方式,嵌入水印的公式为:
(33)
其中,vi表示原图像信号,wi为需要嵌入的水印信号,选取如图4(a)所示的陕西师范大学校徽二值图像,大小为128 × 128像素作为水印信号进行实验,参数α是从{1, 2, …, k}中随机选取的一个小整数,为适当简化加密域中的水印运算,这里我们取α = 2。值得注意的是,在实验中一般将不可见水印嵌入中频信号中以减少对原宿主图片的影响,即vi表示图片的中频信号。因此,将原图进行两次小波分解之后,将水印信号wi嵌入第二次分解的高频信号中,此时的高频信号对于原图像来说相当于其中频信号。
根据同态加密域的性质,水印嵌入公式(33)被改写为以下的加密形式:
(34)
(a)
(b)
(c)
Figure 4. (a) School badge as watermarking signal; (b) The extracted watermark in plaintext domain; (c) The extracted watermark in encrypted domain
图4. (a) 校徽水印图像;(b)从明文中提取的水印图像;(c) 从密文中提取的水印图像
为了避免在水印嵌入后的重构过程中出现非整数运算,经实验验证量化因子
可以保证水印嵌入和提取过程中的可行性,图5(a)是已嵌入水印的加密图像,图5(b)是解密后的含水印图像,实验过程中同样采取了MIM方法来避免数域的扩充。
(a)
(b)
Figure 5. (a) Encrypted version of watermarked image; (b) Decryption of watermarked image
图5. (a) 已嵌入水印的加密图像;(b) 解密含水印图像
由于嵌入的水印图像为二值图像,为了确保提取出的水印像素值仅由整数构成,我们采用了门限比较方案如式(35)所示从宿主图像中提取水印图像。
(35)
其中,由多次实验选取合适的门限值T。图4(b),图4(c)分别展示了从明文图像提取出来的水印图像和从密文图像中提取的水印图像。我们分别采用PSNR和归一化相关系数(NC) [6] 来衡量提取水印的保真度和测量明文域和密文域提取水印信号与原水印信号的相似度。实验结果见表1。

Table 1. The watermarking embedded and extracted performances in terms of PSNR and NC
表1. 水印实验PSNR值和NC值
通过实验结果可以看出,加密域的水印嵌入和提取实验结果与直接在明文域进行的结果几乎可以达到近似的结果,说明了我们所提出方案的可行性与保真性。
4.3. 掌纹识别实验
在本小节,针对香港理工大学掌纹数据库Poly-II [14] 进行了加密系统的掌纹识别实验,该数据库由两大部分组成,包含了193个人的共386个掌纹图片,总数为7720张大小为384 × 284的掌纹灰度图像,两部分图像由两次采集组成,平均时间间隔相差了69天,每次分别针对同一个手掌图片采集十张照片,二次采集过程中相机的焦点和光源不同,因此可以看成是由不同的掌纹采集设备所得到的数据集。
4.3.1. 实验一
本实验目的主要在于比较提出的加密算法和其明文域算法对于掌纹识别工作的准确性。由于在加密域中反复进行同态比较运算需要大量的计算时间,因此从该数据库的每部分中随机抽取了500张图片进行实验。分别以第一部分和第二部分十张图片中的前五张作为训练样本构成训练集,后五张作为测试样本,图6列举出了一些数据库的样本示例。实验提取特征的过程为:将每张图片加密后实施加密域自适应提升小波方案,得到一张近似图像和三张细节图像,再通过加密域LBP算法将每张细节图像转换为二进制编码的形式得到图像特征,在此基础上利用K近邻分类的方法对数据进行分类,表2分别列出了明文掌纹图片和加密条件下的掌纹图片进行分类的结果。

Figure 6. Few samples of palmprint database
图6. 部分掌纹数据库图片

Table 2. CCPs of palmprints in plaintext and encrypted domain
表2. 明文域与加密域下的掌纹识别性能
从表2可以看出,本文所提出的方案在加密数据集下进行实验,与明文条件下直接进行小波运算并提取特征再分类的识别率几乎相同,并没有因为加密过程对图像像素造成的混乱而影响识别精度,即保证了信息安全的同时也可以完成相应的识别任务。
4.3.2. 实验二
本实验的目的在于验证加密算法下的识别工作对不同聚焦光照条件下的掌纹识别工作的鲁棒性。本次实验从每部分随机抽取250张图片,两部分共500张图片,第一部分十张图片的前五张作为训练样本,第二部分的前五张作为训练样本,对样本进行加密后用本章提出的方法进行特征提取工作,与此同时,Pan [15] ,Kong [16] ,2D-Gabor小波 [17] ,以及传统的主成分分析 [18] ,线性判别分析 [19] 的方法也在这里与我们的方法进行了比较,表3分别列出了这些方法分别针对明文掌纹图像和加密掌纹图像下的识别率。

Table 3. Pattern classification percentage on the original database and encrypted palmprint with various methods
表3. 多种方法下的明文数据与加密数据分类正确率
通过实验结果可以看出,我们提出的方法在明文数据集下具有更好的分类性能,而在应用于加密数据上,由于加密过程造成的掌纹结构与纹理信息的混乱,导致传统方法的识别过程无法得到需要的高精度的识别结果,而我们提出的方案由于其应用于加密域时所具有的无损的性质,从而在加密的样本数据上依然保持了与明文域等同的正确识别率,这样可以得出结论是,我们的算法在加密域中具有鲁棒性,可以应用于隐私保护相关领域的识别工作。
5. 总结
本文提出了一种无精度损失的Pallier加密域自适应提升小波的实现方案,在此基础上同样提出了加密域LBP的实现方法。基于Paillier同态加密系统的性质与特点与原有的自适应提升小波思想,我们科学合理推导了其在加密域的计算公式,并给出了相关扩张因子的大小以确保计算过程无误差地进行。相较于已有的其他加密系统的SIFT,DCT等图像变换方法,我们所提出的方案通过准确扩大像素的倍数以及通过采用相对较小的扩张因子,使加密域数据的计算更加精确。相关实验分别验证了其在图像重构、水印嵌入提取和掌纹识别方面都具有良好的应用前景,即保证了敏感隐私信息的安全性,也完成了相应的图像信息处理任务。
致谢
在此感谢王晅导师对我研究选题方向以及科研过程中的指导,感谢杨腾飞师兄对本次论文实验方面的帮助,同时感谢实验室同学日常与我共同探讨学术问题以及在我遇到困难时伸出援助之手。
参考文献