论文信息:


文章目录
abstract
利用混沌理论和elliptic curve Elgamal cryptosystem的概念来生成密文图像和共享密钥。使用多个平面图像生成3D图像,并经历用于生成密码数据的置换和替换阶段。实验结果和分析表明,该算法具有密钥空间大、密码数据统计特性好、抗攻击能力强等特点。
1.Introduction
创新点:
- 通过使用多幅图像形成3D立方体结构来加密多幅图像。
- 为了防止已知明文攻击的算法,将SHA-512应用于输入图像以生成散列值,该散列值又被用来生成使用椭圆曲线密码算法计算的共享密钥。
- 为了在一定百分比的遮挡或噪声攻击下提供更好的图像检索,3D立方体沿所有轴进行排列和旋转,以生成置乱的3D立方体。
- 为了减少计算混沌序列的迭代次数,采用了基变换运算。
2. Proposed multiple image encryption scheme
2.1. Creating 3D cube
多个2D平面图像被分割成128×128,并通过堆叠在彼此之上而结合形成立方体。
2.2. Key exchange
SHA-512从3D图像立方体中生成512位散列值h。利用ECC(Elliptic Curve Cryptography)中点乘的概念,用G生成一个点hG(hGx,hGy),其中G是有限域上椭圆曲线的生成元。Ep: y2≡ x3+ax+b mod p
在通信方之间秘密共享为密文hG’,计算为hg’={kg,(hG+kPreceiver)}其中k是512位的随机整数,nreceiver为接收端的私钥,Preceiver为nreceiver与G的点乘(具体计算可见下方)。
点加:P1(x1,y1),P2(x2,y2)

点加倍:P1(x1,y1)
P3(x3,y3)=P1(x1,y1)+P1(x1,y1)

点减:P1(x1,y1),P2(x2,y2)
P3(x3,y3)=P1(x1,y1)+P2(x2,-y2)
点乘:用点加和点倍增混合计算kP1.
2.3. Generating chaotic sequence using hyper-chaotic system
超混沌系统


a = 35; b =3; c= 12; d = 7 ; e ∈(0.085,0:798)
2.4. Encryption algorithm
加密过程如下:
-
将n个图像转变成128×128×128的立方体(具体组成所需n的大小如表1);

-
SHA-512 算法从上述立方体中生成哈希值h,利用ECC中的点乘生成一个点hG(hGx,hGy);
-
将上述坐标转换成512位二进制,并分成4部分:{(b1;;b128)、(b129;;b256)、(b257;;b384)、(b385;;b512)},再将4部分转变成整数,即{(p;q;r;s)}。
-
计算超混沌系统的初始参数(w0,x0,y0,z0):w0 =p/2128; x0 =q/2128; y0 =r/2128; z0 =s/2128;
-
由hGx产生的(w0,x0,y0,z0)作为超级混沌系统初始输入,另e取初试输入的平均值。每隔e个距离取值,形成128的混沌序列(xi,yi,zi)。对(xi,yi,zi)排序得到(sxi,syi,szi),对比两者位置变化得到置换表(Px,Py,Pz)。


-
置乱:取Pz的值,首先沿z平面对3D图像立方体进行切片置换。将所获得的3D图像立方体沿x平面旋转90°,并使用Px的值沿z平面进行切片置换。类似地,将所获得的3D图像立方体沿y平面旋转90°,并通过沿z平面取Py的值来执行切片排列,从而得到置乱图像SIMG。
-
扩散:由hGy产生的(w0,x0,y0,z0)作为超级混沌系统初始输入,得到序列(wi,xi,yi,zi),进而得到取值范围(0255)的序列。此处(wi,xi,yi,zi~)的取值间隔为e/100,
wbyte=(|wi|×1015)256[[2;;7]];
xbyte=(|xi|×1015)256[[2;;7]];
ybyte=(|yi|×1015)256[[2;;7]];
zbyte=(|zi|×1015)256[[2;;7]];
(以256为基数执行基数转换操作,基数转换后,取位置2到7的值,因为第一位的值多在0~50,导致数值大小不够平均,故去掉。)
举例 :514181197950012={1;211;165;35;167;108;60}256

再将上述wbyte,xbyte,ybyte,z~byte进行组合得到
P1=S(wbyte,xbyte)
P2=S(wbyte,ybyte)
P3=S(wbyte,zbyte)
P4=S(xbyte,ybyte)
P5=S(xbyte,zbyte)
P6=S(ybyte,zbyte)
P7=S(P1,P6)
S混洗操作,如果wbyte中的项目数小于xbyte,则在wn处终止。如果wbyte中的项目数大于xbyte,则终止发生在wn,从xn取值。如果项目的数量在wbyte和xbyte中都相等,则在xn处终止。 -
应用所有的Pi生成混沌立方体C,大小128×128×128,有三个通道。
-
对SIMG和C的每个像素进行XORed异或操作得到加密的CIMG。
2.5. Decryption algorithm
解密过程如下:
- 得到加密的CIMG。
- 从hG’中计算hG。
- hGx和hGy通过超混沌系统生成两个混沌序列。
- 用hGy根据7.8步中的算法,计算出C。
- CIMG与C异或的到SIMG。
- 利用hGx,得到步骤5中的(Px,Py,Pz)。
- 由(Px,Py,Pz)得到逆置换表(RPx,RPy,RPz)。
- 用RPy沿着z平面对加扰的3D图像立方体(C)进行解扰。生成的3D图像立方体沿y轴旋转90度。再使用RPx沿z平面解扰,并沿x轴旋转90。最后,利用RPz对z平面进行解扰,得到纯3D图像立方体.
- 通过从3D图像立方体中取出2D切片并重新组装,可以从解密的3D图像立方体中获得n个平面图像。
3. Simulation and analysis of the proposed scheme

3.1. Correlation analysis
3.2. Histogram analysis
3.3. Key space and key sensitivity analysis
3.4. Complexity of the proposed algorithm
3.5. Stability of the algorithm
3.6. Differential attack
3.7. Entropy
3.8. PSNR and SSIM
3.9. Occlusion and salt pepper noise attack
3.10. Execution Speed
3.11. Randomness test
4. Conclusion
关于加密中的扩散操作笔者还未弄清楚具体实现!!!!
761

被折叠的 条评论
为什么被折叠?



