一种针对图像的加密及密文处理方法技术

技术编号:12053292 阅读:213 留言:0更新日期:2015-09-16 17:26
本发明专利技术公开一种对密文图像进行图像处理的方法,包括:步骤S1:提取待处理图像的像素分量值;步骤S2:生成密钥;步骤S3:分量加密;步骤S4:构建密文图像并上传;步骤S5:提取分量密文;步骤S6:密文图像的处理;步骤S7:返回变换后的密文图像;步骤S8:解密密文图像。本发明专利技术对SIL同态加密算法进行了改进,用户对要上传的明文图像利用本发明专利技术方法进行加密,将生成的密文图像上传至服务端。服务端利用本发明专利技术方法可对密文图像进行基于颜色矩阵的颜色变换,图像叠加,以及基于二次线性插值的图像缩放操作,将操作后的密文图像返回给用户。用户再利用本方法进行解密,即可得到相应的处理后的图像,其效果与明文图像直接操作相同。

【技术实现步骤摘要】
一种对密文图像进行图像处理的方法
本专利技术属于外包服务下的用户隐私安全保护领域,涉及对用户密文图像处理时的隐私保护方法。
技术介绍
随着手机等职能终端的普及,数字图像已经成为非常流行的用户数据类型。许多云端的图像存储服务也大量兴起,用户可以将图像存储在服务器端,甚至可以对图像进行一些处理,如色彩效果的变换,水印图像的嵌入,以及图像的缩放等。传统的颜色的变换方法是利用颜色矩阵来改变每个像素的分量值。颜色矩阵CM可以看成是5×5的矩阵(实际只用到了前四列),第i行j列记为mij.则像素P(r,g,b,a)(其中r,g,b,a,分别代表该像素的红绿蓝颜色分量,以及alpha分量,即透明度)经变换后的像素P'(r',g',b',a')满足r'=r·m00+g·m10+b·m20+a·m30+255·m40g'=r·m01+g·m11+b·m21+a·m31+255·m41b'=r·m02+g·m12+b·m22+a·m32+255·m42a'=r·m03+g·m13+b·m23+a·m33+255·m43上述过程的运算结果需要取整,此外,运算结果可能会超出[0,255]的范围,通常的处理方式为,当结果为负数时取0,当结果大于255时取255。两个图像的叠加是将对应位置的两个像素的颜色分量按透明度进行叠加。如将像素P2(r2,g2,b2,a2)按照trp(0≤trp≤1,0表示完全透明,1表示不透明,则该像素真正的透明度为trp·a2)的透明度叠加到P1(r1,g1,b1)上。这里默认下层图像不透明,即P1中的alpha分量不参与运算。则生成的像素P'(r',g',b')满足P'=P1·(1-trp·a2/255)+P2·trp·a2/255。为保证图像缩放的精度,目前较流行的方法为二次线性插值法。原始图像宽×高为w×h,缩放n倍(n>0)后变为(n·w)×(n·h),则缩放后第i行j列的像素P'i,j需要参考原图中四个相邻像素,分别记为Ps,t,Ps,t+1,Ps+1,t,Ps+1,t+1.其中,则,P=Ps,t·(1-u)·(1-v)+Ps,t+1·u·(1-v)+Ps+1,t·(1-u)·v+Ps+1,t+1·u·v其中,u=i/n-s,v=j/n-t.但是,由于图像往往涉及个人隐私,若要将图像提交给不可信的服务提供商进行处理,用户担心其图像会被非法滥用,因而需要对图像进行加密。然而,传统的图像加密方法不支持对密文图像进行图像处理,使得图像处理服务无法顺利进行。基于像素位置变换的加密技术由于像素值没有变,可以支持颜色变换。但由于像素位置已经乱序,因此不支持图像的叠加和缩放。而且其安全性也较低。因此目前还缺乏能够支持对密文图像进行常见图像处理的图像加密技术。
技术实现思路
本专利技术的目的在于克服上述现有技术的缺陷,提供一种对密文图像进行图像处理的方法,对密文图像进行图像处理的同时保障用户图像内容隐私。为实现上述专利技术目的,本专利技术采用的技术方案是:一种对密文图像进行图像处理的方法,包括以下步骤:步骤S1:提取待处理图像的像素分量值;步骤S2:生成密钥;步骤S3:分量加密;步骤S4:构建密文图像并上传;步骤S5:提取分量密文;步骤S6:密文图像的处理;步骤S7:返回变换后的密文图像;步骤S8:解密密文图像。优选的,步骤S1中通过读取待处理图像,提取每个像素的RGBA分量值。优选的,步骤S2生成密钥b,密钥b为n维列向量,每个向量元素为l位的随机数。优选的,步骤S3中分别对每个像素的每个分量进行加密;RGBA分量值是[0,255]区间内的整数,记为p,加密过程如下:1)由p生成列向量t=(t0t1t2t3t4t5t6t7)T,其中,其中,t3,t4,t5...分别表示p的个位,十位,百位...,t0,t1,t2为三个小数位;以上过程称为明文的向量化,记为t=vector(p);2)生成n维列向量r,r中每个元素可为l/2位随机数;3)输入密文c=t+bοr;向量c的每个元素用2l位表示;其中,向量运算"ο"定义如下:b=(b0,...,bn-1)T,r=(r0,...,rn-1)T,若(b0,...,bn-1)Tο(r0,...,rn-1)T=(d0,...,dn-1)T,则4)重复步骤1)-3),用相同的方法加密每个像素的每个分量;像素P(r,g,b,a)加密后的密文记为C(cr,cg,cb,ca)。优选的,步骤S4具体为:每个明文像素加密后变为新的4×8的子图像,合并步骤S3加密后的所有子图像形成密文图像,然后上传至服务器端。优选的,步骤S5中服务器端根据密文图像提取每个分量密文值:首先将图像划分为若干4×8的子图像,每个子图像由8×16的二维字节数组表示,代表了一个像素密文C。优选的,步骤S6中对密文图像进行颜色变换、图像叠加或图像缩放操作;(1)颜色变换1)输入明文颜色矩阵CM,对矩阵的每个元素mij进行向量化,当mij≥0时,tmij=vector(mij),否则,tmij=-vector(|mij|);2)利用变换后的颜色矩阵对每个像素密文C(cr,cg,cb,ca)进行计算,计算后的像素密文C'(c'r,c'g,c'b,c'a)满足其中,乘法定义如下:对于两向量u=(u0,...,un-1)T及v=(v0,...,vn-1)T,若则或者,乘法采用如下方法实现:在计算得uοv后,将得到的列向量再循环上移3位,使原来向量的第i个元素变为现在的第(i-3mod8)个元素;(2)图像叠加1)输入要叠加的明文图像以及叠加的透明度值trp∈[0,1],0表示完全透明,1表示不透明;2)对输入的明文图像每个像素的颜色分量进行向量化,明文像素P(r,g,b,a)转为C(cr,cg,cb)=(vector(r),vector(g),vector(b)),并由trp及a生成两个列向量t0=vector(1-trp·a/255),t1=vector(trp·a/255);3)相同位置的两个像素进行叠加,将向量化后的像素C(cr,cg,cb)根据设置的透明度值trp叠加到密文像素C1(cr1,cg1,cb1),叠加后的像素密文C'(c'r,c'g,c'b)满足其中,下层图像不透明,即C1中的alpha分量不参与运算;(3)图像缩放1)步骤S1中待处理图像的宽×高为w×h,缩放n倍后的图像为(n·w)×(n·h),n>0;2)计算缩放后每个像素密文的值:缩放后第i行j列的像素密文C'i,j参考原密文图像中四个相邻的像素密文进行计算,这四个像素密文分别记为Cs,t,Cs,t+1,Cs+1,t,Cs+1,t+1;其中,设u=i/n-s,v=j/n-t,由此可得t0=vector((1-u)·(1-v));t1=vector(u·(1-v));t2=vector((1-u)·v);t3=vector(u·v);则C'i,j(c'r(i,j),c'g(i,j),c'b(i,j),c'a(i,j))满足优选的,步骤S7中所有像素密文经过变换后,按照步骤S4的方法转换为新的密文图像,返回给用户。优选的,步骤S8中按照步骤S5提取出每个密文像素C(cr,cg,cb,ca),对每个分量密文进行解密:1)计算其中表示对向量·中本文档来自技高网
...
一种<a href="http://www.xjishu.com/zhuanli/55/201410508376.html" title="一种针对图像的加密及密文处理方法原文来自X技术">针对图像的加密及密文处理方法</a>

【技术保护点】
一种对密文图像进行图像处理的方法,其特征在于,包括以下步骤:步骤S1:提取待处理图像的像素分量值;步骤S2:生成密钥;步骤S3:分量加密;步骤S4:构建密文图像并上传;步骤S5:提取分量密文;步骤S6:密文图像的处理;步骤S7:返回变换后的密文图像;步骤S8:解密密文图像。

【技术特征摘要】
1.一种对密文图像进行图像处理的方法,其特征在于,包括以下步骤:步骤S1:提取待处理图像的像素分量值;步骤S2:生成密钥;步骤S3:分量加密;步骤S4:构建密文图像并上传;步骤S5:提取分量密文;步骤S6:密文图像的处理;步骤S7:返回变换后的密文图像;步骤S8:解密密文图像;步骤S2具体采用改进的SIL同态加密算法,生成密钥b,密钥b为n维列向量,每个向量元素为16位的随机数;步骤S3中分别对每个像素的每个分量进行加密;RGBA分量值是[0,255]区间内的整数,记为p,加密过程如下:1)由p生成列向量t=(t0t1t2t3t4t5t6t7)T,其中,其中,t3,t4,t5,t6,t7分别表示p的个位,十位,百位,千位,万位,t0,t1,t2为三个小数位;以上过程称为明文的向量化,记为t=vector(p);2)生成n维列向量r,r中每个元素为8位随机数;3)输入密文向量c的每个元素用32位来表示;其中,向量运算定义如下:向量b=(b0,…,bn-1)T,r=(r0,…,rn-1)T,若则4)重复步骤1)-3),用相同的方法加密每个像素的每个分量;像素P(r,g,b,a)加密后的密文记为C(cr,cg,cb,ca)。2.根据权利要求1所述的一种对密文图像进行图像处理的方法,其特征在于,步骤S1中通过读取待处理图像,提取每个像素的RGBA分量值。3.根据权利要求1所述的一种对密文图像进行图像处理的方法,其特征在于,步骤S4具体为:每个明文像素加密后变为一个8行4列的子图像,合并步骤S3加密后的所有子图像形成密文图像,然后上传至服务器端。4.根据权利要求1所述的一种对密文图像进行图像处理的方法,其特征在于,步骤S5中服务器端根据密文图像提取每个分量密文值:首先将图像划分为若干8行4列的子图像,每个子图像由8×16的二维字节数组表示,代表了一个像素密文C。5.根据权利要求1所述的一种对密文图像进行图像处理的方法,其特征在于,步骤S6中对密文图像进行颜色变换、图像叠加或图像缩放操作;(1)颜色变换1)输入明文颜色矩阵CM,对矩阵的每个元素mij进行向量化,当mij≥0时,tmij=vector(mij),否则,tmij=-vector(|mij|);2)利用变换后的颜色矩阵对每个像素密文C(cr,cg,cb,ca)进行计算,计算后的像素密文C'(c'r,c'g,c'b,c'a)满足其中,乘法定义如下:对于两向量u=(u0,…,un-1)T及v=(v0,…,vn-1)T,若则或者,乘法采用如...

【专利技术属性】
技术研发人员:桂小林杨攀田丰安健林建财杨建伟姚婧
申请(专利权)人:西安交通大学
类型:发明
国别省市:陕西;61

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

1