CN105763762A - 一种图像加密及解密的方法和装置 - Google Patents
一种图像加密及解密的方法和装置 Download PDFInfo
- Publication number
- CN105763762A CN105763762A CN201410789457.5A CN201410789457A CN105763762A CN 105763762 A CN105763762 A CN 105763762A CN 201410789457 A CN201410789457 A CN 201410789457A CN 105763762 A CN105763762 A CN 105763762A
- Authority
- CN
- China
- Prior art keywords
- array
- image
- data
- key
- pixel
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 109
- 238000006243 chemical reaction Methods 0.000 claims description 56
- 230000008569 process Effects 0.000 claims description 45
- 239000000284 extract Substances 0.000 claims description 38
- 238000000605 extraction Methods 0.000 claims description 26
- 238000005266 casting Methods 0.000 claims description 6
- 238000013075 data extraction Methods 0.000 claims description 6
- 239000011159 matrix material Substances 0.000 description 16
- 230000006870 function Effects 0.000 description 15
- 238000004590 computer program Methods 0.000 description 7
- 238000003860 storage Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 230000008859 change Effects 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000006872 improvement Effects 0.000 description 3
- 238000013507 mapping Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 239000002131 composite material Substances 0.000 description 2
- 238000004321 preservation Methods 0.000 description 2
- 230000003252 repetitive effect Effects 0.000 description 2
- 235000002566 Capsicum Nutrition 0.000 description 1
- 206010068052 Mosaicism Diseases 0.000 description 1
- 241000758706 Piperaceae Species 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 210000003765 sex chromosome Anatomy 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Landscapes
- Facsimile Transmission Control (AREA)
- Storage Device Security (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本申请实施例提供了一种图像加密及解密的方法和装置,其中,所述图像加密的方法包括:将待加密图像转换为指定数据形式,获得明文图像数据;针对所述明文图像数据采用预设的密钥数据进行加密,获得密文图像数据;其中,所述预设的密钥数据经由对预设的密钥图像按指定数据形式转换生成。本申请实施例通过采用预设的密钥图像作为密钥的集合,将图像像素信息作为密钥,改变了密钥的形式,增加了图像信息的安全性。
Description
技术领域
本申请涉及图像技术领域,特别是涉及一种图像加密的方法,一种图像解密的方法,一种图像加密的装置,以及,一种图像解密的装置。
背景技术
随着信息化时代的来临,无论是企业还是个人,都无时无刻不在信息的交互之中。而在计算机通信技术的迅速发展的同时,对于信息的获取、传输、保存的安全性,是任何政府、企业或者个人都十分重视的问题。
数字图像作为多媒体信息的重要载体,其安全性问题是信息安全问题的一个重要的方向。对于数字图像安全性问题的解决,一般会将数字图像信息加密处理,使之成为不可分辨的秘密图像。对于加密的数字图像信息,只有通过特定的解密方法(例如密钥)才能将秘密图像还原为原始的数字图像信息,从而实现了在信息的获取、传输、保存的过程对数字图像信息的保护。近年来,数字图像信息加密和解密的过程得到了广泛的研究。
目前,对于数字图像信息的加密方法主要是对图像的像素位置进行置乱(例如:Arnold变换、Standard映射、Baker变换、魔方变换等)或按照一定的规律改变图像所有点的像素值(例如:3DES、RSA、AES、MD5等)。密钥类型较为单一,而且安全性有待提高。
因此,目前需要本领域技术人员迫切解决的一个技术问题就是:如何提供一种图像加密以及解密的机制,解决现有技术中密钥类型单一,数字图像信息的安全性有待提高的技术问题。
发明内容
本申请实施例所要解决的技术问题是提供一种图像加密的方法和装置,用以解决现有技术中密钥类型单一,数字图像信息的安全性有待提高的技术问题。
相应的,本申请实施例还提供了一种图像解密的方法和装置,用以对采用上述方法和装置进行加密的图像进行解密,获取正确的数字图像信息。
为了解决上述问题,本申请公开了一种图像加密的方法,包括:
将待加密图像转换为指定数据形式,获得明文图像数据;
针对所述明文图像数据采用预设的密钥数据进行加密,获得密文图像数据;其中,所述预设的密钥数据经由对预设的密钥图像按指定数据形式转换生成。
优选的,所述预设的密钥数据通过如下方式生成:
对预设的密钥图像进行一次或者多次置乱,获得置乱密钥图像;
将所述置乱密钥图像转换为指定数据形式,获得密钥数据。
优选的,所述指定数据形式为数组,所述将所述置乱密钥图像转换为指定数据形式,获得密钥数据的子步骤进一步包括:
将所述置乱密钥图像转换为第一数组;
提取所述第一数组中的特征元素存入第二数组;
提取所述第二数组中的元素作为密钥数据。
优选的,所述将置乱密钥图像的转换为第一数组的子步骤进一步包括:
获取所述置乱密钥图像的像素;其中,所述像素的像素值为M×N;
获取所述置乱密钥图像的灰度信息;
将所述置乱密钥图像的灰度信息按行依次存入第一数组A[M*N]中。
优选的,所述提取所述第一数组中的特征元素存入第二数组的子步骤进一步包括:
提取所述第一数组A[M*N]的第(M*N)子元素;
当所述(M*N)不能被16整除时,则舍去所述第一数组A[M*N]的第(M*N)子元素;
将所述第一数组A[M*N]的剩余的子元素作为特征元素依次存入第二数组B[n,16]中;其中,n=(M*N)/16,n取整数。
优选的,所述指定数据形式为数组,所述将待加密图像转换为指定数据形式,获得明文图像数据的步骤包括:
将待加密图像转换为第三数组;
提取所述第三数组中的特征元素存入第四数组;
提取所述第四数组中的元素作为明文图像数据。
优选的,所述将待加密图像的转换为第三数组的子步骤进一步包括:
获取所述待加密图像的像素;其中,所述像素的像素值为M’×N’;
获取所述待加密图像的灰度信息;
将所述待加密图像的灰度信息按行依次读入第三数组C[3*M’*N’]中;其中,所述第三数组C[3*M’*N’]相邻的三个元素分别存储同一像素中红色、绿色、蓝色的颜色分量的强度:C[3*k]=R(i,j);C[3*k+1]=G(i,j);C[3*k+2]=B(i,j);其中,R(i,j)、G(i,j)、B(i,j)分别为所述待加密图像在像素(i,j)处对应的红色、绿色、蓝色分量的强度;k的取值范围是0≤k<M’*N’。
优选的,所述提取所述第三数组中的特征元素存入第四数组的子步骤进一步包括:
提取所述第三数组C[3*M’*N’]的第(3*M’*N’)子元素;
当所述(3*M’*N’)不能被8整除时,则舍去所述第三数组C[3*M’*N’]的第(3*M’*N’)子元素;
将所述第三数组C[3*M’*N’]的剩余的子元素作为特征元素依次存入第四数组D[m,8]中;其中,m=(3*M’*N’)/8,m取整数。
优选的,所述针对所述明文图像数据采用预设的密钥数据进行加密,获得密文图像数据的步骤包括:
针对所述第四数组中第i行的元素采用预设的第二数组中第i行的元素进行加密,获得密文图像数据。
优选的,所述针对所述第四数组中第i行的元素采用预设的第二数组中第i行的元素进行加密的子步骤进一步包括:
当所述预设的第二数组的行数n小于所述第四数组的行数m时,针对从第四数组第n+k行中的元素采用预设的第二数组第k行中的元素进行加密。
优选的,针对所述明文图像数据采用预设的密钥数据进行3DES算法加密,所述3DES算法加密过程为:
R=Ek3(Dk2(Ek1(P)));
其中,所述P为8字节明文,所述R为8字节密文,所述函数E()为DES加密过程,所述函数D()为DES解密过程,所述k1、k2、k3分别为16字节密钥;其中k1≠k2,k1≠k3。
优选的,所述的方法,还包括:
将所述密文图像数据转换指定数据形式,获得密文图像。
为了解决上述问题,本申请公开了一种图像解密的方法,包括:
将密文图像转换为指定数据形式,获得密文图像数据;
针对所述密文图像数据采用预设的密钥数据进行解密,获得明文图像数据;其中,所述预设的密钥数据经由对预设的密钥图像按指定数据形式转换生成。
优选的,所述预设的密钥数据通过如下方式生成:
对预设的密钥图像进行一次或者多次置乱,获得置乱密钥图像;其中,置乱次数与加密时相同;
将所述置乱密钥图像转换为指定数据形式,获得密钥数据。
优选的,所述指定数据形式为数组,所述将所述置乱密钥图像转换为指定数据形式,获得密钥数据的子步骤进一步包括:
将所述置乱密钥图像转换为第一数组;
提取所述第一数组中的特征元素存入第二数组;
提取所述第二数组中的元素作为密钥数据。
优选的,所述将置乱密钥图像的转换为第一数组的子步骤进一步包括:
获取所述置乱密钥图像的像素;其中,所述像素的像素值为M×N;
获取所述置乱密钥图像的灰度信息;
将所述置乱密钥图像的灰度信息按行依次存入第一数组A[M*N]中。
优选的,所述提取所述第一数组中的特征元素存入第二数组的子步骤进一步包括:
提取所述第一数组A[M*N]的第(M*N)子元素;
当所述(M*N)不能被16整除时,则舍去所述第一数组A[M*N]的第(M*N)子元素;
将所述第一数组A[M*N]的剩余的子元素作为特征元素依次存入第二数组B[n,16]中;其中,n=(M*N)/16,n取整数。
优选的,所述指定数据形式为数组,所述将密文图像转换为指定数据形式,获得密文图像数据的步骤包括:
将密文图像转换为第三数组;
提取所述第三数组中的特征元素存入第四数组;
提取所述第四数组中的元素作为密文图像数据。
优选的,所述将密文图像的转换为第三数组的子步骤进一步包括:
获取所述密文图像的像素;其中,所述像素的像素值为M’×N’;
获取所述密文图像的灰度信息;
将所述密文图像的灰度信息按行依次读入第三数组C[3*M’*N’]中;其中,所述第三数组C[3*M’*N’]相邻的三个元素分别存储同一像素中红色、绿色、蓝色的颜色分量的强度:C[3*k]=R(i,j);C[3*k+1]=G(i,j);C[3*k+2]=B(i,j);其中,R(i,j)、G(i,j)、B(i,j)分别为所述待加密图像在像素(i,j)处对应的红色、绿色、蓝色分量的强度;k的取值范围是0≤k<M’*N’。
优选的,所述提取所述第三数组中的特征元素存入第四数组的子步骤进一步包括:
提取所述第三数组C[3*M’*N’]的第(3*M’*N’)子元素;
当所述(3*M’*N’)不能被8整除时,则舍去所述第三数组C[3*M’*N’]的第(3*M’*N’)子元素;
将所述第三数组C[3*M’*N’]的剩余的子元素作为特征元素依次存入第四数组D[m,8]中;其中,m=(3*M’*N’)/8,m取整数。
优选的,所述针对所述密文图像数据采用预设的密钥数据进行解密,获得明文图像数据的步骤包括:
针对第四数组中第i行的元素采用预设的第二数组中第i行的元素进行解密,获得明文图像数据。
优选的,所述针对第四数组中第i行的元素采用预设的第二数组中第i行的元素进行解密的子步骤进一步包括:
当所述预设的第二数组的行数n小于所述第四数组的行数m时,针对从第四数组第n+k行中的元素采用预设的第二数组第k行中的元素进行解密。
优选的,针对所述密文图像数据采用预设的密钥数据进行3DES算法解密,所述3DES算法解密过程为:
P=Dk1(Ek2(Dk3(R)));
其中,所述P为8字节明文,所述R为8字节密文,所述函数E()为DES加密过程,所述函数D()为DES解密过程,所述k1、k2、k3分别为16字节密钥;其中k1≠k2,k1≠k3。
优选的,所述的方法,还包括:
将所述明文图像数据转换指定数据形式,获得明文图像。
为了解决上述问题,本申请公开了一种图像加密的装置,包括:
明文图像转换模块,用于将待加密图像转换为指定数据形式,获得明文图像数据;
加密模块,用于针对所述明文图像数据采用预设的密钥数据进行加密,获得密文图像数据;其中,所述预设的密钥数据经由对预设的密钥图像按指定数据形式转换生成。
优选的,所述的装置,还包括:
密钥图像置乱模块,用于对预设的密钥图像进行一次或者多次置乱,获得置乱密钥图像;
密钥数据转换模块,用于将所述置乱密钥图像转换为指定数据形式,获得密钥数据。
优选的,所述指定数据形式为数组,所述密钥数据转换模块进一步包括:
第一数组转换子模块,用于将所述置乱密钥图像转换为第一数组;
第二数组转换子模块,用于提取所述第一数组中的特征元素存入第二数组;
密钥数据提取子模块,用于提取所述第二数组中的元素作为密钥数据。
优选的,所述第一数组转换子模块进一步包括:
第一像素获取单元,用于获取所述置乱密钥图像的像素;其中,所述像素的像素值为M×N;
第一灰度信息获取单元,用于获取所述置乱密钥图像的灰度信息;
第一数组存入单元,用于将所述置乱密钥图像的灰度信息按行依次存入第一数组A[M*N]中。
优选的,所述第二数组转换子模块进一步包括:
第一数组元素提取单元,用于提取所述第一数组A[M*N]的第(M*N)子元素;
第一计算单元,用于当所述(M*N)不能被16整除时,则舍去所述第一数组A[M*N]的第(M*N)子元素;
第二数组存入单元,用于将所述第一数组A[M*N]的剩余的子元素作为特征元素依次存入第二数组B[n,16]中;其中,n=(M*N)/16,n取整数。
优选的,所述明文图像转换模块包括:
第三数组转换子模块,用于将待加密图像转换为第三数组;
第四数组转换子模块,用于提取所述第三数组中的特征元素存入第四数组;
明文图像数据提取子模块,用于提取所述第四数组中的元素作为明文图像数据。
优选的,所述第三数组转换子模块进一步包括:
第二像素获取单元,用于获取所述待加密图像的像素;其中,所述像素的像素值为M’×N’;
第二灰度信息获取单元,用于获取所述待加密图像的灰度信息;
第三数组存入单元,用于将所述待加密图像的灰度信息按行依次读入第三数组C[3*M’*N’]中;其中,所述第三数组C[3*M’*N’]相邻的三个元素分别存储同一像素中红色、绿色、蓝色的颜色分量的强度:C[3*k]=R(i,j);C[3*k+1]=G(i,j);C[3*k+2]=B(i,j);其中,R(i,j)、G(i,j)、B(i,j)分别为所述待加密图像在像素(i,j)处对应的红色、绿色、蓝色分量的强度;k的取值范围是0≤k<M’*N’。
优选的,所述第四数组转换子模块进一步包括:
第三数组元素提取单元,用于提取所述第三数组C[3*M’*N’]的第(3*M’*N’)子元素;
第二计算单元,用于当所述(3*M’*N’)不能被8整除时,则舍去所述第三数组C[3*M’*N’]的第(3*M’*N’)子元素;
第四数组存入单元,用于将所述第三数组C[3*M’*N’]的剩余的子元素作为特征元素依次存入第四数组D[m,8]中;其中,m=(3*M’*N’)/8,m取整数。
优选的,所述加密模块包括:
明文图像加密子模块,用于针对所述第四数组中第i行的元素采用预设的第二数组中第i行的元素进行加密,获得密文图像数据。
优选的,所述明文图像加密子模块进一步包括:
元素提取控制单元,用于当所述预设的第二数组的行数n小于所述第四数组的行数m时,针对从第四数组第n+k行中的元素采用预设的第二数组第k行中的元素进行加密。
优选的,所述加密模块用于针对所述明文图像数据采用预设的密钥数据进行3DES算法加密,所述3DES算法加密过程为:
R=Ek3(Dk2(Ek1(P)));
其中,所述P为8字节明文,所述R为8字节密文,所述函数E()为DES加密过程,所述函数D()为DES解密过程,所述k1、k2、k3分别为16字节密钥;其中k1≠k2,k1≠k3。
优选的,所述的装置,还包括:
密文图像数据转换模块,用于将所述密文图像数据转换指定数据形式,获得密文图像。
为了解决上述问题,本申请还公开了一种图像解密的装置,包括:
密文图像转换模块,将密文图像转换为指定数据形式,获得密文图像数据;
解密模块,用于针对所述密文图像数据采用预设的密钥数据进行解密,获得明文图像数据;其中,所述预设的密钥数据经由对预设的密钥图像按指定数据形式转换生成。
优选的,所述的装置,还包括:
密钥图像置乱模块,用于对预设的密钥图像进行一次或者多次置乱,获得置乱密钥图像;其中,置乱次数与加密时相同;
密钥数据转换模块,用于将所述置乱密钥图像转换为指定数据形式,获得密钥数据。
优选的,所述第一数组转换子模块进一步包括:
第一数组转换子模块,用于将所述置乱密钥图像转换为第一数组;
第二数组转换子模块,用于提取所述第一数组中的特征元素存入第二数组;
密钥数据提取子模块,用于提取所述第二数组中的元素作为密钥数据。
优选的,所述第一数组转换子模块进一步包括:
第一像素获取单元,用于获取所述置乱密钥图像的像素;其中,所述像素的像素值为M×N;
第一灰度信息获取单元,用于获取所述置乱密钥图像的灰度信息;
第一数组存入单元,用于将所述置乱密钥图像的灰度信息按行依次存入第一数组A[M*N]中。
优选的,所述第二数组转换子模块进一步包括:
第一数组元素提取单元,用于提取所述第一数组A[M*N]的第(M*N)子元素;
第一计算单元,用于当所述(M*N)不能被16整除时,则舍去所述第一数组A[M*N]的第(M*N)子元素;
第二数组存入单元,用于将所述第一数组A[M*N]的剩余的子元素作为特征元素依次存入第二数组B[n,16]中;其中,n=(M*N)/16,n取整数。
优选的,所述指定数据形式为数组,所述密文图像转换模块包括:
第三数组转换子模块,用于将密文图像转换为第三数组;
第四数组转换子模块,用于提取所述第三数组中的特征元素存入第四数组;
密文图像数据提取子模块,用于提取所述第四数组中的元素作为密文图像数据。
优选的,所述第三数组转换子模块进一步包括:
第二像素获取单元,用于获取所述密文图像的像素;其中,所述像素的像素值为M’×N’;
第二灰度信息获取单元,用于获取所述密文图像的灰度信息;
第三数组存入单元,用于将所述密文图像的灰度信息按行依次读入第三数组C[3*M’*N’]中;其中,所述第三数组C[3*M’*N’]相邻的三个元素分别存储同一像素中红色、绿色、蓝色的颜色分量的强度:C[3*k]=R(i,j);C[3*k+1]=G(i,j);C[3*k+2]=B(i,j);其中,R(i,j)、G(i,j)、B(i,j)分别为所述待加密图像在像素(i,j)处对应的红色、绿色、蓝色分量的强度;k的取值范围是0≤k<M’*N’。
优选的,所述第四数组转换子模块进一步包括:
第三数组元素提取单元,用于提取所述第三数组C[3*M’*N’]的第(3*M’*N’)子元素;
第二计算单元,用于当所述(3*M’*N’)不能被8整除时,则舍去所述第三数组C[3*M’*N’]的第(3*M’*N’)子元素;
第四数组存入单元,用于将所述第三数组C[3*M’*N’]的剩余的子元素作为特征元素依次存入第四数组D[m,8]中;其中,m=(3*M’*N’)/8,m取整数。
优选的,所述解密模块包括:
密文图像解密子模块,用于针对第四数组中第i行的元素采用预设的第二数组中第i行的元素进行解密,获得明文图像数据。
优选的,所述密文图像解密子模块进一步包括:
元素提取控制单元,用于当所述预设的第二数组的行数n小于所述第四数组的行数m时,针对从第四数组第n+k行中的元素采用预设的第二数组第k行中的元素进行解密。
优选的,所述解密模块用于针对所述密文图像数据采用预设的密钥数据进行3DES算法解密,所述3DES算法解密过程为:
P=Dk1(Ek2(Dk3(R)));
其中,所述P为8字节明文,所述R为8字节密文,所述函数E()为DES加密过程,所述函数D()为DES解密过程,所述k1、k2、k3分别为16字节密钥;其中k1≠k2,k1≠k3。
优选的,所述的装置,还包括:
明文图像数据转换模块,用于将所述明文图像数据转换指定数据形式,获得明文图像。
与现有技术相比,本申请实施例包括以下优点:
第一,本申请实施例通过采用预设的密钥图像作为密钥的集合,将图像像素信息作为密钥,改变了密钥的形式,增加了图像信息的安全性。
第二,在本申请实施例中,由于不同密钥图像的大小是不同的,密钥的数量会随密钥图像的大小而改变,密钥的总数是不固定的,解决了由于密钥数量固定而造成的重复率高的问题,从而提高了数字图像的安全性。
第三,本申请实施例通过将一幅密钥图像进行Arnold置乱后,对将置乱密钥图像的像素信息进行分组,每一组的数据信息都作为所有密钥,即将置乱密钥图片作为密钥的集合,再采用所述密钥对待加密信息进行3DES的加密,以及采用所述密钥对已加密信息进行3DES的解密。通过将Arnold置乱和3DES算法二者复合应用于图像加密中,可将Arnold置乱的简单有效和3DES算法的优越的安全性能集合起来,避免了Arnold置乱度不高的问题,提高了整体的安全性。
附图说明
图1是本申请的一种图像加密的方法实施例1的步骤流程图;
图2是本申请的一种图像加密的方法实施例2的步骤流程图;
图3是本申请的一种图像加密的方法的示例图;
图4是本申请的一种明文图像的示例图;
图5是本申请的一种密钥图像的示例图;
图6是本申请的一种置乱密钥图像的示例图;
图7是本申请的一种密文图像的示例图;
图8是本申请的一种图像解密的方法实施例1的步骤流程图;
图9是本申请的一种图像解密的方法实施例2的步骤流程图;
图10是本申请的一种图像加密的装置实施例1的结构框图;
图11是本申请的一种图像加密的装置实施例2的结构框图;
图12是本申请的一种图像解密的装置实施例1的结构框图;
图13是本申请的一种图像加密的装置实施例2的结构框图。
具体实施方式
为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请作进一步详细的说明。
本申请实施例的核心构思之一在于,通过采用预设的密钥图像作为密钥的集合,将图像像素信息作为密钥,改变了密钥的形式,增加了图像信息的安全性。
参照图1,示出了本申请的一种图像加密的方法实施例1的步骤流程图,具体可以包括如下步骤:
步骤101,将待加密图像转换为指定数据形式,获得明文图像数据;
在本申请实施例中,指定数据形式可以是指数据在文件或记录中某种特定的编排形式。所述指定数据形式可以是数值、字符或者数组。
需要说明的是,待加密图像可以是指有待进行加密的图像。所述待加密图像可以包括明文图像,或者需要进行二次加密的密文图像。
步骤102,针对所述明文图像数据采用预设的密钥数据进行加密,获得密文图像数据。
需要说明的是,所述预设的密钥数据可以是经由对预设的密钥图像按指定数据形式转换生成。
在本申请实施例中,所述预设的密钥图像可以是指在加密之前预先选取的作为密钥数据的集合的图像。
在具体实现中,所述针对所述明文图像数据采用预设的密钥数据进行加密的加密算法可以采用3DES加密算法(TripleDataEncryptionAlgorithm,三重数据加密算法)、RSA(RSA公钥加密算法)、AES(AdvancedEncryptionStandard,高级加密标准)、MD5(MessageDigestAlgorithm5,消息摘要算法第五版)等。本领域技术人员可以根据实际需要进行设置。
在本申请的优选实施例中,针对所述明文图像数据可以采用预设的密钥数据进行3DES算法加密,所述3DES算法加密过程为:
R=Ek3(Dk2(Ek1(P)));
其中,所述P为8字节明文,所述R为8字节密文,所述函数E()为DES加密过程,所述函数D()为DES解密过程,所述k1、k2、k3分别为16字节密钥;其中k1≠k2,k1≠k3。
在具体实现中,本申请实施例对于所述图像的大小、格式、位数均不作限制,本领域技术人员可以根据实际需要进行设置。所述图像的格式可以是JPEG格式、BMP格式、PNG格式等。所述图像的位数可以是8位、16位、24位等。
本申请实施例通过采用预设的密钥图像作为密钥的集合,将图像像素信息作为密钥,改变了密钥的形式,增加了图像信息的安全性。
参照图2,示出了本申请的一种图像加密的方法实施例2的步骤流程图,具体可以包括如下步骤:
步骤201,将待加密图像转换为指定数据形式,获得明文图像数据;
在本申请实施例中,所述步骤201可以包括如下子步骤:
子步骤201a,将待加密图像转换为第三数组;
在本申请实施例中,所述子步骤201a可以进一步包括如下子步骤:
子步骤A1,获取所述待加密图像的像素;
在实际应用中,所述像素的像素值可以为M’×N’;
需要说明的是,所述像素的像素值形式可以为矩阵、数值等。
子步骤A2,获取所述待加密图像的灰度信息;
在具体应用中,获取所述待加密图像的灰度信息可以是根据所述待加密图像的像素值按照灰度公式进行计算获得的。
在实际应用中,所述获取所述待加密图像的灰度信息可以按照公式A[k]=0.299×R(i,j)+0.587×G(i,j)+0.114×B(i,j)进行计算获得的。本领域技术人员也可以根据实际需要通过其他的灰度公式,对图像的像素值进行转换,获取所述待加密图像的灰度信息。
子步骤A3,将所述待加密图像的灰度信息按行依次读入第三数组C[3*M’*N’]中;
需要说明的是,3*M’*N’可以为第三数组C的长度,其中*可以为乘法含义。
在具体应用中,所述第三数组C[3*M’*N’]相邻的三个元素可以分别存储同一像素中红色、绿色、蓝色的颜色分量的强度:C[3*k]=R(i,j);C[3*k+1]=G(i,j);C[3*k+2]=B(i,j);其中,R(i,j)、G(i,j)、B(i,j)分别为所述待加密图像在像素(i,j)处对应的红色、绿色、蓝色分量的强度;k的取值范围是0≤k<M’*N’。
子步骤201b,提取所述第三数组中的特征元素存入第四数组;
需要说明的是,所述特征元素可以是指在数组中具有特定特征的元素。
在具体实现中,所述子步骤201b可以进一步包括如下子步骤:
子步骤B1,提取所述第三数组C[3*M’*N’]的第(3*M’*N’)子元素;
子步骤B2,当所述(3*M’*N’)不能被8整除时,则舍去所述第三数组C[3*M’*N’]的第(3*M’*N’)子元素;
子步骤B3,将所述第三数组C[3*M’*N’]的剩余的子元素作为特征元素依次存入第四数组D[m,8]中;其中,m=(3*M’*N’)/8,m取整数。
子步骤201c,提取所述第四数组中的元素作为明文图像数据。
在具体实现中,提取所述第四数组中的元素可以是指提取所述第四数组D[m,8]中第i行的全部8个元素作为明文图像数据。
步骤202,针对所述明文图像数据采用预设的密钥数据进行加密,获得密文图像数据;
需要说明的是,所述预设的密钥数据可以经由对预设的密钥图像按指定数据形式转换生成。在本申请实施例中,所述指定数据形式可以是数组。
在本申请实施例中,所述步骤202可以包括如下子步骤:
子步骤202a,针对所述第四数组中第i行的元素采用预设的第二数组中第i行的元素进行加密,获得密文图像数据。
在具体实现中,所述子步骤202a进一步包括如下子步骤:
子步骤C1,当所述预设的第二数组的行数n小于所述第四数组的行数m时,针对从第四数组第n+k行中的元素采用预设的第二数组第k行中的元素进行加密。
例如:现有第四数组为D[24,8],预设的第二数组为B[16,16],即第四数组的行数m=24,第二数组的行数n=16。当针对第四数组第5行的8个元素进行加密时,采用预设的第二数组中第5行的16个元素进行加密;当针对第四数组中第18行的元素进行加密时,由于n=16,n+k=18,即k=2,则采用预设的第二数组第2行中的元素进行加密。
在本申请实施例中,所述预设的密钥数据可以通过如下方式生成:
步骤S1,对预设的密钥图像进行一次或者多次置乱,获得置乱密钥图像;
在具体实现中,所述置乱的方式可以是Arnold置乱、Standard映射、Baker变换、魔方变换等。在本申请的一种优选实施例中,所述的置乱方式可以是Arnold置乱。
例如:对密钥图像的像素值矩阵PM×N进行Arnold置乱,获得置乱密钥图像矩阵P’M×N,所述Arnold置乱的公式如(I):
其中,(xn,yn)为密钥图像的像素值矩阵PM×N的像素位置,变换后所得(xn+1,yn+1)为置乱密钥图像矩阵P’M×N的像素位置。
需要说明的是,置乱的次数可以是一次或者多次。所述置乱的次数可以由本领域技术人员根据实际需要进行设置,本申请实施例并不进行限制。
在本申请实施例中,每一次对待加密图像进行加密时,都可以通过外部输入的方式进行置乱次数设置。
步骤S2,将所述置乱密钥图像转换为指定数据形式,获得密钥数据。
在具体实现中,指定数据形式可以为数组。
在本申请的优选实施例中,所述步骤S2可以包括如下子步骤:
子步骤S21,将所述置乱密钥图像转换为第一数组;
在具体实现中,所述子步骤S21可以进一步包括如下子步骤:
子步骤S21a,获取所述置乱密钥图像的像素;
在实际应用中,所述像素的像素值可以为M×N。
子步骤S21b,获取所述置乱密钥图像的灰度信息;
在具体应用中,获取所述置乱密钥图像的灰度信息可以是根据所述置乱密钥图像的像素值按照灰度公式进行计算获得的。
在实际应用中,所述获取所述置乱密钥图像的灰度信息可以按照公式A[k]=0.299×R(i,j)+0.587×G(i,j)+0.114×B(i,j)进行计算获得的。本领域技术人员也可以根据实际需要通过其他的灰度公式,对图像的像素值进行转换,获取所述置乱密钥图像的灰度信息。
子步骤S21c,将所述置乱密钥图像的灰度信息按行依次存入第一数组A[M*N]中。
需要说明的是,M*N可以为第一数组A的长度,其中*可以为乘法含义。
例如:所述子步骤S21可以将所述置乱密钥图像中像素的像素值按照公式A[k]=0.299×R(i,j)+0.587×G(i,j)+0.114×B(i,j)转换为灰度信息,将置乱密钥图像的灰度信息按行依次存入第一数组A[M*N]中;其中,k为第一数组A中子元素编号,R(i,j)、G(i,j)、B(i,j)分别为矩阵P’M×N中像素(i,j)对应元素的红色、绿色和蓝色分量的强度。
子步骤S22,提取所述第一数组中的特征元素存入第二数组;
在具体实现中,所述子步骤S22可以进一步包括如下子步骤:
子步骤S22a,提取所述第一数组A[M*N]的第(M*N)子元素;
子步骤S22b,当所述(M*N)不能被16整除时,则舍去所述第一数组A[M*N]的第(M*N)子元素;
子步骤S22c,将所述第一数组A[M*N]的剩余的子元素作为特征元素依次存入第二数组B[n,16]中;其中,n=(M*N)/16,n取整数。
子步骤S23,提取所述第二数组中的元素作为密钥数据。
在具体实现中,提取所述第二数组中的元素可以是指提取所述第二数组B[n,16]中第i行的全部16个元素作为密钥数据。
在本申请的优选实施例中,由于不同密钥图像的大小是不同的,密钥的数量会随密钥图像的大小而改变,密钥的总数是不固定的,解决了由于密钥数量固定而造成的重复率高的问题,从而提高了数字图像的安全性。
步骤203,将所述密文图像数据转换指定数据形式,获得密文图像。
需要说明的是,所述指定数据形式可以为数组。
在实际应用中,可以将所得密文图像数据按行依次存入第五数组R[3*M’*N’]中,根据数组R[3*M’*N’],得到密文图像。
为使本领域技术人员更好地理解本申请实施例,以下通过具体的示例来说明本申请实施例中图像加密的方法。
参照图3,示出了本申请的一种图像加密的方法的示例图。
以对图4的待加密图像“Lena”进行图像加密为例。在对待加密图像“Lena”(简称为“待加密图像Q”)进行加密前,预先选取了图5“Peppers”作为密钥图像(简称为“密钥图像P”)。获得密钥图像P中像素的像素值矩阵PM×N,其中M、N分别为图像P的像素高和宽。对密钥图像P中像素的像素值矩阵PM×N进行30次Arnold置乱,获得置乱密钥图像P’。所述置乱密钥图像中像素的像素值矩阵P’M×N。参见图6。
然后,获取置乱密钥图像的像素,按照灰度公式A[k]=0.299×R(i,j)+0.587×G(i,j)+0.114×B(i,j)将像素值矩阵P’M×N转换为置乱密钥图像的灰度信息;获取所述置乱密钥图像的灰度信息,并将所述置乱密钥图像的灰度信息按行依次存入第一数组A[M*N]中。提取所述第一数组A[M*N]的第(M*N)子元素;当所述(M*N)不能被16整除时,则舍去所述第一数组A[M*N]的第(M*N)子元素;将所述第一数组A[M*N]的剩余的子元素作为特征元素依次存入第二数组B[n,16]中;其中,n=(M*N)/16,n取整数。则可以提取所述第二数组中的元素作为预设的密钥数据对明文图像“Lena”进行加密。
在待加密图像Q进行加密时,先获取待加密图像Q的像素。然后,按照灰度公式A[k]=0.299×R(i,j)+0.587×G(i,j)+0.114×B(i,j)将像素值转换为明文图像的灰度信息;获取所述待加密图像的灰度信息,并将所述待加密图像的灰度信息按行依次读入第三数组C[3*M’*N’]中;其中,所述第三数组C[3*M’*N’]相邻的三个元素分别存储同一像素中红色、绿色、蓝色的颜色分量的强度:C[3*k]=R(i,j);C[3*k+1]=G(i,j);C[3*k+2]=B(i,j);其中,R(i,j)、G(i,j)、B(i,j)分别为所述待加密图像在像素(i,j)处对应的红色、绿色、蓝色分量的强度;k的取值范围是0≤k<M’*N’。提取所述第三数组C[3*M’*N’]的第(3*M’*N’)子元素;当所述(3*M’*N’)不能被8整除时,则舍去所述第三数组C[3*M’*N’]的第(3*M’*N’)子元素;将所述第三数组C[3*M’*N’]的剩余的子元素作为特征元素依次存入第四数组D[m,8]中;其中,m=(3*M’*N’)/8,m取整数。则可以提取所述第四数组中的元素作为明文图像数据。
针对所述第四数组中第i行的元素采用预设的第二数组中第i行的元素进行加密,当所述预设的第二数组的行数n小于所述第四数组的行数m时,针对从第四数组第n+k行中的元素采用预设的第二数组第k行中的元素进行3DES算法加密。如此依次进行,直至所有明文图像数据都已被所述预设的密钥数据加密为止。将所述密文图像数据转换指定数据形式,获得密文图像。参见图7。
本申请实施例通过将一幅密钥图像进行Arnold置乱后,对将置乱密钥图像的像素信息进行分组,每一组的数据信息都作为所有密钥,即将置乱密钥图片作为密钥的集合,再采用所述密钥对待加密信息进行3DES的加密,以及采用所述密钥对已加密信息进行3DES的解密。通过将Arnold置乱和3DES算法二者复合应用于图像加密中,可将Arnold置乱的简单有效和3DES算法的优越的安全性能集合起来,避免了Arnold置乱度不高的问题,提高了整体的安全性。
参照图8,示出了本申请的一种图像解密的方法实施例1的步骤流程图,具体可以包括如下步骤:
步骤301,将密文图像转换为指定数据形式,获得密文图像数据;
需要说明的是,所述密文图像可以是指采用上述一种图像加密的方法进行加密而获得的密文图像。
步骤302,针对所述密文图像数据采用预设的密钥数据进行解密,获得明文图像数据;
需要说明的是,所述预设的密钥数据可以经由对预设的密钥图像按指定数据形式转换生成。
在具体实现中,所述针对所述密文图像数据采用预设的密钥数据进行解密的解密算法可以采用3DES解密算法(TripleDataEncryptionAlgorithm,三重数据加密算法)、RSA(RSA公钥加密算法)、AES(AdvancedEncryptionStandard,高级加密标准)、MD5(MessageDigestAlgorithm5,消息摘要算法第五版)等。本领域技术人员可以根据实际需要进行设置。
在本申请的优选实施例中,针对所述密文图像数据可以采用预设的密钥数据进行3DES算法解密,所述3DES算法解密过程为:
P=Dk1(Ek2(Dk3(R)));
其中,所述P为8字节明文,所述R为8字节密文,所述函数E()为DES加密过程,所述函数D()为DES解密过程,所述k1、k2、k3分别为16字节密钥;其中k1≠k2,k1≠k3。
在具体实现中,本申请实施例对于所述图像的大小、格式、位数均不作限制,本领域技术人员可以根据实际需要进行设置。所述图像的格式可以是JPEG格式、BMP格式、PNG格式等。所述图像的位数可以是8位、16位、24位等。
参照图9,示出了本申请的一种图像解密的方法实施例2的步骤流程图,具体可以包括如下步骤:
步骤401,将密文图像转换为指定数据形式,获得密文图像数据;
在本申请实施例中,所述步骤401可以包括如下子步骤:
子步骤401a,将密文图像转换为第三数组;
在本申请实施例中,所述子步骤401a可以进一步包括如下子步骤:
子步骤D1,获取所述密文图像的像素;
在实际应用中,所述像素的像素值为M’×N’;
需要说明的是,所述像素的像素值形式可以为矩阵、数值等。
子步骤D2,获取所述密文图像的灰度信息;
在具体应用中,获取所述密文图像的灰度信息可以是根据所述密文图像的像素值按照灰度公式进行计算获得的。
在实际应用中,所述获取所述密文图像的灰度信息可以按照公式A[k]=0.299×R(i,j)+0.587×G(i,j)+0.114×B(i,j)进行计算获得的。本领域技术人员也可以根据实际需要通过其他的灰度公式,对图像的像素值进行转换,获取所述密文图像的灰度信息。
子步骤D3,将所述密文图像的灰度信息按行依次读入第三数组C[3*M’*N’]中;
需要说明的是,3*M*N可以为第三数组C的长度,其中*可以为乘法含义。
在具体应用中,所述第三数组C[3*M’*N’]相邻的三个元素分别存储同一像素中红色、绿色、蓝色的颜色分量的强度:C[3*k]=R(i,j);C[3*k+1]=G(i,j);C[3*k+2]=B(i,j);其中,R(i,j)、G(i,j)、B(i,j)分别为所述待加密图像在像素(i,j)处对应的红色、绿色、蓝色分量的强度;k的取值范围是0≤k<M’*N’。
子步骤401b,提取所述第三数组中的特征元素存入第四数组;
需要说明的是,所述特征元素可以是指在数组中具有特定特征的元素。
在具体实现中,所述子步骤401b可以进一步包括如下子步骤:
子步骤E1,提取所述第三数组C[3*M’*N’]的第(3*M’*N’)子元素;
子步骤E2,当所述(3*M’*N’)不能被8整除时,则舍去所述第三数组C[3*M’*N’]的第(3*M’*N’)子元素;
子步骤E3,将所述第三数组C[3*M’*N’]的剩余的子元素作为特征元素依次存入第四数组D[m,8]中;其中,m=(3*M’*N’)/8,m取整数。
子步骤401c,提取所述第四数组中的元素作为密文图像数据。
在具体实现中,提取所述第四数组中的元素可以是指提取所述第四数组D[m,8]中第i行的全部8个元素作为密文图像数据
步骤402,针对所述密文图像数据采用预设的密钥数据进行解密,获得明文图像数据。
需要说明的是,所述预设的密钥数据可以经由对预设的密钥图像按指定数据形式转换生成。在本申请实施例中,所述指定数据形式可以是数组。
在本申请实施例中,所述步骤402可以包括如下子步骤:
子步骤402a,针对第四数组中第i行的元素采用预设的第二数组中第i行的元素进行解密,获得明文图像数据。
在具体实现中,所述子步骤404a进一步包括如下子步骤:
子步骤F1,当所述预设的第二数组的行数n小于所述第四数组的行数m时,针对从第四数组第n+k行中的元素采用预设的第二数组第k行中的元素进行解密。
在本申请实施例中,所述预设的密钥数据可以通过如下方式生成:
步骤S1,对预设的密钥图像进行一次或者多次置乱,获得置乱密钥图像;
在具体实现中,所述置乱的方式可以是Arnold置乱、Standard映射、Baker变换、魔方变换等。在本申请的一种优选实施例中,所述的置乱方式可以是Arnold置乱。
例如:对密钥图像的像素值矩阵PM×N进行Arnold置乱,获得置乱密钥图像矩阵P’M×N,所述Arnold置乱的公式如(I):
其中,(xn,yn)为密钥图像的像素值矩阵PM×N的像素位置,变换后所得(xn+1,yn+1)为置乱密钥图像矩阵P’M×N的像素位置。
需要说明的是,置乱的次数可以是一次或者多次。所述置乱的次数可以由本领域技术人员根据实际需要进行设置,本申请实施例并不进行限制。
在本申请实施例中,每一次对待加密图像进行加密时,都可以通过外部输入的方式进行置乱次数设置。
步骤S2,将所述置乱密钥图像转换为指定数据形式,获得密钥数据。
在具体实现中,指定数据形式可以为数组。
在本申请的优选实施例中,所述步骤S2可以包括如下子步骤:
子步骤S21,将所述置乱密钥图像转换为第一数组;
在具体实现中,所述子步骤S21可以进一步包括如下子步骤:
子步骤S21a,获取所述置乱密钥图像的像素;
在实际应用中,所述像素的像素值可以为M×N。
子步骤S21b,获取所述置乱密钥图像的灰度信息;
在具体应用中,获取所述置乱密钥图像的灰度信息可以是根据所述置乱密钥图像的像素值按照灰度公式进行计算获得的。
在实际应用中,所述获取所述置乱密钥图像的灰度信息可以按照公式A[k]=0.299×R(i,j)+0.587×G(i,j)+0.114×B(i,j)进行计算获得的。本领域技术人员也可以根据实际需要通过其他的灰度公式,对图像的像素值进行转换,获取所述置乱密钥图像的灰度信息。
子步骤S21c,将所述置乱密钥图像的灰度信息按行依次存入第一数组A[M*N]中。
需要说明的是,M*N可以为第一数组A的长度,其中*可以为乘法含义。
例如:所述子步骤S21可以将所述置乱密钥图像中像素的像素值按照公式A[k]=0.299×R(i,j)+0.587×G(i,j)+0.114×B(i,j)转换为灰度信息,将置乱密钥图像的灰度信息按行依次存入第一数组A[M*N]中;其中,k为第一数组A中子元素编号,R(i,j)、G(i,j)、B(i,j)分别为矩阵P’M×N中像素(i,j)对应元素的红色、绿色和蓝色分量的强度。
子步骤S22,提取所述第一数组中的特征元素存入第二数组;
在具体实现中,所述子步骤S22可以进一步包括如下子步骤:
子步骤S22a,提取所述第一数组A[M*N]的第(M*N)子元素;
子步骤S22b,当所述(M*N)不能被16整除时,则舍去所述第一数组A[M*N]的第(M*N)子元素;
子步骤S22c,将所述第一数组A[M*N]的剩余的子元素作为特征元素依次存入第二数组B[n,16]中;其中,n=(M*N)/16,n取整数。
子步骤S23,提取所述第二数组中的元素作为密钥数据。
在具体实现中,提取所述第二数组中的元素可以是指提取所述第二数组B[n,16]中第i行的全部16个元素作为密钥数据。
步骤403,将所述明文图像数据转换指定数据形式,获得明文图像。
需要说明的是,所述指定数据形式可以为数组。
在实际应用中,可以将所得明文图像数据按行依次存入第五数组R[3*M’*N’]中,根据数组R[3*M’*N’],得到明文图像。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请实施例并不受所描述的动作顺序的限制,因为依据本申请实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本申请实施例所必须的。
参照图10,示出了本申请一种图像加密的装置实施例1的结构框图,具体可以包括如下模块:
明文图像转换模块501,用于将待加密图像转换为指定数据形式,获得明文图像数据;
加密模块502,用于针对所述明文图像数据采用预设的密钥数据进行加密,获得密文图像数据;其中,所述预设的密钥数据经由对预设的密钥图像按指定数据形式转换生成。
参照图11,示出了本申请一种图像加密的装置实施例2的结构框图,具体可以包括如下模块:
明文图像转换模块601,用于将待加密图像转换为指定数据形式,获得明文图像数据;
在本申请实施例中,所述明文图像转换模块可以601包括如下子模块:
第三数组转换子模块601a,用于将待加密图像转换为第三数组;
在实际应用中,所述第三数组转换子模块601a还可以进一步包括如下单元:
第二像素获取单元,用于获取所述待加密图像的像素;其中,所述像素的像素值为M’×N’;
第二灰度信息获取单元,用于获取所述待加密图像的灰度信息;
第三数组存入单元,用于将所述待加密图像的灰度信息按行依次读入第三数组C[3*M’*N’]中;其中,所述第三数组C[3*M’*N’]相邻的三个元素分别存储同一像素中红色、绿色、蓝色的颜色分量的强度:C[3*k]=R(i,j);C[3*k+1]=G(i,j);C[3*k+2]=B(i,j);其中,R(i,j)、G(i,j)、B(i,j)分别为所述待加密图像在像素(i,j)处对应的红色、绿色、蓝色分量的强度;k的取值范围是0≤k<M’*N’。
第四数组转换子模块601b,用于提取所述第三数组中的特征元素存入第四数组;
在实际应用中,所述第四数组转换子模块601a可以进一步包括如下单元:
第三数组元素提取单元,用于提取所述第三数组C[3*M’*N’]的第(3*M’*N’)子元素;
第二计算单元,用于当所述(3*M’*N’)不能被8整除时,则舍去所述第三数组C[3*M’*N’]的第(3*M’*N’)子元素;
第四数组存入单元,用于将所述第三数组C[3*M’*N’]的剩余的子元素作为特征元素依次存入第四数组D[m,8]中;其中,m=(3*M’*N’)/8,m取整数。
明文图像数据提取子模块601c,用于提取所述第四数组中的元素作为明文图像数据。
加密模块602,用于针对所述明文图像数据采用预设的密钥数据进行加密,获得密文图像数据;
需要说明的是,所述预设的密钥数据可以经由对预设的密钥图像按指定数据形式转换生成。在本申请实施例中,所述指定数据形式可以是数组。
在本申请实施例中,所述加密模块602可以包括如下子模块:
明文图像加密子模块602a,用于针对所述第四数组中第i行的元素采用预设的第二数组中第i行的元素进行加密,获得密文图像数据。
在实际应用中,所述明文图像加密子模块602a可以进一步包括如下单元:
元素提取控制单元,用于当所述预设的第二数组的行数n小于所述第四数组的行数m时,针对从第四数组第n+k行中的元素采用预设的第二数组第k行中的元素进行加密。
在本申请实施例中,还包括如下模块:
密钥图像置乱模块603,用于对预设的密钥图像进行一次或者多次置乱,获得置乱密钥图像;
密钥数据转换模块604,用于将所述置乱密钥图像转换为指定数据形式,获得密钥数据。
在本申请实施例中,所述密钥数据转换模块604可以进一步包括如下子模块:
第一数组转换子模块604a,用于将所述置乱密钥图像转换为第一数组;
在实际应用中,所述第一数组转换子模块604a可以进一步包括如下单元:
第一像素获取单元,用于获取所述置乱密钥图像的像素;其中,所述像素的像素值为M×N;
第一灰度信息获取单元,用于获取所述置乱密钥图像的灰度信息;
第一数组存入单元,用于将所述置乱密钥图像的灰度信息按行依次存入第一数组A[M*N]中。
第二数组转换子模块604b,用于提取所述第一数组中的特征元素存入第二数组;
在实际应用中,所述第二数组转换子模块604b可以进一步包括如下单元:
第一数组元素提取单元,用于提取所述第一数组A[M*N]的第(M*N)子元素;
第一计算单元,用于当所述(M*N)不能被16整除时,则舍去所述第一数组A[M*N]的第(M*N)子元素;
第二数组存入单元,用于将所述第一数组A[M*N]的剩余的子元素作为特征元素依次存入第二数组B[n,16]中;其中,n=(M*N)/16,n取整数。
密钥数据提取子模块604c,用于提取所述第二数组中的元素作为密钥数据。
密文图像数据转换模块605,用于将所述密文图像数据转换指定数据形式,获得密文图像。
参照图12,示出了本申请一种图像解密的装置实施例1的结构框图,具体可以包括如下模块:
密文图像转换模块701,将密文图像转换为指定数据形式,获得密文图像数据;
解密模块702,用于针对所述密文图像数据采用预设的密钥数据进行解密,获得明文图像数据;其中,所述预设的密钥数据经由对预设的密钥图像按指定数据形式转换生成。
参照图13,示出了本申请一种图像解密的装置实施例2的结构框图,具体可以包括如下模块:
密文图像转换模块801,将密文图像转换为指定数据形式,获得密文图像数据;
在本申请实施例中,所述密文图像转换模块801包括如下子模块:
第三数组转换子模块801a,用于将密文图像转换为第三数组;
在实际应用中,所述第三数组转换子模块801a还可以进一步包括如下单元:
第二像素获取单元,用于获取所述密文图像的像素;其中,所述像素的像素值为M’×N’;
第二灰度信息获取单元,用于获取所述密文图像的灰度信息;
第三数组存入单元,用于将所述密文图像的灰度信息按行依次读入第三数组C[3*M’*N’]中;其中,所述第三数组C[3*M’*N’]相邻的三个元素分别存储同一像素中红色、绿色、蓝色的颜色分量的强度:C[3*k]=R(i,j);C[3*k+1]=G(i,j);C[3*k+2]=B(i,j);其中,R(i,j)、G(i,j)、B(i,j)分别为所述待加密图像在像素(i,j)处对应的红色、绿色、蓝色分量的强度;k的取值范围是0≤k<M’*N’。
第四数组转换子模块801b,用于提取所述第三数组中的特征元素存入第四数组;
在实际应用中,所述第四数组转换子模块801b可以进一步包括如下单元:
第三数组元素提取单元,用于提取所述第三数组C[3*M’*N’]的第(3*M’*N’)子元素;
第二计算单元,用于当所述(3*M’*N’)不能被8整除时,则舍去所述第三数组C[3*M’*N’]的第(3*M’*N’)子元素;
第四数组存入单元,用于将所述第三数组C[3*M’*N’]的剩余的子元素作为特征元素依次存入第四数组D[m,8]中;其中,m=(3*M’*N’)/8,m取整数。
密文图像数据提取子模块801c,用于提取所述第四数组中的元素作为密文图像数据。
解密模块802,用于针对所述密文图像数据采用预设的密钥数据进行解密,获得明文图像数据;其中,所述预设的密钥数据经由对预设的密钥图像按指定数据形式转换生成。
需要说明的是,所述预设的密钥数据可以经由对预设的密钥图像按指定数据形式转换生成。在本申请实施例中,所述指定数据形式可以是数组。
在本申请实施例中,所述解密模块802可以包括如下子模块:
密文图像解密子模块802a,用于针对第四数组中第i行的元素采用预设的第二数组中第i行的元素进行解密,获得明文图像数据。
在实际应用中,所述密文图像解密子模块802a可以进一步包括如下单元:
元素提取控制单元,用于当所述预设的第二数组的行数n小于所述第四数组的行数m时,针对从第四数组第n+k行中的元素采用预设的第二数组第k行中的元素进行解密。
在本申请实施例中,还包括如下模块:
密钥图像置乱模块803,用于对预设的密钥图像进行一次或者多次置乱,获得置乱密钥图像;
密钥数据转换模块804,用于将所述置乱密钥图像转换为指定数据形式,获得密钥数据。
在本申请实施例中,所述密钥数据转换模块804可以进一步包括如下子模块:
第一数组转换子模块804a,用于将所述置乱密钥图像转换为第一数组;
在实际应用中,所述第一数组转换子模块804a可以进一步包括如下单元:
第一像素获取单元,用于获取所述置乱密钥图像的像素;其中,所述像素的像素值为M×N;
第一灰度信息获取单元,用于获取所述置乱密钥图像的灰度信息;
第一数组存入单元,用于将所述置乱密钥图像的灰度信息按行依次存入第一数组A[M*N]中。
第二数组转换子模块804b,用于提取所述第一数组中的特征元素存入第二数组;
在实际应用中,所述第二数组转换子模块804b可以进一步包括如下单元:
第一数组元素提取单元,用于提取所述第一数组A[M*N]的第(M*N)子元素;
第一计算单元,用于当所述(M*N)不能被16整除时,则舍去所述第一数组A[M*N]的第(M*N)子元素;
第二数组存入单元,用于将所述第一数组A[M*N]的剩余的子元素作为特征元素依次存入第二数组B[n,16]中;其中,n=(M*N)/16,n取整数。
密钥数据提取子模块804c,用于提取所述第二数组中的元素作为密钥数据。
明文图像数据转换模块805,用于将所述明文图像数据转换指定数据形式,获得明文图像。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本申请实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本申请实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
在一个典型的配置中,所述计算机设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flashRAM)。内存是计算机可读介质的示例。计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非持续性的电脑可读媒体(transitorymedia),如调制的数据信号和载波。
本申请实施例是参照根据本申请实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本申请所提供的一种图像加密的方法,一种图像解密的方法,一种图像加密的装置,以及,一种图像解密的装置,进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (48)
1.一种图像加密的方法,其特征在于,包括:
将待加密图像转换为指定数据形式,获得明文图像数据;
针对所述明文图像数据采用预设的密钥数据进行加密,获得密文图像数据;其中,所述预设的密钥数据经由对预设的密钥图像按指定数据形式转换生成。
2.根据权利要求1所述的方法,其特征在于,所述预设的密钥数据通过如下方式生成:
对预设的密钥图像进行一次或者多次置乱,获得置乱密钥图像;
将所述置乱密钥图像转换为指定数据形式,获得密钥数据。
3.根据权利要求2所述的方法,其特征在于,所述指定数据形式为数组,所述将所述置乱密钥图像转换为指定数据形式,获得密钥数据的子步骤进一步包括:
将所述置乱密钥图像转换为第一数组;
提取所述第一数组中的特征元素存入第二数组;
提取所述第二数组中的元素作为密钥数据。
4.根据权利要求3所述的方法,其特征在于,所述将置乱密钥图像的转换为第一数组的子步骤进一步包括:
获取所述置乱密钥图像的像素;其中,所述像素的像素值为M×N;
获取所述置乱密钥图像的灰度信息;
将所述置乱密钥图像的灰度信息按行依次存入第一数组A[M*N]中。
5.根据权利要求4所述的方法,其特征在于,所述提取所述第一数组中的特征元素存入第二数组的子步骤进一步包括:
提取所述第一数组A[M*N]的第(M*N)子元素;
当所述(M*N)不能被16整除时,则舍去所述第一数组A[M*N]的第(M*N)子元素;
将所述第一数组A[M*N]的剩余的子元素作为特征元素依次存入第二数组B[n,16]中;其中,n=(M*N)/16,n取整数。
6.根据权利要求1所述的方法,其特征在于,所述指定数据形式为数组,所述将待加密图像转换为指定数据形式,获得明文图像数据的步骤包括:
将待加密图像转换为第三数组;
提取所述第三数组中的特征元素存入第四数组;
提取所述第四数组中的元素作为明文图像数据。
7.根据权利要求6所述的方法,其特征在于,所述将待加密图像的转换为第三数组的子步骤进一步包括:
获取所述待加密图像的像素;其中,所述像素的像素值为M’×N’;
获取所述待加密图像的灰度信息;
将所述待加密图像的灰度信息按行依次读入第三数组C[3*M’*N’]中;其中,所述第三数组C[3*M’*N’]相邻的三个元素分别存储同一像素中红色、绿色、蓝色的颜色分量的强度:C[3*k]=R(i,j);C[3*k+1]=G(i,j);C[3*k+2]=B(i,j);其中,R(i,j)、G(i,j)、B(i,j)分别为所述待加密图像在像素(i,j)处对应的红色、绿色、蓝色分量的强度;k的取值范围是0≤k<M’*N’。
8.根据权利要求7所述的方法,其特征在于,所述提取所述第三数组中的特征元素存入第四数组的子步骤进一步包括:
提取所述第三数组C[3*M’*N’]的第(3*M’*N’)子元素;
当所述(3*M’*N’)不能被8整除时,则舍去所述第三数组C[3*M’*N’]的第(3*M’*N’)子元素;
将所述第三数组C[3*M’*N’]的剩余的子元素作为特征元素依次存入第四数组D[m,8]中;其中,m=(3*M’*N’)/8,m取整数。
9.根据权利要求8所述的方法,其特征在于,所述针对所述明文图像数据采用预设的密钥数据进行加密,获得密文图像数据的步骤包括:
针对所述第四数组中第i行的元素采用预设的第二数组中第i行的元素进行加密,获得密文图像数据。
10.根据权利要求9所述的方法,其特征在于,所述针对所述第四数组中第i行的元素采用预设的第二数组中第i行的元素进行加密的子步骤进一步包括:
当所述预设的第二数组的行数n小于所述第四数组的行数m时,针对从第四数组第n+k行中的元素采用预设的第二数组第k行中的元素进行加密。
11.根据权利要求1所述的方法,其特征在于,针对所述明文图像数据采用预设的密钥数据进行3DES算法加密,所述3DES算法加密过程为:
R=Ek3(Dk2(Ek1(P)));
其中,所述P为8字节明文,所述R为8字节密文,所述函数E()为DES加密过程,所述函数D()为DES解密过程,所述k1、k2、k3分别为16字节密钥;其中k1≠k2,k1≠k3。
12.根据权利要求1所述的方法,其特征在于,还包括:
将所述密文图像数据转换指定数据形式,获得密文图像。
13.一种图像解密的方法,其特征在于,包括:
将密文图像转换为指定数据形式,获得密文图像数据;
针对所述密文图像数据采用预设的密钥数据进行解密,获得明文图像数据;其中,所述预设的密钥数据经由对预设的密钥图像按指定数据形式转换生成。
14.根据权利要求1所述的方法,其特征在于,所述预设的密钥数据通过如下方式生成:
对预设的密钥图像进行一次或者多次置乱,获得置乱密钥图像;其中,置乱次数与加密时相同;
将所述置乱密钥图像转换为指定数据形式,获得密钥数据。
15.根据权利要求14所述的方法,其特征在于,所述指定数据形式为数组,所述将所述置乱密钥图像转换为指定数据形式,获得密钥数据的子步骤进一步包括:
将所述置乱密钥图像转换为第一数组;
提取所述第一数组中的特征元素存入第二数组;
提取所述第二数组中的元素作为密钥数据。
16.根据权利要求15所述的方法,其特征在于,所述将置乱密钥图像的转换为第一数组的子步骤进一步包括:
获取所述置乱密钥图像的像素;其中,所述像素的像素值为M×N;
获取所述置乱密钥图像的灰度信息;
将所述置乱密钥图像的灰度信息按行依次存入第一数组A[M*N]中。
17.根据权利要求16所述的方法,其特征在于,所述提取所述第一数组中的特征元素存入第二数组的子步骤进一步包括:
提取所述第一数组A[M*N]的第(M*N)子元素;
当所述(M*N)不能被16整除时,则舍去所述第一数组A[M*N]的第(M*N)子元素;
将所述第一数组A[M*N]的剩余的子元素作为特征元素依次存入第二数组B[n,16]中;其中,n=(M*N)/16,n取整数。
18.根据权利要求13所述的方法,其特征在于,所述指定数据形式为数组,所述将密文图像转换为指定数据形式,获得密文图像数据的步骤包括:
将密文图像转换为第三数组;
提取所述第三数组中的特征元素存入第四数组;
提取所述第四数组中的元素作为密文图像数据。
19.根据权利要求18所述的方法,其特征在于,所述将密文图像的转换为第三数组的子步骤进一步包括:
获取所述密文图像的像素;其中,所述像素的像素值为M’×N’;
获取所述密文图像的灰度信息;
将所述密文图像的灰度信息按行依次读入第三数组C[3*M’*N’]中;其中,所述第三数组C[3*M’*N’]相邻的三个元素分别存储同一像素中红色、绿色、蓝色的颜色分量的强度:C[3*k]=R(i,j);C[3*k+1]=G(i,j);C[3*k+2]=B(i,j);其中,R(i,j)、G(i,j)、B(i,j)分别为所述待加密图像在像素(i,j)处对应的红色、绿色、蓝色分量的强度;k的取值范围是0≤k<M’*N’。
20.根据权利要求19所述的方法,其特征在于,所述提取所述第三数组中的特征元素存入第四数组的子步骤进一步包括:
提取所述第三数组C[3*M’*N’]的第(3*M’*N’)子元素;
当所述(3*M’*N’)不能被8整除时,则舍去所述第三数组C[3*M’*N’]的第(3*M’*N’)子元素;
将所述第三数组C[3*M’*N’]的剩余的子元素作为特征元素依次存入第四数组D[m,8]中;其中,m=(3*M’*N’)/8,m取整数。
21.根据权利要求20所述的方法,其特征在于,所述针对所述密文图像数据采用预设的密钥数据进行解密,获得明文图像数据的步骤包括:
针对第四数组中第i行的元素采用预设的第二数组中第i行的元素进行解密,获得明文图像数据。
22.根据权利要求21所述的方法,其特征在于,所述针对第四数组中第i行的元素采用预设的第二数组中第i行的元素进行解密的子步骤进一步包括:
当所述预设的第二数组的行数n小于所述第四数组的行数m时,针对从第四数组第n+k行中的元素采用预设的第二数组第k行中的元素进行解密。
23.根据权利要求13所述的方法,其特征在于,针对所述密文图像数据采用预设的密钥数据进行3DES算法解密,所述3DES算法解密过程为:
P=Dk1(Ek2(Dk3(R)));
其中,所述P为8字节明文,所述R为8字节密文,所述函数E()为DES加密过程,所述函数D()为DES解密过程,所述k1、k2、k3分别为16字节密钥;其中k1≠k2,k1≠k3。
24.根据权利要求13所述的方法,其特征在于,还包括:
将所述明文图像数据转换指定数据形式,获得明文图像。
25.一种图像加密的装置,其特征在于,包括:
明文图像转换模块,用于将待加密图像转换为指定数据形式,获得明文图像数据;
加密模块,用于针对所述明文图像数据采用预设的密钥数据进行加密,获得密文图像数据;其中,所述预设的密钥数据经由对预设的密钥图像按指定数据形式转换生成。
26.根据权利要求25所述的装置,其特征在于,还包括:
密钥图像置乱模块,用于对预设的密钥图像进行一次或者多次置乱,获得置乱密钥图像;
密钥数据转换模块,用于将所述置乱密钥图像转换为指定数据形式,获得密钥数据。
27.根据权利要求26所述的装置,其特征在于,所述指定数据形式为数组,所述密钥数据转换模块进一步包括:
第一数组转换子模块,用于将所述置乱密钥图像转换为第一数组;
第二数组转换子模块,用于提取所述第一数组中的特征元素存入第二数组;
密钥数据提取子模块,用于提取所述第二数组中的元素作为密钥数据。
28.根据权利要求27所述的装置,其特征在于,所述第一数组转换子模块进一步包括:
第一像素获取单元,用于获取所述置乱密钥图像的像素;其中,所述像素的像素值为M×N;
第一灰度信息获取单元,用于获取所述置乱密钥图像的灰度信息;
第一数组存入单元,用于将所述置乱密钥图像的灰度信息按行依次存入第一数组A[M*N]中。
29.根据权利要求28所述的装置,其特征在于,所述第二数组转换子模块进一步包括:
第一数组元素提取单元,用于提取所述第一数组A[M*N]的第(M*N)子元素;
第一计算单元,用于当所述(M*N)不能被16整除时,则舍去所述第一数组A[M*N]的第(M*N)子元素;
第二数组存入单元,用于将所述第一数组A[M*N]的剩余的子元素作为特征元素依次存入第二数组B[n,16]中;其中,n=(M*N)/16,n取整数。
30.根据权利要求25所述的装置,其特征在于,所述明文图像转换模块包括:
第三数组转换子模块,用于将待加密图像转换为第三数组;
第四数组转换子模块,用于提取所述第三数组中的特征元素存入第四数组;
明文图像数据提取子模块,用于提取所述第四数组中的元素作为明文图像数据。
31.根据权利要求30所述的装置,其特征在于,所述第三数组转换子模块进一步包括:
第二像素获取单元,用于获取所述待加密图像的像素;其中,所述像素的像素值为M’×N’;
第二灰度信息获取单元,用于获取所述待加密图像的灰度信息;
第三数组存入单元,用于将所述待加密图像的灰度信息按行依次读入第三数组C[3*M’*N’]中;其中,所述第三数组C[3*M’*N’]相邻的三个元素分别存储同一像素中红色、绿色、蓝色的颜色分量的强度:C[3*k]=R(i,j);C[3*k+1]=G(i,j);C[3*k+2]=B(i,j);其中,R(i,j)、G(i,j)、B(i,j)分别为所述待加密图像在像素(i,j)处对应的红色、绿色、蓝色分量的强度;k的取值范围是0≤k<M’*N’。
32.根据权利要求31所述的装置,其特征在于,所述第四数组转换子模块进一步包括:
第三数组元素提取单元,用于提取所述第三数组C[3*M’*N’]的第(3*M’*N’)子元素;
第二计算单元,用于当所述(3*M’*N’)不能被8整除时,则舍去所述第三数组C[3*M’*N’]的第(3*M’*N’)子元素;
第四数组存入单元,用于将所述第三数组C[3*M’*N’]的剩余的子元素作为特征元素依次存入第四数组D[m,8]中;其中,m=(3*M’*N’)/8,m取整数。
33.根据权利要求32所述的装置,其特征在于,所述加密模块包括:
明文图像加密子模块,用于针对所述第四数组中第i行的元素采用预设的第二数组中第i行的元素进行加密,获得密文图像数据。
34.根据权利要求33所述的装置,其特征在于,所述明文图像加密子模块进一步包括:
元素提取控制单元,用于当所述预设的第二数组的行数n小于所述第四数组的行数m时,针对从第四数组第n+k行中的元素采用预设的第二数组第k行中的元素进行加密。
35.根据权利要求25所述的装置,其特征在于,所述加密模块用于针对所述明文图像数据采用预设的密钥数据进行3DES算法加密,所述3DES算法加密过程为:
R=Ek3(Dk2(Ek1(P)));
其中,所述P为8字节明文,所述R为8字节密文,所述函数E()为DES加密过程,所述函数D()为DES解密过程,所述k1、k2、k3分别为16字节密钥;其中k1≠k2,k1≠k3。
36.根据权利要求25所述的装置,其特征在于,还包括:
密文图像数据转换模块,用于将所述密文图像数据转换指定数据形式,获得密文图像。
37.一种图像解密的装置,其特征在于,包括:
密文图像转换模块,将密文图像转换为指定数据形式,获得密文图像数据;
解密模块,用于针对所述密文图像数据采用预设的密钥数据进行解密,获得明文图像数据;其中,所述预设的密钥数据经由对预设的密钥图像按指定数据形式转换生成。
38.根据权利要求37所述的装置,其特征在于,还包括:
密钥图像置乱模块,用于对预设的密钥图像进行一次或者多次置乱,获得置乱密钥图像;其中,置乱次数与加密时相同;
密钥数据转换模块,用于将所述置乱密钥图像转换为指定数据形式,获得密钥数据。
39.根据权利要求38所述的装置,其特征在于,所述第一数组转换子模块进一步包括:
第一数组转换子模块,用于将所述置乱密钥图像转换为第一数组;
第二数组转换子模块,用于提取所述第一数组中的特征元素存入第二数组;
密钥数据提取子模块,用于提取所述第二数组中的元素作为密钥数据。
40.根据权利要求39所述的装置,其特征在于,所述第一数组转换子模块进一步包括:
第一像素获取单元,用于获取所述置乱密钥图像的像素;其中,所述像素的像素值为M×N;
第一灰度信息获取单元,用于获取所述置乱密钥图像的灰度信息;
第一数组存入单元,用于将所述置乱密钥图像的灰度信息按行依次存入第一数组A[M*N]中。
41.根据权利要求40所述的装置,其特征在于,所述第二数组转换子模块进一步包括:
第一数组元素提取单元,用于提取所述第一数组A[M*N]的第(M*N)子元素;
第一计算单元,用于当所述(M*N)不能被16整除时,则舍去所述第一数组A[M*N]的第(M*N)子元素;
第二数组存入单元,用于将所述第一数组A[M*N]的剩余的子元素作为特征元素依次存入第二数组B[n,16]中;其中,n=(M*N)/16,n取整数。
42.根据权利要求37所述的装置,其特征在于,所述指定数据形式为数组,所述密文图像转换模块包括:
第三数组转换子模块,用于将密文图像转换为第三数组;
第四数组转换子模块,用于提取所述第三数组中的特征元素存入第四数组;
密文图像数据提取子模块,用于提取所述第四数组中的元素作为密文图像数据。
43.根据权利要求42所述的装置,其特征在于,所述第三数组转换子模块进一步包括:
第二像素获取单元,用于获取所述密文图像的像素;其中,所述像素的像素值为M’×N’;
第二灰度信息获取单元,用于获取所述密文图像的灰度信息;
第三数组存入单元,用于将所述密文图像的灰度信息按行依次读入第三数组C[3*M’*N’]中;其中,所述第三数组C[3*M’*N’]相邻的三个元素分别存储同一像素中红色、绿色、蓝色的颜色分量的强度:C[3*k]=R(i,j);C[3*k+1]=G(i,j);C[3*k+2]=B(i,j);其中,R(i,j)、G(i,j)、B(i,j)分别为所述待加密图像在像素(i,j)处对应的红色、绿色、蓝色分量的强度;k的取值范围是0≤k<M’*N’。
44.根据权利要求43所述的装置,其特征在于,所述第四数组转换子模块进一步包括:
第三数组元素提取单元,用于提取所述第三数组C[3*M’*N’]的第(3*M’*N’)子元素;
第二计算单元,用于当所述(3*M’*N’)不能被8整除时,则舍去所述第三数组C[3*M’*N’]的第(3*M’*N’)子元素;
第四数组存入单元,用于将所述第三数组C[3*M’*N’]的剩余的子元素作为特征元素依次存入第四数组D[m,8]中;其中,m=(3*M’*N’)/8,m取整数。
45.根据权利要求44所述的装置,其特征在于,所述解密模块包括:
密文图像解密子模块,用于针对第四数组中第i行的元素采用预设的第二数组中第i行的元素进行解密,获得明文图像数据。
46.根据权利要求45所述的装置,其特征在于,所述密文图像解密子模块进一步包括:
元素提取控制单元,用于当所述预设的第二数组的行数n小于所述第四数组的行数m时,针对从第四数组第n+k行中的元素采用预设的第二数组第k行中的元素进行解密。
47.根据权利要求37所述的装置,其特征在于,所述解密模块用于针对所述密文图像数据采用预设的密钥数据进行3DES算法解密,所述3DES算法解密过程为:
P=Dk1(Ek2(Dk3(R)));
其中,所述P为8字节明文,所述R为8字节密文,所述函数E()为DES加密过程,所述函数D()为DES解密过程,所述k1、k2、k3分别为16字节密钥;其中k1≠k2,k1≠k3。
48.根据权利要求37所述的装置,其特征在于,还包括:
明文图像数据转换模块,用于将所述明文图像数据转换指定数据形式,获得明文图像。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410789457.5A CN105763762B (zh) | 2014-12-17 | 2014-12-17 | 一种图像加密及解密的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410789457.5A CN105763762B (zh) | 2014-12-17 | 2014-12-17 | 一种图像加密及解密的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105763762A true CN105763762A (zh) | 2016-07-13 |
CN105763762B CN105763762B (zh) | 2019-01-01 |
Family
ID=56339695
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410789457.5A Active CN105763762B (zh) | 2014-12-17 | 2014-12-17 | 一种图像加密及解密的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105763762B (zh) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106408496A (zh) * | 2016-08-30 | 2017-02-15 | 广西科技大学 | 一种基于字节拆分的图像置乱方法 |
CN108040077A (zh) * | 2018-02-09 | 2018-05-15 | 成都康赛信息技术有限公司 | 防止网络系统数据泄露的混合置乱加密算法 |
CN108235074A (zh) * | 2018-01-08 | 2018-06-29 | 武汉斗鱼网络科技有限公司 | 一种发送、接收密钥信息的方法、服务器及计算机设备 |
CN108566500A (zh) * | 2018-03-02 | 2018-09-21 | 西南交通大学 | 基于混合加密机制的自适应图像加密域可逆隐藏方法 |
CN108629724A (zh) * | 2017-03-16 | 2018-10-09 | 湖南工程学院 | 一种新的三维映射图像加密方法 |
CN109033863A (zh) * | 2018-08-17 | 2018-12-18 | 广州视源电子科技股份有限公司 | 图片的加密、解密方法及装置 |
CN112669068A (zh) * | 2020-12-28 | 2021-04-16 | 河南省启研科技评价研究院有限公司 | 基于大数据的市场调研数据传输方法及系统 |
CN113407968A (zh) * | 2021-06-29 | 2021-09-17 | 平安国际智慧城市科技股份有限公司 | 目标检测模型的加密方法、装置、设备及存储介质 |
CN114390318A (zh) * | 2022-01-25 | 2022-04-22 | 南京曹操云控网络科技有限公司 | 一种用户数据加解密方法、装置及电子设备 |
CN115001690A (zh) * | 2022-05-16 | 2022-09-02 | 浙江吉利控股集团有限公司 | 基于魔方的加密方法、装置、设备及存储介质 |
CN115361237A (zh) * | 2022-10-20 | 2022-11-18 | 北京国旺盛源智能终端科技有限公司 | 一种云终端交互的数据加密传输方法及系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102196320A (zh) * | 2011-04-15 | 2011-09-21 | 江苏省现代企业信息化应用支撑软件工程技术研发中心 | 一种图像加解密系统 |
CN102609893A (zh) * | 2012-01-13 | 2012-07-25 | 航天科工深圳(集团)有限公司 | 一种数字图像加密和解密方法 |
US20130179690A1 (en) * | 2012-01-09 | 2013-07-11 | Huaqing Wu | Method and apparatus for fast image encryption and invisible digital watermark |
CN104063833A (zh) * | 2013-03-21 | 2014-09-24 | 中国水利水电科学研究院 | 一种图像加密、读取方法及装置 |
-
2014
- 2014-12-17 CN CN201410789457.5A patent/CN105763762B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102196320A (zh) * | 2011-04-15 | 2011-09-21 | 江苏省现代企业信息化应用支撑软件工程技术研发中心 | 一种图像加解密系统 |
US20130179690A1 (en) * | 2012-01-09 | 2013-07-11 | Huaqing Wu | Method and apparatus for fast image encryption and invisible digital watermark |
CN102609893A (zh) * | 2012-01-13 | 2012-07-25 | 航天科工深圳(集团)有限公司 | 一种数字图像加密和解密方法 |
CN104063833A (zh) * | 2013-03-21 | 2014-09-24 | 中国水利水电科学研究院 | 一种图像加密、读取方法及装置 |
Non-Patent Citations (1)
Title |
---|
张晓强等: "图像加密算法研究新进展", 《计算机工程与科学》 * |
Cited By (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106408496A (zh) * | 2016-08-30 | 2017-02-15 | 广西科技大学 | 一种基于字节拆分的图像置乱方法 |
CN106408496B (zh) * | 2016-08-30 | 2019-06-11 | 广西科技大学 | 一种基于字节拆分的图像置乱方法 |
CN108629724A (zh) * | 2017-03-16 | 2018-10-09 | 湖南工程学院 | 一种新的三维映射图像加密方法 |
CN108629724B (zh) * | 2017-03-16 | 2021-07-06 | 湖南工程学院 | 一种新的三维映射图像加密方法 |
CN108235074B (zh) * | 2018-01-08 | 2021-03-16 | 武汉斗鱼网络科技有限公司 | 一种发送、接收密钥信息的方法、服务器及计算机设备 |
CN108235074A (zh) * | 2018-01-08 | 2018-06-29 | 武汉斗鱼网络科技有限公司 | 一种发送、接收密钥信息的方法、服务器及计算机设备 |
CN108040077A (zh) * | 2018-02-09 | 2018-05-15 | 成都康赛信息技术有限公司 | 防止网络系统数据泄露的混合置乱加密算法 |
CN108566500A (zh) * | 2018-03-02 | 2018-09-21 | 西南交通大学 | 基于混合加密机制的自适应图像加密域可逆隐藏方法 |
CN108566500B (zh) * | 2018-03-02 | 2021-02-26 | 西南交通大学 | 基于混合加密机制的自适应图像加密域可逆隐藏方法 |
CN109033863A (zh) * | 2018-08-17 | 2018-12-18 | 广州视源电子科技股份有限公司 | 图片的加密、解密方法及装置 |
CN112669068B (zh) * | 2020-12-28 | 2024-05-14 | 深圳前海用友力合科技服务有限公司 | 基于大数据的市场调研数据传输方法及系统 |
CN112669068A (zh) * | 2020-12-28 | 2021-04-16 | 河南省启研科技评价研究院有限公司 | 基于大数据的市场调研数据传输方法及系统 |
CN113407968A (zh) * | 2021-06-29 | 2021-09-17 | 平安国际智慧城市科技股份有限公司 | 目标检测模型的加密方法、装置、设备及存储介质 |
CN113407968B (zh) * | 2021-06-29 | 2024-07-09 | 平安国际智慧城市科技股份有限公司 | 目标检测模型的加密方法、装置、设备及存储介质 |
CN114390318B (zh) * | 2022-01-25 | 2022-12-02 | 南京曹操云控网络科技有限公司 | 一种用户数据加解密方法、装置及电子设备 |
CN114390318A (zh) * | 2022-01-25 | 2022-04-22 | 南京曹操云控网络科技有限公司 | 一种用户数据加解密方法、装置及电子设备 |
CN115001690A (zh) * | 2022-05-16 | 2022-09-02 | 浙江吉利控股集团有限公司 | 基于魔方的加密方法、装置、设备及存储介质 |
CN115361237A (zh) * | 2022-10-20 | 2022-11-18 | 北京国旺盛源智能终端科技有限公司 | 一种云终端交互的数据加密传输方法及系统 |
CN115361237B (zh) * | 2022-10-20 | 2022-12-16 | 北京国旺盛源智能终端科技有限公司 | 一种云终端交互的数据加密传输方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN105763762B (zh) | 2019-01-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105763762A (zh) | 一种图像加密及解密的方法和装置 | |
Naskar et al. | A robust image encryption scheme using chaotic tent map and cellular automata | |
Li et al. | A novel plaintext-related image encryption scheme using hyper-chaotic system | |
Xu et al. | A novel chaotic image encryption algorithm using block scrambling and dynamic index based diffusion | |
Ping et al. | Design of image cipher using life-like cellular automata and chaotic map | |
Mollaeefar et al. | A novel encryption scheme for colored image based on high level chaotic maps | |
Patro et al. | A novel multi-dimensional multiple image encryption technique | |
Wu et al. | A new color image cryptosystem via hyperchaos synchronization | |
Ye et al. | An image encryption scheme based on time-delay and hyperchaotic system | |
Yoon et al. | An image encryption scheme with a pseudorandom permutation based on chaotic maps | |
EP1788542B1 (en) | Encryption device, encryption method, and computer program | |
CN103167213B (zh) | 基于Cat映射与超混沌Lorenz系统的数字图像加密方法 | |
Wu et al. | Image encryption using the sudoku matrix | |
Belazi et al. | Algebraic analysis of a RGB image encryption algorithm based on DNA encoding and chaotic map | |
CN103491279A (zh) | 超混沌Lorenz系统的4-邻域异或图像加密方法 | |
Li et al. | Video encryption based on hyperchaotic system | |
CN104268825A (zh) | 一种针对图像的加密及密文处理方法 | |
JP5689826B2 (ja) | 秘密計算システム、暗号化装置、秘密計算装置及びその方法、プログラム | |
Priyanka et al. | FPGA implementation of image encryption and decryption using AES 128-bit core | |
CN106530197A (zh) | 一种基于Kent映射和广义Gray码的图像加密方法 | |
Ye et al. | A novel block chaotic encryption scheme for remote sensing image | |
Nkandeu et al. | Image encryption using the logistic map coupled to a self-synchronizing streaming | |
CN104240177B (zh) | 一种基于混沌系统和分数阶傅立叶变换的彩色图像加密方法 | |
CN108174053B (zh) | 一种有向面积和扑克牌映射的解密区域限定图像加密方法 | |
Xu et al. | A fast image encryption scheme based on a nonlinear chaotic map |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CP01 | Change in the name or title of a patent holder |
Address after: 266555 Qingdao economic and Technological Development Zone, Shandong, Hong Kong Road, No. 218 Patentee after: Hisense Visual Technology Co., Ltd. Address before: 266555 Qingdao economic and Technological Development Zone, Shandong, Hong Kong Road, No. 218 Patentee before: QINGDAO HISENSE ELECTRONICS Co.,Ltd. |
|
CP01 | Change in the name or title of a patent holder |