1.一种基于前景和背景分离的图像加密方法,其特征在于包括以下步骤:第1步:将分辨率为M×N待加密图像A划分为任意选定的封闭连通区域SFore和其它区域SBack,即前景区域和背景区域;
第2步:提取SFore区域的轮廓链码CC,将其作为密钥存储;
第3步:计算出待加密图像A的RGB图像像素矩阵AR、AG、AB和轮廓链码CC对应的160位SHA-1值(AR)SHA-1、(AG)SHA-1、(AB)SHA-1和(CC)SHA-1;
第4步:利用(AR)SHA-1、(AG)SHA-1、(AB)SHA-1和(CC)SHA-1计算出图像像素矩阵和轮廓链码的混合SHA-1值(CAR)SHA-1、(CAG)SHA-1和(CAB)SHA-1;
第5步:将(CAR)SHA-1、(CAG)SHA-1和(CAB)SHA-1组成3×40的2维矩阵,对矩阵进行列优先扫描,依次将2个16进制数合并作为1个字节,得到长度为60的字节序列d=
59}>,由用户给定的随机数种子seed生成{0,1,…,59}上的随机排列,将序列d打乱,得到新的字节序列e;
第6步:由序列e和用户给定的密钥a、b、seed随机产生像素矩阵AR、AG和AB的起点坐标(XR,YR)、(XG,YG)和(XB,YB);
第7步:由e、a和b生成初始值x0和μ以及OCML时空混沌映射中的耦合系数ε和更新函数参数μ1的具体方法如式(8)~式(11)所示:x0=mod((asine36cose37+bsine38cose39+sine40cose41)·105,1) (8)μ=3.99+mod((asine42cose43+bsine44cose45+sine46cose47)·105,1)·0.01 (9)μ1=3.99+mod((asine48cose49+bsine50cose51+sine52cose53)·105,1)·0.01 (10)ε=0.5+mod((asine54cose55+bsine56cose57+sine58cose59)·105,1)·0.1 (11)式(8)~式(11)中,e36~e59均为e中的元素;
第8步:由x0和μ计算与图像等大的OCML初始矩阵 和 结合ε、μ1驱动OCML时空混沌映射,迭代L轮生成伪随机数序列
和 将
其分别量化为 和
第9步:由(XR,YR)、(XG,YG)、(XB,YB)、kR、kG和kB对AR、AG和AB的SFore区域进行迷宫置换,得到置换后的矩阵PR、PG和PB;
第10步:对PR、PG和PB,利用kR、kG和kB进行像素值混淆加密,得到加密后图像的像素矩阵CR、CG和CB,将其写为秘密图像C。
2.如权利要求1所述的一种基于前景和背景分离的图像加密方法,其特征在于:在第4步中计算出图像像素矩阵和轮廓链码的混合SHA-1值(CAR)SHA-1、(CAG)SHA-1和(CAB)SHA-1的具体方法如式(2)所示:在第5步中将(CAR)SHA-1、(CAG)SHA-1和(CAB)SHA-1组成3×40维2维矩阵的具体方法为:将(CAR)SHA-1、(CAG)SHA-1和(CAB)SHA-1按式(3)视为由40个16进制数构成的序列:然后将(CAR)SHA-1、(CAG)SHA-1和(CAB)SHA-1转换为3×40维2维矩阵如式(4)所示:对式(4)进行列优先扫描,按式(5)得到60个字节:
d=
3.如权利要求1所述的一种基于前景和背景分离的图像加密方法,其特征在于:在第6步中:迷宫置换起点的X坐标:XR、XG和XB坐标按式(6)迭代筛选产生,Y坐标:YR、YG和YB坐标按式(7)迭代筛选产生:
12
X=mod((asineacoseb+bsineccosed+sineecosef)·10 ,M) (6)Y=mod((asinegcoseh+bsinejcosek+sinelcosem)·1012,N) (7);
式(6)和式(7)中ea,eb,ec,ed,ee,ef,eg,eh,ej,ek,el,em为每次迭代过程中从e中伪随机选择出的元素,这里需对式(6)和式(7)进行多次迭代,直至(XR,YR),(XG,YG),(XB,YB)∈SFore。
4.如权利要求1所述的一种基于前景和背景分离的图像加密方法,其特征在于:在第8步中,由x0和μ计算与图像等大的OCML初始矩阵 和 的具体方法为将x0和μ代入式(12)迭代产生与图像等大的OCML初始矩阵 和
xn+1=μxn(1-xn) (12);
结合ε、μ1驱动OCML时空混沌映射的计算公式如式(13)所示:xt+1(i)=(1-ε)·f(xt(i))+ε·f(xt(i-1)) (13),式(13)中的函数f()的计算函数取式(12);
由vR、vG和vB量化为kR、kG和kB的具体方法如式(14)所示:
5.如权利要求1所述的一种基于前景和背景分离的图像加密方法,其特征在于:在第9步中由(XR,YR)、(XG,YG)、(XB,YB)、kR、kG和kB对AR、AG和AB的SFore区域进行迷宫置换,得到置换后的矩阵PR、PG和PB,其迷宫置换的具体方法为:第9.1步:从指定的迷宫起始坐标(x,y)∈SFore出发,按下列方法输出像素已访问序列Sorder:第9.1.1步:初始化已访问序列Sorder和队列Q为空,将(x,y)插入队列Q的队尾并将(Px,y,x,y)加入到Sorder,标记(x,y)已访问;
第9.1.2步:若当前结点(x,y)的相邻结点集{(x-1,y),(x,y-1),(x+1,y),(x,y+1)}中存在未被访问的SFore范围内结点坐标,将这些结点坐标随机插入队列的队尾并标记为已访问,从队头移除(x,y),将对应的(Px,y,x,y)加入到Sorder;
第9.1.3步:若(x,y)的相邻结点集中不存在未访问SFore范围内结点坐标,将队头结点移除,对应的(Px,y,x,y)加入到Sorder,将新的队头结点坐标作为当前结点坐标;
第9.1.4步:反复执行第9.1.2步到第9.1.3步,直到SFore范围内所有结点都被标记为已访问,并输出Sorder;
第9.2步:将SFore中元素的数量记为Num,生成{0,1,…,Num-1}上的随机数排列Smap;
第9.3步:将Sorder中的像素值按Smap中的伪随机数排列顺序进行重排,产生重排后So′rder,然后将其按行优先顺序依次填充到SFore区域,产生置换后的矩阵;
第9.4步:将(XR,YR)、(XG,YG)和(XB,YB)依次作为迷宫起始坐标,得到3个置换后的矩阵PR、PG和PB。
6.如权利要求1所述的一种基于前景和背景分离的图像加密方法,其特征在于:第10步对PR、PG和PB,利用kR、kG和kB进行像素值混淆加密得到加密后图像的像素矩阵CR、CG和CB的具体方法如式(15)所示:式(15)中PiR、PiG和PiB分别对应为PR、PG和PB按行优先顺序扫描的第i个元素值,和 分别对应为CR、CG和CB按行优先顺序扫描的第i个元素值。
7.一种与权利要求1所述的加密方法相对应的基于前景和背景分离的图像解密方法,其特征在于,包括以下步骤:第1步:输入待解密图像的像素矩阵C′RR、C′G和C′B和图像解密密钥:160位SHA-1值(AR)′SHA-1、(AG)′SHA-1、(AB)′SHA-1和CC',用户给定的密钥a′、b′以及随机数种子seed′,OCML迭代轮数L',计算出(CC')SHA-1;
第2步:利用(AR)′SHA-1、(AG)′SHA-1、(AB)′SHA-1和(CC)′SHA-1计算出图像像素矩阵和轮廓链码的混合SHA-1值(CAR)′SHA-1、(CAG)′SHA-1和(CAB)′SHA-1;
第3步:将(CAR)′SHA-1、(CAG)′SHA-1和(CAB)′SHA-1组成3×40的2维矩阵,对矩阵进行列优先扫描,依次将2个16进制数合并作为1个字节,得到长度为60的字节序列d′=
1,…,59}>,由用户给定的随机数种子seed′生成{0,1,…,59}上的随机排列,将序列d′打乱,得到新的字节序列e′;
第4步:由e′、seed′和用户给定的密钥a′、b′随机产生C′R、C′G和C′B的起点坐标(X′R,Y′R)、(X′G,Y′G)和(X′B,Y′B);
第5步:由e′和a′、b′生成初始值x′0和μ′以及OCML时空混沌映射中的耦合系数ε′和更新函数参数μ′1;
第6步:由x0′和μ′计算与图像等大的OCML初始矩阵 和 结合ε′、μ1′驱动OCML时空混沌映射,迭代L′轮生成伪随机数序列
和
将其分别量化为
和
第7步:利用k′R、k′G和k′B对C′R、C′G和C′B进行解混淆操作,得到解混淆后的图像像素矩阵P′R、P′G和P′B;
第8步:对P′R、P′G和P′B进行逆向迷宫置换,从而得到解密后的RGB图像像素矩阵A′R、A′G和A′B,将其写为解密图像。
8.根据权利要求7所述的与权利要求1加密方法相对应的基于前景和背景分离的图像R G B
解密方法,其特征在于:在第7步中利用k′、k′和k′对C′R、C′G和C′B进行解混淆操作的具体计算公式如式(16)所示:式(16)中 和 分别对应为对C′R、C′G和C′B解混淆后的像素矩阵P′R、P′G和P′B按行优先顺序扫描的第i个元素值, 和 分别对应为C′R、C′G和C′B按行优先顺序扫描的第i个元素值。