CN105577354B - 基于概率区间划分和动态概率事件的图像加密和解密方法 - Google Patents

基于概率区间划分和动态概率事件的图像加密和解密方法 Download PDF

Info

Publication number
CN105577354B
CN105577354B CN201510920457.9A CN201510920457A CN105577354B CN 105577354 B CN105577354 B CN 105577354B CN 201510920457 A CN201510920457 A CN 201510920457A CN 105577354 B CN105577354 B CN 105577354B
Authority
CN
China
Prior art keywords
init
formula
mapped
probability
image
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.)
Active
Application number
CN201510920457.9A
Other languages
English (en)
Other versions
CN105577354A (zh
Inventor
邵利平
唐子龙
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shaanxi Normal University
Original Assignee
Shaanxi Normal University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shaanxi Normal University filed Critical Shaanxi Normal University
Priority to CN201510920457.9A priority Critical patent/CN105577354B/zh
Publication of CN105577354A publication Critical patent/CN105577354A/zh
Application granted granted Critical
Publication of CN105577354B publication Critical patent/CN105577354B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/001Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using chaotic signals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/002Countermeasures against attacks on cryptographic mechanisms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提供一种基于概率区间划分和动态概率事件的图像加密和解密方法,在加密时,首先将密钥参数和待加密图像SHA‑1值映射为不同的概率加密区间,然后由密钥参数和SHA‑1值映射参数来对待加密像素进行随机筛选,根据所落入的不同概率区间执行不同的概率加密事件并写回对应的像素位置。为进一步提高安全性,所提方法增加了SHA‑1值重映射过程,用于对概率区间划分和待加密像素筛选以及加密进行随机扰动,并通过添加与SHA‑1更新值和用户密钥有关的全局加密过程来增强图像加密算法的性能。在解密时,首先恢复加密参数,再完成全局解密,最后对随机筛选像素执行逆向解密操作。同现有方法相比,不同的像素和密钥将对应于不同的加密过程,从而具备更高的安全性。

Description

基于概率区间划分和动态概率事件的图像加密和解密方法
技术领域
本发明属于信息安全和数字图像信号处理交叉研究领域,涉及一种数字图像加密和解密方法,特别涉及一种基于概率区间划分和动态概率事件的图像加密和解密方法。
背景技术
近年来,伴随着计算机和网络技术的发展,越来越多的图像在网络中传输,在给用户提供方便的同时,也带来一系列安全隐患。对图像不当使用或恶意篡改,不仅涉及个人隐私,也会给社会带来严重负面影响。保障数字图像安全的核心技术是数字图像加密。
自Robert Matthews,1989(Robert Matthews.On the derivation of a“chaotic”encryption algorithm[J].Cryption,1989,13(1):29-42)提出混沌加密思想以来,基于混沌的图像加密方法逐步成为了图像安全的研究热点,国内外研究者结合混沌系统给出了很多图像加密方法。彭再平等,2014(彭再平,王春华,林愿,等.一种新型的四维多翼超混沌吸引子及其在图像加密中的研究[J].物理学报,2014,63(24):240506-1–240506-10)和朱从旭等,2012(朱从旭,孙克辉.对一类超混沌图像加密算法的密码分析与改进[J].物理学报,2012,61(12):12503-1-12503-12)通过4维超混沌系统产生随机序列对图像像素值进行异或加密。Zhang Xuanping等,2014a(Xuanping Zhang,Yanbin Mao,ZhongmengZhao.An efficient image encryption based on alternate cicular S-boxes[J].Nonlinear Dynamics,2014,78(1):359-369)和Zhang Xuanping等,2014b(XuanpingZhang,Zhongmeng Zhao,Jiayin Wang.Chaotic image encryption based oncircularsubstitution box and key stream buffer[J].Signal Processing:ImageCommunication,2014,29(8):902-913)将图像像素在S-BOX上的映射值作为图像像素的加密值。
以上文献(彭再平等,2014,朱从旭等,2012,Xuanping Zhang等,2014a和XuanpingZhang等,2014b)都是通过对像素值的改变来对图像进行混淆加密,但在混淆的同时并不能实质地改变图像像素邻近位置相关性,且加密后的图像像素位置与加密前的原像素位置一一对应,从而在信道传输过程中重要像素易于受到攻击,像素之间的相关性也易于受到破坏。
为避免此类问题,通常的图像加密算法一般包括2个环节,即打乱邻近像素位置相关性的置换环节和改变像素值相关性的混淆环节。基于此,官国荣等,2015(官国荣,吴成茂,贾倩.一种改进Lorenz混沌系统构造及其加密应用[J].小型微型计算机系统,2015,36(4):830-835)和赵玉青,2014(赵玉青.基于改进Chen混沌系统的加密算法[J].小型微型计算机系统,2014,35(9):2162-2166)分别对改进Lorenz混沌系统和添加扰动的Chen系统产生的随机序列进行预处理,通过排序对待加密图像像素进行位置置换,并将置换后的图像像素进行异或混淆加密。Xiao Juntong等,2015(Xiao Juntong,Zhu Wang,Miao Zhang,etal.An image encryption algorithm based on the perturbed high-dimensionalchaotic map[J].Nonlinear Dynamics,2015,80(3):1493-1508)将图像像素矩阵划分为5个部分,由不同初始值驱动猫映射进行像素位置置换,然后对像素进行异或混淆加密。K.Ganesan等,2014(K.Ganesan,K.Murali.Image encryption using eight dimensionalchaotic cat map[J].The European Physical Journal Special Topics,2014,223(8):1611-1622)通过8维猫映射构造查找表,对像素的位置置换并逐像素异或加密。Wei Zhang等,2013(Wei Zhang,Kwok-wo Wong,Hai Yu,et al.An image encryption scheme usingreverse2-dimensional chaotic map and dependent diffusion[J].Communications inNonlinear Science and Numerical Simulation,2013,18(8):2066-2080)用cat映射进行像素位置置换以及采用look-up table算法进行像素异或加密。M.Ghebleh等,2014(M.Ghebleh,A.Kanso,H.Noura.An image encryption scheme based on irregularlydecimated chaotic maps[J].Signal Processing:Image Communication,2014,29(5):618–627)将图像分块,由3维帐篷映射产生混沌置乱序列,通过锯齿遍历映射对图像像素进行位置置换,然后构造像素间的异或混淆加密。以上文献(官国荣等,2015,赵玉青,2014,Xiao Juntong等,2015,K.Ganesan等,2014,Wei Zhang等,2013和M.Ghebleh等,2014)将图像像素位置置换和对图像像素混淆加密孤立为2个松耦合的加密环节,在混淆过程中仅采用最简单的异或加密函数,由此也带来了严重的安全隐患,攻击者可构造特殊的攻击模板,孤立置换和混淆加密环节,先破解加密密钥,再由加密密钥获取图像明文,从而最终破解整个加密方法。
为提高置换与混淆加密环节的耦合性,Narendra K等,2013(Narendra K.Pareek,Vinod Patidar,Krishan K.Sud.Diffusion–substitution based gray imageencryptionscheme[J].Digital Signal Processing,2013,23(3):894-901)通过128位外部密钥将对图像的全局异或加密,分块混淆过程的块大小和块内元素的起始位置以及邻近元素的异或加密方向耦合到了一起。徐亚等,2015(徐亚,张绍武.基于Arnold映射的分块双层自适应扩散图像加密算法[J].中国图像图形学报,2015,20(6):0740-0748)采用外部密钥将Arnold对块及块内像素置换以及扩散操作耦合在了一起,加密后的像素与外部密钥共同更新混沌系统初始参数。Xuanping Zhang等,2014c(Xuanping Zhang,Xing Fan,Jiayin Wang,etal.A chaos-based image encryption scheme using 2D rectangular transform anddependent substitution[J].Multimedia Tools and Applications,2014:1-19)用外部密钥将二维双尺度映射置换像素以及构造驱动混沌系统构造S盒子进行像素替换联系在一起,使得加密环节密不可分。由于对像素比特位的置换,也能改变图像像素值,一些文献也探讨了基于比特位的加密方法。Himan Khanzadi等,2014(Himan Khanzadi,MohammadEshghi,Shahram Etemadi Borujeni.Image encryption using random bit sequencebased on chaotic maps[J].Arabian Journal for Science and Engineering,2014,39(2):1039-1047)对像素位置进行行列置乱,然后对置换后的图像8个比特位面分别进行异或混淆加密。Xingyuan Wang等,2013(Xingyuan Wang,Dapeng Luan.A novel imageencryption algorithm using chaos and reversible cellular automata[J].Communications in Nonlinear Science and Numerical Simulation,2013,18(11):3075-3085)将图像像素划分为高4位比特和低4位比特,通过缠绕混沌映射序列值形成对应关系进行置换加密,高四位比特采用元胞自动机加密,低四位采用随机序列混淆加密。以上文献(Narendra K等,2013,徐亚等,2015,Xuanping Zhang等,2014c,Himan Khanzadi等,2014和Xingyuan Wang等,2013)尽管通过外部密钥或添加比特位操作增加了加密环节的耦合性,但对于不同的加密图像,使用相同的密钥,其所经历的加密过程都相同,由此依然存在着恶意攻击者选取特殊的攻击模板攻击加密算法的风险。要解决此问题,必须将待加密图像的明文属性引入到图像加密算法中。基于此,Yicong Zhou等,2014(Yicong Zhou,Weijia Cao,C.L.Philip Chen.Image encryption using binary bitplane[J].SignalProcessing,2014,100(7):197-207)将明文像素和与Logistic映射的迭代次数相绑定,从而不同的像素对应于不同的logistic映射迭代次数。Xingyuan Wang等,2014(XingyuanWang,Kang Guo.A new image alternate encryption algorithm based on chaotic map[J].Nonlinear Dynamics.2014,76(4):1943-1950)明文像素和作为Logistic映射序的参数,不同图像对应不同随机数。杨凤霞,2014(杨凤霞.基于二维Arnold映射的彩色图像加密算法[J].小型微型计算机系统,2014,35(8):1922-1925)将图像(0,0)点的像素值和用户密钥作为Cat映射的参数和迭代次数。文献(Yicong Zhou等,2014,Xingyuan Wang等,2014和杨凤霞,2014)尽管将明文引入到图像加密策略中以提高安全性,但所提升的安全性十分有限,例如Yicong Zhou等,2014将明文像素和与512的模值作为Logistic映射的迭代次数,仅有512种可能;杨凤霞,2014将图像(0,0)点的像素值引入到图像加密算法中,由于单个像素仅仅256个数值,所能起到的安全性也十分有限。为提高加密策略与明文之间的相关性。Benyamin Norouzi等,2014(Benyamin Norouzi,Seyed Mohammad Seyedzadeh,SattarMirzakuchaki,et.al.A novel image encryption based on hash function with onlytwo-round diffusion process[J].Multimedia Systems,2014,20(1):45-64)将明文像素和与当前像素的差值作为加密参数用来生成加密环节的密钥,但所设计的加密策略在解密时需原始待加密图像的所有信息起不到实质的加密作用。文献李园园等,2013(李园园,张绍武.小波变换和SHA-1相结合的图像压缩加密[J].中国图像图形学报,2013,18(4):376-381)将待加密图像进行四重小波变化,利用待加密图像的明文像素和、低频系数、初始密钥作为混沌系统参数依次对图像的高低频部分进行加密。虽然文献(Benyamin Norouzi等,2014和李园园等,2013)加强了密钥与明文之间的关联,但明文仅能对图像加密环节的参数施加影响,而不能具体地改变所经历的加密环节,这在实际使用过程中依然存在着较大的安全风险。
在所申请的发明专利中(邵利平,郭毅,杨璐.基于改进约瑟夫遍历和广义Henon映射的图像加密与解密方法[P].中国,中华人民共和国国家知识产权局,发明专利,201410145368.7),我们将待加密图像SHA-1值和用户选定的加密参数联合作为密钥,驱动广义Henon映射对改进的用于位点置换的约瑟夫遍历映射的起始位置、报数间隔和报数方向进行随机扰动,从而使不同的加密图像和加密参数实质对应于不同的位点置换过程;该方法增强了各加密环节的耦合性,不同的待加密图像启动不同的加密过程,因而能有效地抵抗选择性明文攻击,所提方法加强了密钥与明文之间的关联,但明文仅能对图像加密环节的参数施加影响,而不能具体地改变所经历的加密环节。
发明内容
本发明目的在于克服现有技术缺陷,提供一种基于概率区间划分和动态概率事件的图像加密和解密方法,不同的图像和密钥将对应于不同的加密过程,具备更高的安全性。为实现上述目的,本发明采用以下技术方案:
一种基于概率区间划分和动态概率事件的图像加密方法,包括以下步骤:
第1步:记待加密图像为A=(ai,j)m×n且ai,j∈{0,1,…,255},设置加密次数t,t>0,初始迭代控制参数k=1,将A的SHA-1值转换为16进制数序列SSHA-1=<s0,s1,…,s39>,然后将SSHA-1首尾相接连成一个环,由用户确定不重复起点G0,G1,G2∈{0,1,2,...,39},将其映射为16进制数序列
第2步:将映射为初始值Xinit,Yinit,Zinit
第3步:将SSHA-1分割为16进制序列Hi,i=0,1,2,3,4,然后将Hi映射为10进制小数pi并归一化为Pi,从而将[0,1]划分为概率区间[0,P0),[P0,P1),[P1,P2),[P2,P3),[P3,P4),[P4,1];
第4步:由用户选定的初始参数μ∈[3.57,4]和初始值Xinit,Yinit,Zinit映射得到的xinit产生偏移序列Sx=<x0,x1,x2>,并由Sx=<x0,x1,x2>和μ生成判断概率值P;
第5步:由Xinit,Yinit,Zinit和用户选定的系统参数r,r≥26,迭代产生3个混沌序列SX=<X0,X1,X2>,SY=<Y0,Y1,Y2>和SZ=<Z0,Z1,Z2>;
第6步:将SX,SY,SZ中的2个元素映射为随机点(r0,v0),(r1,v1),(r2,v2);
第7步:利用(r0,v0),(r1,v1),(r2,v2)从待加密图像为A=(ai,j)m×n筛选出像素映射为2进制串Bin,将SX剩余元素映射为变换参数v,按判断概率值P所属的概率区间执行对应的概率加密事件,将Bin加密为输出比特位串Bout
第8步:将Bout对应的比特位串依次均分成3部分,依次写回待加密图像(r0,v0),(r1,v1),(r2,v2)位置,作为加密后的随机像素;
第9步:利用SY和SZ中的剩余元素作为变换参数,将SSHA-1重映射后的值仍作为SSHA-1
第10步:更新k=k+1,反复执行第2步~第10步,直至k>t;
第11步:由用户设定的密钥x″∈(0,1)和Xinit,Yinit,Zinit映射得到的μ″∈[3.57,4]进行全局加密,得到全局加密后的图像C=(ci,j)m×n
进一步,第1步由用户确定不重复起点G0,G1,G2∈{0,1,2,...,39},将其映射为16进制数序列的具体方法为式(1):
第2步将映射为初始值Xinit,Yinit,Zinit的具体方法为式(2):
式(2)中,fDecimal为16进制小数转换函数,所执行的功能是将16进制序列转换成10进制小数,记H=<hi>Len,其中Len为H中16进制数的数量,则有式(3):
进一步,第3步将SSHA-1分割为16进制序列Hi,i=0,1,2,3,4的具体方法为式(4)
Hi=<s8i,s8i+1,···,s8i+7>,i=0,1,2,3,4 (4)
第3步将Hi映射为10进制小数pi的具体方法为式(5)
pi=fDecimal(Hi),i=0,1,2,3,4 (5)
第3步将pi归一化为Pi的具体方法为式(6)
第4步由用户选定的初始参数μ∈[3.57,4]和初始值Xinit,Yinit,Zinit映射得到的xinit的具体方法为式(7)
xinit=(Xinit+Yinit+Zinit)/3(7)
第4步由用户选定初始参数μ∈[3.57,4]和xinit产生偏移序列Sx=<x0,x1,x2>的具体方法为式(8)
xi+1=μxi(1-xi) (8)
第4步由Sx=<x0,x1,x2>和μ生成判断概率值P的具体方法为将x0,x1,x2带入式(9)产生x′init,然后再由x′init以及μ代入式(8)迭代1次产生判断概率值P
x′init=(x0+x1+x2)/3 (9)。
进一步,第5步由Xinit,Yinit,Zinit和用户选定的系统参数r,r≥26,迭代产生3个混沌序列SX=<X0,X1,X2>,SY=<Y0,Y1,Y2>和SZ=<Z0,Z1,Z2>的具体方法为式(10),其中σ=10,b=8/3
式(10)中,xi依次取自Sx=<x0,x1,x2>,用于对式(10)产生随机扰动;
第6步将SX,SY,SZ中的2个元素映射为随机点(r0,v0),(r1,v1),(r2,v2)的具体方法是选取SX,SY,SZ第0和第1个元素,将其按式(11)映射为随机点(r0,v0),(r1,v1),(r2,v2)
式(11)中为向下取整运算符。
进一步,第7步将映射为2进制串Bin的具体方法为式(12),式(12)中,fBinary为十进制转二进制函数,“||”为比特位串连接操作符
第7步判断落入概率区间的具体方法为式(13)
式(13)中v为变换参数,由SX中的第2个元素映射得到,L为Bin的长度,式(14)中,f0,f1,f2对应为3组比特位置换事件,f3,f4,f5对应为3组比特位混淆事件,其具体的操作如式(14)~式(19)所示,其中Bin=(b0b1…bL-1)2和Bout=(b′0b′1…b′L-1)2分别为长度为L的输入比特和输出比特流:
式(14)中,Btemp为中间操作比特流,Cut()为截断函数,Inv()为逆置函数
式(15)中,Exchange()为相邻比特位交换函数
f2:|Bout=Sample(Bin,v) (16)
式(16)中,Sample()为间隔采样函数,即从v开始,f2每间隔v个比特位采样1个比特位,从而将Bin重排为Bout
式(18)中,rrot为循环右移函数,上划线表示取反操作
式(19)中,lrot为循环左移函数。
进一步,第9步利用SY和SZ中的剩余元素作为变换参数的具体方法为按式(20)和式(21)将SY和SZ中的剩余元素Y2和Z2映射为ls,lp∈[0,40),从而将SSHA-1从ls位置起,每间隔lp个样本值进行重采样映射,得到新的SHA-1值SSHA-1
第11步Xinit,Yinit,Zinit映射得到的μ″∈[3.57,4]的具体方法为式(22)
μ″=0.43×(Xinit+Yinit+Zinit)/3+3.57 (22)
第11步由x″,μ″进行全局加密的具体方法为将x″,μ″代入式(8)迭代产生mn个随机数,按式(23)量化后产生与加密图像等大的矩阵S″x=(x″i,j)m×n,x″i,j∈{0,1,…,255},按式(24)进行全局异或加密,其中为异或运算符
xi+1=μxi(1-xi) (8)
式(23)中,o为量化前的随机数,o′为量化以后的随机数
一种基于概率区间划分和动态概率事件的图像解密方法,其特征在于包括以下步骤:
第1步:由用户输入密钥r≥26,μ∈[3.57,4],x″∈(0,1),SSHA-1值和用户给定的选择起点G0,G1,G2∈{0,1,…,39}以及加密次数t和加密图像C=(ci,j)m×n,并初始迭代控制参数k,置k=0;
第2步:将G0,G1,G2映射为16进制数序列并将映射为初始值Xinit,Yinit,Zinit
第3步:由加密参数u和初始值Xinit,Yinit,Zinit映射得到的xinit产生偏移序列Sx>中第3k,3k+1,3k+2个元素x3k,x3k+1,x3k+2,然后将x3k,x3k+1,x3k+2的映射值作为x′init,用x′init以及μ生成判断概率值x′k
第4步:由Xinit,Yinit,Zinit和用户选定的系统参数r,r≥26,迭代产生混沌序列SX>,SY>,SZ>中第3k,3k+1,3k+2个元素X3k,X3k+1,X3k+2,Y3k,Y3k+1,Y3k+2和Z3k,Z3k+1,Z3k+2
第5步:将Y3k+2和Z3k+2中的元素作为变换参数,从而将SSHA-1重映射后的值仍作为SSHA-1,置k=k+1;
第6步:反复执行第2步~第5步,直到k=t可得到中间密钥集,SS=<SS0,SS1,SS2,…,SS(t-1)>,其中SS(k-1)代表第k次更新所得到的SSHA-1,SX>=<X0,X1,X2,…,X3t-1>,SY>=<Y0,Y1,Y2,…,Y3t-1>和SZ>=<Z0,Z1,Z2,…,Z3t-1>以及Sx=<x0,x1,x2,…,x3t-1>,S′x=<x′0,x′1,x′2,…,x′t-1>;
第7步:若k=t,则将SS(k-1)映射为Xinit,Yinit,Zinit,将Xinit,Yinit,Zinit映射为μ″∈[3.57,4],利用μ″和x″将C=(ci,j)m×n进行全局解密为C′=(c′i,j)m×n
第8步:将SS(k-1)映射为16进制序列Hi,i=0,1,2,3,4,然后将Hi映射为10进制小数pi并归一化为Pi,从而将[0,1]划分为概率区间[0,P0),[P0,P1),[P1,P2),[P2,P3),[P3,P4),[P4,1];
第9步:选取SX>,SY>,SZ>第3k-3和第3k-2个元素,将其映射为随机点(r0,v0),(r1,v1),(r2,v2);
第10步:利用(r0,v0),(r1,v1),(r2,v2)从C′=(c′i,j)m×n筛选出像素映射为2进制串Bin,将SX>中第3k-1个元素映射为变换参数v,按判断概率值x′k-1所属的概率区间执行对应的概率解密事件,将Bin解密为输出比特位串Bout
第11步:将Bout对应的比特位串依次均分成3部分,依次写回待解密图像(r0,v0),(r1,v1),(r2,v2)位置,作为解密后的随机像素;
第12步:更新k=k-1,反复执行第8步~第11步,直至k=0,将C′=(c′i,j)m×n输出作为解密图像。
进一步,第2步由G0,G1,G2映射为16进制数序列的具体方法为式(1),将映射为初始值Xinit,Yinit,Zinit的具体方法为式(2)
第3步由加密参数μ和初始值Xinit,Yinit,Zinit映射得到的xinit的方法为式(7)
xinit=(Xinit+Yinit+Zinit)/3 (7)
第3步由加密参数μ和xinit产生偏移序列SX>中第3k,3k+1,3k+2个元素x3k,x3k+1,x3k+2具体方法为式(8)
xi+1=μxi(1-xi) (8)
将x3k,x3k+1,x3k+2的映射值作为x′init的具体方法为式(25)
x′init=(x3k+x3k+1+x3k+2)/3 (25)
由x′init以及μ生成判断概率值x′k的具体方法为代入式(8)迭代1次产生判断概率值x′k
第4步由Xinit,Yinit,Zinit和用户选定的系统参数r,r≥26,迭代产生混沌序列SX>,SY>,SZ>中第3k,3k+1,3k+2个元素X3k,X3k+1,X3k+2,Y3k,Y3k+1,Y3k+2和Z3k,Z3k+1,Z3k+2的具体方法为式(10),其中σ=10,b=8/3,xi取自Sx>中第3k,3k+1,3k+2个元素x3k,x3k+1,x3k+2用于对式(10)施加随机扰动
第5步中由Y3k,Y3k+1,Y3k+2和Z3k,Z3k+1,Z3k+2中的元素作为变换参数将SSHA-1重映射为SSHA-1的具体方法为按式(26)和式(27)将Y3k+2和Z3k+2映射为ls∈[0,40)和lp∈[0,40),从而将SSHA-1从ls位置起,每间隔lp个样本值进行重采样映射,得到新的SHA-1值SSHA-1
将SSHA-1从ls∈[0,40)位置起,每间隔lp∈[0,40)个样本值进行重采样映射,得到新的SHA-1值SSHA-1,其中ls和lp分别进行确定;
进一步,第7步将SS(k-1)映射为Xinit,Yinit,Zinit的具体方法为式(2)
第7步将Xinit,Yinit,Zinit映射得到的μ″∈[3.57,4]的具体方法为式(22)
μ″=0.43×(Xinit+Yinit+Zinit)/3+3.57 (22)
第7步由x″,μ″进行全局解密的具体方法为将x″,μ″代入式(8)迭代产生mn个随机数,按式(23)量化后产生与加密图像等大的矩阵S″x=(x″i,j)m×n,x″i,j∈{0,1,…,255},按式(28)进行全局异或解密
xi+1=μxi(1-xi) (8)
式(23)中,o为量化前的随机数,o′为量化以后的随机数
进一步,第8步将SS(k-1)映射为16进制序列Hi,i=0,1,2,3,4的具体方法为式(4),其中s8i,s8i+1,···,s8i+7是SS(k-1)中的第8i,8i+1,···,8i+7个元素
Hi=<s8i,s8i+1,···,s8i+7>,i=0,1,2,3,4 (4)
第8步将Hi映射为10进制小数pi的具体方法为式(5)
pi=fDecimal(Hi),i=0,1,2,3,4 (5)
第8步将pi并归一化为Pi的具体方法为式(6)
第9步选取SX>,SY>,SZ>第3k-3和第3k-2个元素,将其映射为随机点(r0,v0),(r1,v1),(r2,v2)的具体方法为式(29)
第10步将映射为2进制串Bin的具体方法为式(30)
第10步按判断概率值x′k-1所属的概率区间执行对应的概率解密事件,将Bin解密为输出比特位串Bout的具体方法为式(31),式(31)中的v由X3k-1量化得到
v=(X3k-1×107)modL
式(31)中,f′0,f′1,…,f′5执行的具体解密操作如式(32)~式(37)所示
式(33)中,是Btemp前L-v个元素,是Btemp除前L-v个元素以外,剩余的v个元素
式(34)中,I1,I2是索引序列,Index()用于产生索引序列Index(L)=<0,1,…,L-1>,SampleIndex()为间隔采样函数索引序列生成函数,即从v开始,每间隔v个比特位采样1个比特位所对应的比特位索引位置序列,Map()为映射函数,执行的操作是将Bin中的比特位由I2中的索引映射到I1中的索引位置;
式(36)中,上划线表示取反操作
传统的图像加密方法通常采用如下的策略进行加密:(a)采用基于像素混淆或像素位置置换的简单图像加密策略,但单纯的图像像素混淆并不能实质地改变图像像素邻近位置相关性,单纯的图像像素位置置换并不能实质地改变图像像素统计分布特性,从而在信道传输过程中重要像素易于受到攻击,像素之间的相关性也易于受到破坏;(b)将图像像素位置置换和对图像像素混淆加密孤立为2个松耦合的加密环节,由此攻击者可构造特殊的攻击模板,孤立置换和混淆加密环节,先破解加密密钥,再由加密密钥获取图像明文,从而最终破解整个加密方法;(c)通过外部密钥或添加比特位操作来增加了加密环节的耦合性,但对于不同的加密图像,使用相同的密钥,其所经历的加密过程都相同,由此依然存在着恶意攻击者选取特殊的攻击模板攻击加密算法的风险;(d)一些图像加密方法策略尽管加强了密钥与明文之间的关联,但明文仅能对图像加密环节的参数施加影响,并不能具体地改变所经历的加密环节,这在实际使用过程中依然存在着较大的安全风险。
同现有技术不同,本发明的优点主要体现在:
1、本发明给出了一种基于置换和混淆架构的图像像素比特位级图像加密方法,通过引入比特位级的置换和混淆概率加密事件来增加不同加密环节和加密像素之间的紧密耦合性,并引入与待加密图像明文属性极度敏感的SHA-1值将待加密图像的属性,所落入的概率区间,参与的加密环节,对应的变换参数紧密地耦合在了一起,从而即使采用相同的密钥,对不同的明文图像进行加密都将对应不同的加密结果,具有较高的安全性。
2、本发明给出的是一种基于概率加密事件的图像加密方法,并且是一种带有更新机制的图像概率加密方法。所提方法是将用户给定的密钥参数和待加密图像SHA-1值映射为不同的概率加密区间,然后由密钥参数和SHA-1值映射参数来对待加密像素进行随机筛选,根据所落入的不同概率区间执行不同的概率加密事件,并且所提方法通过增加SHA-1值的重映射过程,来对概率区间划分和待加密像素筛选以及加密进行随机扰动,改变映射所对应的加密区间,即使同一幅图像上的像素在不同的加密时刻也将经历不同的加密过程。
3、为进一步提高加密效率和安全性,本发明也增加了与SHA-1重映射值和用户密钥有关的全局加密环节来对整个加密算法的概率筛选性能进行全局加密性能改善,使其可以在更少的加密次数下得到更均衡的加密性能。
附图说明
图1是加密流程图;
图2是解密方法流程图;
图3是实施例:待加密图像,为256×256分辨率的8位灰度图像Lena;
图4是实施例:t=65536加密图像,信息熵为7.9973053349771535;
图5是实施例:t=196608加密图像,信息熵为7.997123294836427;
图6是实施例:t=393216加密图像,信息熵为7.997906012813874;
图7是实施例:t=65536,t=196608,t=393216解密图像,与待加密图像MSE为0;
图8是实施例:t=65536,提供错误的SSHA-1值(4D27B479AC001B2D07EB2D784659E520DD2E6671)解密图像;
图9是实施例:t=65536,提供错误的r值(将26.0修改为26.1)解密图像;
图10是实施例:t=65536,提供错误的μ值(将3.989修改为3.9899)解密图像;
图11是实施例:t=65536,提供错误的x″值(将0.880修改为0.881)解密图像;
图12是实施例:t=65536,提供错误的G0=8,G1=16,G2=36值(将8,16,36修改为9,16,36)解密图像;
图13是实施例:提供错误的t值(将65536修改为65535)解密图像;
图14是实施例:t=65536,将图3(220,15)值(将173.0修改为174.0)加密图像;
图15是实施例:图14与图4的差图;
图16是实施例:t=65536,将图3(100,150)值(将220.0修改为221.0)加密图像;
图17是实施例:图16与图4的差图;
图18是实施例:t=65536将图3(168,50)值(将194.0修改为195.0)加密图像;
图19是实施例:图18与图4的差图;
具体实施方式
以下结合具体实施例对本发明进行说明:
以JAVA jdk1.8.0_20作为案例实施环境,结合附图对本发明实施方式进行详细说明,但不局限于本实施案例,其中图1是加密方法流程图,图2是解密方法流程图。
加密过程:
第1步:选取图像A,如图3所示,为256×256的灰度图像Lena,记待加密图像A=(ai,j)m×n对应的40位16进制SHA-1值为SSHA-1=4D27B479AC001B2D07EB2D784659E520DD2E6672,并将其首尾相连。由用户确定不重复起点G0,G1,G2∈{0,1,2,...,39},将其映射为16进制数序列
例如:G0=8,G1=16,G2=36则t=65536;
第2步:将映射为初始值Xinit,Yinit,Zinit
例如:Xinit=0.6718759536743164,Yinit=0.8109314727783203,Zinit=0.4001808166503906;
第3步:将SSHA-1分割为16进制序列Hi,i=0,1,2,3,4,然后将Hi映射为10进制小数pi并归一化为Pi,从而将[0,1]划分为概率区间[0,P0),[P0,P1),[P1,P2),[P2,P3),[P3,P4),[P4,1];
例如:将SSHA-1由式(4)分割为H0=4D27B479,H1=AC001B2D,H2=07EB2D78,H3=4659E520,H4=DD2E6672,由式(5)将Hi映射为10进制小数p0=0.9013870997820046,p1=0.6718766198027876,p2=0.8109322755783797,p3=0.8548091891407966,p4=0.8639892605133355,由式(6)进行归一化操作P0=0.18027741995640092,P1=0.3146527439169584,P2=0.4768391990326343,P3=0.6478010368607936,P4=0.8205988889634608;
第4步:由用户选定的初始参数μ∈[3.57,4]和初始值Xinit,Yinit,Zinit映射得到的xinit产生偏移序列Sx=<x0,x1,x2>,并由Sx=<x0,x1,x2>和μ生成判断概率值P;
例如:由Xinit,Yinit,Zinit代入式(7)得到xinit=0.6276627477010092,μ=3.989代入式(8)产生偏移序列Sx=<x0,x1,x2>,其中x0=0.9322381669463701,x1=0.2519857963019844,x2=0.7518824405537524,并由Sx=<x0,x1,x2>代入式(9)产生x′init=0.645368801267369,将x′init,μ代入式(8)产生判断概率值P=0.9129540994445537;
第5步:由Xinit,Yinit,Zinit和用户选定的系统参数r,r≥26,迭代产生3个混沌序列SX=<X0,X1,X2>,SY=<Y0,Y1,Y2>和SZ=<Z0,Z1,Z2>;
例如:将Xinit,Yinit,Zinit,r=26.0代入式(10)可产生SX=<X0,X1,X2>,SY=<Y0,Y1,Y2>,SZ=<Z0,Z1,Z2>,其中X0=0.6718759536743164,X1=1.6055795590569462,X2=1.859286476829436Y0=0.8109314727783203,Y1=1.7595686192714708,Y2=2.049401689184767Z0=0.4001808166503906,Z1=1.332169809147427,Z2=1.5843480327721144;
第6步:将SX,SY,SZ中的2个元素映射为随机点(r0,v0),(r1,v1),(r2,v2);
例如:将SX,SY,SZ代入式(11)通过拉伸,向下取整,模运算操作可得到v0=76,r1=20,v1=60,r2=225,v2=232;
第7步:筛选出像素映射为2进制串Bin,将SX剩余元素映射为变换参数v,按判断概率值P所属的概率区间执行对应的概率加密事件,将Bin加密为输出比特位串Bout
例如:a231,76=202,a20,60=213,a225,232=193,P=0.9129540994445537属于[P4,1]区间执行其中Bin=110010101101010111000001Bout=010100101010001111100011;
第8步:将Bout对应的比特位串依次均分成3部分,依次写回待加密图像(r0,v0),(r1,v1),(r2,v2)位置,作为加密后的随机像素;
例如:a231,76=82.0,a20,60=163.0,a225,232=227.0;
第9步:利用SY和SZ中的剩余元素作为变换参数的具体方法为按式(20)和式(21)将SY和SZ中的剩余元素Y2和Z2映射为ls,lp∈[0,40),从而将将SSHA-1从ls位置起,每间隔lp个样本值进行重采样映射,得到新的SHA-1值SSHA-1
例如:ls=16,lp=2,将SSHA-1=4D27B479AC001B2D07EB2D784659E520DD2E6672更新为SSHA-1=7BD86950DE62D749C0BDE7522727022E6B1440AD;
第10步:更新k=k+1,反复执行第2步~第10步,直至k>t;
第11步:将Xinit,Yinit,Zinit代入式(22)映射得到μ″∈[3.57,4],由x″,μ″进行全局加密的具体方法为将x″,μ″代入式(8)迭代产生m×n个随机数,按式(23)量化后产生与加密图像等大的矩阵S″x=(x″i,j)m×n,x″i,j∈{0,1,…,255}按式(24)进行全局异或加密;
例如:Xinit=0.8488044738769531,Yinit=0.5642833709716796,Zinit=0.500676155090332代入式(22)可得到μ″=0.43×(Xinit+Yinit+Zinit)/3+3.57=3.844306173324585,再将μ″,x″=0.880代入式(8)并进行量化得到S″x=(x″i,j)m×n,x″i,j∈{0,1,…,255},其中x″0,0=195,x″0,1=0,…,x″255,255=89,按式(24)即可得到加密图像C=(ci,j)m×n
解密方法,包括以下步骤:
第1步:输入密钥r=26.0,μ=3.989,x″=0.880,SSHA-1=4D27B479AC001B2D07EB2D784659E520DD2E6672,加密图像C=(ci,j)m×n,这里以图4为例,置加密次数t=65536,G0=8,G1=16,G2=36,t=65536,并置k=0;
第2步:将G0,G1,G2映射为16进制数序列并将映射为初始值Xinit,Yinit,Zinit
例如:将G0=8,G1=16,G2=36代入式(1)再代入式(2)映射初始值Xinit=0.6718759536743164,Yinit=0.8109314727783203,Zinit=0.4001808166503906;
第3步:由加密参数μ和初始值Xinit,Yinit,Zinit映射得到的xinit产生偏移序列Sx>中第3k,3k+1,3k+2个元素x3k,x3k+1,x3k+2,然后将x3k,x3k+1,x3k+2的映射值作为x′init,用x′init以及μ生成判断概率值x′k
例如:将Xinit=0.6718759536743164,Yinit=0.8109314727783203,Zinit=0.4001808166503906,代入式(7)映射xinit=0.6276627477010092,将xinit和μ=3.989代入式(8)产生偏移序列Sx>中第3k,3k+1,3k+2个元素x3k=0.9322381669463701,x3k+1=0.2519857963019844,x3k+2=0.7518824405537524,并映射x′init=0.645368801267369,由x′k,μ代入式(8)迭代1次生成概率值x′k=0.9129540994445537;
第4步:由Xinit,Yinit,Zinit和用户选定的系统参数r,r≥26,迭代产生混沌序列SX>,SY>,SZ>中第3k,3k+1,3k+2个元素X3k,X3k+1,X3k+2,Y3k,Y3k+1,Y3k+2和Z3k,Z3k+1,Z3k+2
例如:将Xinit=0.6718759536743164,Yinit=0.8109314727783203,Zinit=0.4001808166503906,r=26.0代入式(10)产生混沌序列X3k,X3k+1,X3k+2,Y3k,Y3k+1,Y3k+2,Z3k,Z3k+1,Z3k+2其中:X3k=0.6718759536743164,X3k+1=1.6055795590569462,X3k+2=1.859286476829436,Y3k=0.8109314727783203,Y3k+1=1.7595686192714708,Y3k+2=2.049401689184767,Z3k+1=1.332169809147427,Z3k+2=1.5843480327721144,Z3k=0.4001808166503906;
第5步:将Y3k+2和Z3k+2中的元素作为变换参数,从而将SSHA-1重映射为SSHA-1,置k=k+1;
例如:Y3k+2,Z3k+2分别代入式(26),(27)可得到ls=16,lp=2,并将此作为抽样参数更新SSHA-1=7BD86950DE62D749C0BDE7522727022E6B1440AD;
第6步:反复执行第2步~第5步,直到k=t可得到中间密钥集,SS=<SS0,SS1,SS2,…,SS(t-1)>,SX>=<X0,X1,X2,…,X3t-1>,SY>=<Y0,Y1,Y2,…,Y3t-1>和SZ>=<Z0,Z1,Z2,…,Z3t-1>以及Sx=<x0,x1,x2,…,x3t-1>,S′x=<x′0,x′1,x′2,…,x′t-1>;
第7步:将SS(k-1)映射为Xinit,Yinit,Zinit,将Xinit,Yinit,Zinit映射为μ″∈[3.57,4],利用μ″和x″将C=(ci,j)m×n进行全局解密为C′=(c′i,j)m×n
例如:SS(k-1)=522BD776D94B47729074EA066DE1B22D0E5D802C映射为Xinit=0.8488044738769531,Yinit=0.5642833709716796,Zinit=0.500676155090332,再将Xinit,Yinit,Zinit映射为μ″=3.844306173324585,由μ″和x″代入式(8)产生随机序列并进行量化得到S″x=(x″i,j)m×n,x″i,j∈{0,1,…,255},其中x″0,0=195.0,x″0,1=0.0,…,x″255,255=89.0,按式(24)即可得到图像C′=(c′i,j)m×n
第8步:将SS(k-1)映射为16进制序列Hi,i=0,1,2,3,4,然后将Hi映射为10进制小数pi并归一化为Pi,从而将[0,1]划分为概率区间[0,P0),[P0,P1),[P1,P2),[P2,P3),[P3,P4),[P4,1];
例如:SS(k-1)=522BD776D94B47729074EA066DE1B22D0E5D802C映射为H0=522BD776,H1=D94B4772,H2=9074EA06,H3=6DE1B22D,H4=0E5D802C,将其映射为p0=0.92098147040233,p1=0.84880491765216,p2=0.5642839684151112,p3=0.42922509764321093,p4=0.8361142070218915并通过归一化可得到P0=0.184196294080466,P1=0.353957277610898,P2=0.4668140712939203,P3=0.5526590908225625,P4=0.7198819322269407;
第9步:选取SX>,SY>,SZ>第3k-3和第3k-2个元素,将其映射为随机点(r0,v0),(r1,v1),(r2,v2);
例如:将X3k-3=0.8488044738769531,X3k-2=1.7674486786611476,Y3k-3=0.5642833709716796,Y3k-2=1.5066870171040285,Z3k-3=0.500676155090332,Z3k-2=1.4215324854254412代入式(11)通过拉伸,向下取整,模运算操作可得到r0=228,v0=62,r1=209,v1=218,r2=7,v2=211;
第10步:利用(r0,v0),(r1,v1),(r2,v2)从C′=(c′i,j)m×n筛选出像素映射为2进制串Bin,将SX>中第3k-1个元素映射为变换参数v,按判断概率值x′k-1所属的概率区间执行对应的概率解密事件,将Bin解密为输出比特位串Bout
例如:r0=228,v0=62,r1=209,v1=218,r2=7,v2=211,则将c′228,62,c′209,218,c′7,211映射为2进制比特位序列Bin=101000010111100110010010,通过P=0.8727466638864244判断对应概率区间[P3,P4),将X3k-1=2.05405545487364代入式(31)可得v=1,将Bin解密为输出比特位串Bout=101111010000110011011010;
第11步:将Bout对应的比特位串依次均分成3部分,依次写回待解密图像(r0,v0),(r1,v1),(r2,v2)位置,作为解密后的随机像素;
例如:将c′228,62=133.0,c′209,218=224.0,c′7,211=26.0写回待解密图像;
第12步:更新k=k-1,反复执行第8步~第11步,直至k=0,将C′=(c′i,j)m×n输出做为解密图像。
图4~6是加密次数取t=65536,t=196608,t=393216时对应的加密图像,图7是图4~6对应的解密图像,从加密图像和解密图像可看出加密后的图像熵均趋近于8,且不同加密次数下的秘密图像都可正确恢复。
图8~13分别是提供错误的SSHA-1值和对r值、μ值、x″值、G0,G1,G2值、t值进行微小修改得到解密图像,从中可看出本发明方法对用户提供的密钥和待加密图像的特性极度敏感。
图14,16,18分别为图3中单一像素微小修改后对应的加密图像,图15,17,19分别为图14,16,18与图4的差图,由差图可看出本发明具有较好的明文敏感性,单一像素改变即会对整个加密过程施加全局影响,从而可抵抗选择明文攻击。

Claims (10)

1.一种基于概率区间划分和动态概率事件的图像加密方法,其特征在于包括以下步骤:
第1步:记待加密图像为A=(ai,j)m×n且ai,j∈{0,1,…,255},设置加密次数t,t>0,初始迭代控制参数k=1,将A的SHA-1值转换为16进制数序列SSHA-1=<s0,s1,…,s39>,然后将SSHA-1首尾相接连成一个环,由用户确定不重复起点G0,G1,G2∈{0,1,2,...,39},将其映射为16进制数序列
第2步:将映射为10进制的初始值Xinit,Yinit,Zinit
第3步:将SSHA-1分割为16进制序列Hi,i=0,1,2,3,4,然后将Hi映射为10进制小数pi并归一化为Pi,从而将[0,1]划分为概率区间[0,P0),[P0,P1),[P1,P2),[P2,P3),[P3,P4),[P4,1];
第4步:由初始值Xinit,Yinit,Zinit按式(7)映射得到的xinit;由预设的初始参数μ∈[3.57,4]和xinit按式(8)产生偏移序列Sx=<x0,x1,x2>,并由x0,x1,x2代入式(9)产生x′init,再由x′init和μ代入式(8)迭代1次产生判断概率值P;
xinit=(Xinit+Yinit+Zinit)/3 (7)
xi+1=μxi(1-xi) (8)
x′init=(x0+x1+x2)/3 (9);
第5步:按式(10)由Xinit,Yinit,Zinit和预设的系统参数r,r≥26,迭代产生3个混沌序列SX=<X0,X1,X2>,SY=<Y0,Y1,Y2>和SZ=<Z0,Z1,Z2>,其中σ=10,b=8/3;
式(10)中,xi依次取自Sx=<x0,x1,x2>;
第6步:分别将SX,SY,SZ中的前2个元素映射为随机点(r0,v0),(r1,v1),(r2,v2),其中r0,r1,r2∈{0,1,…,m-1},v0,v1,v2∈{0,1,…,n-1};
第7步:利用(r0,v0),(r1,v1),(r2,v2)从待加密图像为A=(ai,j)m×n筛选出像素的比特位映射为2进制串Bin,按判断概率值P所属的概率区间执行对应的概率加密事件,将SX第2个元素映射为变换参数v,v∈[0,L-1],L为Bin的长度,将Bin加密为输出比特位串Bout
第8步:将Bout对应的比特位串依次均分成3部分,依次写回待加密图像(r0,v0),(r1,v1),(r2,v2)位置,作为加密后的随机像素;
第9步:将SY和SZ中的剩余元素分别映射为变换参数ls,lp,ls、lp∈[0,40),将SSHA-1从ls位置起,每间隔lp个样本值进行重新采样映射,得到更新后的SSHA-1
第10步:更新k=k+1,反复执行第2步~第10步,直至k>t;
第11步:由预设的密钥x″∈(0,1),由Xinit,Yinit,Zinit映射得到的μ″∈[3.57,4],将x″和μ″代入式(8)迭代产生m*n个随机数,将随机数按式(23)量化后产生与加密图像等大的矩阵S″x=(x″i,j)m×n,x″i,j∈{0,1,…,255},按式(24)对矩阵S″x进行全局异或加密,得到全局加密后的图像C=(ci,j)m×n
式(23)中,o为量化前的随机数,o′为量化后的随机数;
2.如权利要求1所述的一种基于概率区间划分和动态概率事件的图像加密方法,其特征在于第1步由用户确定不重复起点G0,G1,G2∈{0,1,2,...,39},将其映射为16进制数序列的具体方法为式(1):
第2步将映射为初始值Xinit,Yinit,Zinit的具体方法为式(2):
式(2)中,fDecimal为16进制小数转换函数,将16进制序列转换成10进制小数,记H=<hi>Len,Len为H中16进制数的数量,则有式(3):
3.如权利要求1所述的一种基于概率区间划分和动态概率事件的图像加密方法,其特征在于第3步将SSHA-1分割为16进制序列Hi,i=0,1,2,3,4的具体方法为式(4)
Hi=<s8i,s8i+1,…,s8i+7>,i=0,1,2,3,4 (4)
第3步将Hi映射为10进制小数pi的具体方法为式(5)
pi=fDecimal(Hi),i=0,1,2,3,4 (5)
第3步将pi归一化为Pi的具体方法为式(6)
4.如权利要求1所述的一种基于概率区间划分和动态概率事件的图像加密方法,其特征在于:
第6步将SX,SY,SZ中的2个元素映射为随机点(r0,v0),(r1,v1),(r2,v2)的具体方法是选取SX,SY,SZ第0个和第1个元素,将其按式(11)映射为随机点(r0,v0),(r1,v1),(r2,v2)
式(11)中为向下取整运算符。
5.如权利要求1所述的一种基于概率区间划分和动态概率事件的图像加密方法,其特征在于:第7步将映射为2进制串Bin的具体方法为式(12),式(12)中,fBinary为10进制转2进制函数,“||”为比特位串连接操作符
第7步判断落入概率区间的具体方法为式(13)
式(13)中v为变换参数,由SX中的第2个元素映射得到,L为Bin的长度,式(13)中,f0,f1,f2对应为3组比特位置换事件,f3,f4,f5对应为3组比特位混淆事件,其具体的操作如式(14)~式(19)所示,其中Bin=(b0b1…bL-1)2和Bout=(b′0b′1…b′L-1)2分别为长度为L的输入比特和输出比特流:
式(14)中,Btemp为中间操作比特流,Cut()为截断函数,Inv()为逆置函数
式(15)中,Exchange()为相邻比特位交换函数
f2:|Bout=Sample(Bin,v) (16)
式(16)中,Sample()为间隔采样函数,即从v开始,f2每间隔v个比特位采样1个比特位,从而将Bin重排为Bout
式(18)中,rrot为循环右移函数,上划线表示取反操作
式(19)中,lrot为循环左移函数。
6.如权利要求1所述的一种基于概率区间划分和动态概率事件的图像加密方法,其特征在于:第9步利用SY和SZ中的剩余元素作为变换参数的具体方法为按式(20)和式(21)将SY和SZ中的剩余元素Y2和Z2映射为ls,lp∈[0,40),从而将SSHA-1从ls位置起,每间隔lp个样本值进行重采样映射,得到新的SHA-1值SSHA-1
第11步将Xinit,Yinit,Zinit映射得到的μ″∈[3.57,4]的具体方法为式(22)
μ″=0.43×(Xinit+Yinit+Zinit)/3+3.57 (22)。
7.与权利要求1相对应的一种基于概率区间划分和动态概率事件的图像解密方法,其特征在于包括以下步骤:
第1步:由用户输入密钥r≥26,μ∈[3.57,4],x″∈(0,1),SSHA-1值和用户给定的选择起点G0,G1,G2∈{0,1,…,39}以及加密次数t和加密图像C=(ci,j)m×n,并初始迭代控制参数k,置k=0;
第2步:将G0,G1,G2映射为16进制数序列并将映射为10进制的初始值Xinit,Yinit,Zinit
第3步:按式(7)由初始值Xinit,Yinit,Zinit映射得到xinit,按式(8)由加密参数μ和xinit产生偏移序列Sx>中第3k,3k+1,3k+2个元素x3k,x3k+1,x3k+2,然后按式(25)将x3k,x3k+1,x3k+2的映射值作为x′init,并将x′init以及μ带入式(8)迭代1次生成判断概率值x′k
x′init=(x3k+x3k+1+x3k+2)/3 (25);
第4步:按式(10)由Xinit,Yinit,Zinit和用户选定的系统参数r,r≥26,迭代产生混沌序列SX>,SY>,SZ>中第3k,3k+1,3k+2个元素X3k,X3k+1,X3k+2,Y3k,Y3k+1,Y3k+2和Z3k,Z3k+1,Z3k+2,其中σ=10,b=8/3,xi取自Sx>中第3k,3k+1,3k+2个元素;第5步:将Y3k+2和Z3k+2分别映射为ls∈[0,40)和lp∈[0,40),从而将SSHA-1从ls位置起,每间隔lp个样本值进行重采样映射,得到更新后的SSHA-1,置k=k+1;
第6步:反复执行第2步~第5步,直到k=t可得到中间密钥集,SS=<SS0,SS1,SS2,…,SS(t-1)>,其中SS(k-1)代表第k次更新所得到的SSHA-1,SX>=<X0,X1,X2,…,X3t-1>,SY>=<Y0,Y1,Y2,…,Y3t-1>和SZ>=<Z0,Z1,Z2,…,Z3t-1>以及Sx=<x0,x1,x2,…,x3t-1>,S′x=<x′0,x′1,x′2,…,x′t-1>;
第7步:若k=t,则将SS(k-1)映射为10进制Xinit,Yinit,Zinit,将Xinit,Yinit,Zinit映射为μ″,μ″∈[3.57,4],将μ″和x″带入式(8)中迭代产生m*n个随机数,按式(23)量化后产生与加密图像等大的矩阵S″x=(x″i,j)m×n,x″i,j∈{0,1,…,255},按式(28)进行全局异或解密,将C=(ci,j)m×n全局解密为C′=(c′i,j)m×n
第8步:将SS(k-1)映射为16进制序列Hi,i=0,1,2,3,4,然后将Hi映射为10进制小数pi并归一化为Pi,从而将[0,1]划分为概率区间[0,P0),[P0,P1),[P1,P2),[P2,P3),[P3,P4),[P4,1];
第9步:选取SX>,SY>,SZ>第3k-3和第3k-2个元素,将其映射为随机点(r0,v0),(r1,v1),(r2,v2),其中r0,r1,r2∈{0,1,…,m-1},v0,v1,v2∈{0,1,…,n-1};
第10步:利用(r0,v0),(r1,v1),(r2,v2)从C′=(ci,j)m×n中筛选出像素按上述加密方法第7步对应的方式映射为2进制串Bin,将SX>中第3k-1个元素映射为变换参数v,v∈[0,L-1],L为Bin的长度,按判断概率值x′k-1所属的概率区间执行对应的概率解密事件,将Bin解密为输出比特位串Bout
第11步:将Bout对应的比特位串依次均分成3部分,依次写回待解密图像(r0,v0),(r1,v1),(r2,v2)位置,作为解密后的随机像素;
第12步:更新k=k-1,反复执行第8步~第11步,直至k=0,将C′=(c′i,j)m×n输出作为解密图像。
8.如权利要求7所述的一种基于概率区间划分和动态概率事件的图像解密方法,其特征在于:第2步由G0,G1,G2映射为16进制数序列的具体方法为式(1),将映射为10进制初始值Xinit,Yinit,Zinit的具体方法为式(2);
第5步中由Y3k,Y3k+1,Y3k+2和Z3k,Z3k+1,Z3k+2中的元素作为变换参数将SSHA-1重映射为SSHA-1的具体方法为按式(26)和式(27)将Y3k+2和Z3k+2映射为ls∈[0,40)和lp∈[0,40),从而将SSHA-1从ls位置起,每间隔lp个样本值进行重采样映射,得到新的SHA-1值SSHA-1
将SSHA-1从ls∈[0,40)位置起,每间隔lp∈[0,40)个样本值进行重采样映射,得到新的SHA-1值SSHA-1,其中ls和lp分别进行确定。
9.如权利要求7所述的一种基于概率区间划分和动态概率事件的图像解密方法,其特征在于:第7步将SS(k-1)映射为Xinit,Yinit,Zinit的具体方法为式(2);
第7步将Xinit,Yinit,Zinit映射得到的μ″∈[3.57,4]的具体方法为式(22)
μ″=0.43×(Xinit+Yinit+Zinit)/3+3.57 (22)。
10.如权利要求7所述的一种基于概率区间划分和动态概率事件的图像解密方法,其特征在于:
第8步将SS(k-1)映射为16进制序列Hi,i=0,1,2,3,4的具体方法为式(4),其中s8i,s8i+1,…,s8i+7是SS(k-1)中的第8i,8i+1,···,8i+7个元素;
Hi=<s8i,s8i+1,…,s8i+7>,i=0,1,2,3,4 (4)
第8步将Hi映射为10进制小数pi的具体方法为式(5);
pi=fDecimal(Hi),i=0,1,2,3,4 (5)
第8步将pi并归一化为Pi的具体方法为式(6);
第9步选取SX>,SY>,SZ>第3k-3和第3k-2个元素,将其映射为随机点(r0,v0),(r1,v1),(r2,v2)的具体方法为式(29);
第10步将映射为2进制串Bin的具体方法为式(30):
第10步按判断概率值x′k-1所属的概率区间执行对应的概率解密事件,将Bin加密为输出比特位串Bout的具体方法为式(31),式(31)中的v由X3k-1量化得到
式(31)中,f0′,f1′,…,f5′执行的具体解密操作如式(32)~式(37)所示
式(33)中,是Btemp前L-v个元素,是Btemp除前L-v个元素以外,剩余的v个元素
式(34)中,I1,I2是索引序列,Index()用于产生索引序列Index(L)=<0,1,…,L-1>,SampleIndex()为间隔采样函数索引序列生成函数,即从v开始,每间隔v个比特位采样1个比特位所对应的比特位索引位置序列,Map()为映射函数,执行的操作是将Bin中的比特位由I2中的索引映射到I1中的索引位置;
式(36)中,上划线表示取反操作
CN201510920457.9A 2015-12-10 2015-12-10 基于概率区间划分和动态概率事件的图像加密和解密方法 Active CN105577354B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510920457.9A CN105577354B (zh) 2015-12-10 2015-12-10 基于概率区间划分和动态概率事件的图像加密和解密方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510920457.9A CN105577354B (zh) 2015-12-10 2015-12-10 基于概率区间划分和动态概率事件的图像加密和解密方法

Publications (2)

Publication Number Publication Date
CN105577354A CN105577354A (zh) 2016-05-11
CN105577354B true CN105577354B (zh) 2019-01-22

Family

ID=55887074

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510920457.9A Active CN105577354B (zh) 2015-12-10 2015-12-10 基于概率区间划分和动态概率事件的图像加密和解密方法

Country Status (1)

Country Link
CN (1) CN105577354B (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107392970B (zh) * 2017-07-12 2020-12-04 湖北民族学院 一种基于位平面和高维混沌系统的数字图像加密方法
CN108174053B (zh) * 2017-12-27 2020-05-12 陕西师范大学 一种有向面积和扑克牌映射的解密区域限定图像加密方法
CN108924379B (zh) * 2018-06-08 2020-07-28 安徽师范大学 一种数字图像加密方法
CN110009703B (zh) * 2019-03-18 2023-04-07 西南大学 一种基于混沌系统的图像加密、解密方法及设备
CN110472128B (zh) * 2019-07-19 2022-09-02 平安科技(深圳)有限公司 基于图像识别的网页取证方法、装置、存储介质及服务器
CN110502913A (zh) * 2019-08-22 2019-11-26 天津一鉴楼文化科技有限公司 一种对称散列混淆内容的方法
CN110730062B (zh) * 2019-10-24 2021-07-30 广西师范大学 一种基于模板攻击的混沌分组加密分析方法
CN110879894B (zh) * 2019-11-11 2023-04-07 陕西师范大学 一种懒尺度变换和随机分层融合的图像加密解密方法
CN111658291B (zh) * 2020-06-11 2022-06-24 四川大学华西医院 一种骨科护理用循环式冷敷装置
CN112906043B (zh) * 2021-04-07 2022-06-17 华侨大学 一种基于混沌映射和混沌s盒代换的图像加密方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101702117A (zh) * 2009-11-09 2010-05-05 东南大学 一种基于离散渐进确定性随机的伪随机序列发生方法
CN102833514A (zh) * 2012-08-07 2012-12-19 南昌大学 测量矩阵受控的图像压缩感知与图像加密方法
CN103929563A (zh) * 2014-04-11 2014-07-16 陕西师范大学 基于改进约瑟夫遍历和广义Henon映射的图像加密与解密方法
CN104732474A (zh) * 2015-03-30 2015-06-24 陕西师范大学 基于多级小波系数加权和量化的数字水印嵌入及提取方法
CN105046634A (zh) * 2015-07-06 2015-11-11 北京电子科技学院 一种基于信息熵与时空混沌系统的图像加密方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101702117A (zh) * 2009-11-09 2010-05-05 东南大学 一种基于离散渐进确定性随机的伪随机序列发生方法
CN102833514A (zh) * 2012-08-07 2012-12-19 南昌大学 测量矩阵受控的图像压缩感知与图像加密方法
CN103929563A (zh) * 2014-04-11 2014-07-16 陕西师范大学 基于改进约瑟夫遍历和广义Henon映射的图像加密与解密方法
CN104732474A (zh) * 2015-03-30 2015-06-24 陕西师范大学 基于多级小波系数加权和量化的数字水印嵌入及提取方法
CN105046634A (zh) * 2015-07-06 2015-11-11 北京电子科技学院 一种基于信息熵与时空混沌系统的图像加密方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Evaluation of Chaotic Map Lattice Systems,59-64;Santosh Chapaneri;《2014 International conference on circuits,systems,communication and information technology applications(CSCITA)》;20141231;全文 *

Also Published As

Publication number Publication date
CN105577354A (zh) 2016-05-11

Similar Documents

Publication Publication Date Title
CN105577354B (zh) 基于概率区间划分和动态概率事件的图像加密和解密方法
Raza et al. A novel bit permutation-based image encryption algorithm
Chai et al. An image encryption scheme based on multi-objective optimization and block compressed sensing
Zhang A new unified image encryption algorithm based on a lifting transformation and chaos
Zhang et al. A new image encryption algorithm based on non-adjacent coupled map lattices
CN101739695B (zh) 一种基于三维Arnold映射的图像分组加密方法
Liu et al. Cryptanalysis and enhancement of an image encryption scheme based on a 1-D coupled Sine map
Zhang et al. Digital image encryption based on advanced encryption standard (AES)
CN107492064B (zh) 基于忆阻混沌系统、初等元胞自动机和压缩感知的图像加密方法
Ahmad et al. An experimental comparison of chaotic and non-chaotic image encryption schemes
CN107094072B (zh) 一种基于广义Henon映射的混合混沌加密方法
CN104809685B (zh) 一种基于6维混沌系统的彩色图像一次性密钥dna加密方法
CN103020891A (zh) 一种基于复合混沌序列与移位的彩色图像加密方法
CN114389788B (zh) 混合混沌与分块置乱的图像加密算法
CN114679250A (zh) 基于混合混沌和Arnold变换的图像加密算法
CN105761198A (zh) 一种动态概率和空频域复合的图像选择性加密和解密方法
CN106570814B (zh) 一种超混沌图像加密方法
Li et al. Keyed hash function based on a dynamic lookup table of functions
Wang et al. A new hybrid image encryption algorithm based on Gray code transformation and snake-like diffusion
CN108174053A (zh) 一种有向面积和扑克牌映射的解密区域限定图像加密方法
Shakir et al. A new four-dimensional hyper-chaotic system for image encryption
Sheng et al. An efficient chaotic image encryption scheme using simultaneous permutation–diffusion operation
Kushwaha et al. Secure image data by double encryption
Zhang et al. Multiple-image encryption algorithm based on 3D-LWT and dynamic stereo S-box
CN105704499B (zh) 一种基于ChaCha20和CCSDS的选择性卫星图像压缩加密方法

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