CN113194213B - 一种基于秘密共享和混沌映射的png图像信息隐藏和恢复方法 - Google Patents

一种基于秘密共享和混沌映射的png图像信息隐藏和恢复方法 Download PDF

Info

Publication number
CN113194213B
CN113194213B CN202110375292.7A CN202110375292A CN113194213B CN 113194213 B CN113194213 B CN 113194213B CN 202110375292 A CN202110375292 A CN 202110375292A CN 113194213 B CN113194213 B CN 113194213B
Authority
CN
China
Prior art keywords
sequence
bit
scrambling
image
key
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
CN202110375292.7A
Other languages
English (en)
Other versions
CN113194213A (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.)
Anhui University
Original Assignee
Anhui 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 Anhui University filed Critical Anhui University
Priority to CN202110375292.7A priority Critical patent/CN113194213B/zh
Publication of CN113194213A publication Critical patent/CN113194213A/zh
Application granted granted Critical
Publication of CN113194213B publication Critical patent/CN113194213B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/32Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
    • H04N1/32101Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title
    • H04N1/32144Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title embedded in the image data, i.e. enclosed or integrated in the image, e.g. watermark, super-imposed logo or stamp
    • H04N1/32149Methods relating to embedding, encoding, decoding, detection or retrieval operations
    • H04N1/32267Methods relating to embedding, encoding, decoding, detection or retrieval operations combined with processing of the image
    • H04N1/32272Encryption or ciphering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/32Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
    • H04N1/32101Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title
    • H04N1/32144Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title embedded in the image data, i.e. enclosed or integrated in the image, e.g. watermark, super-imposed logo or stamp
    • H04N1/32149Methods relating to embedding, encoding, decoding, detection or retrieval operations
    • H04N1/32267Methods relating to embedding, encoding, decoding, detection or retrieval operations combined with processing of the image
    • H04N1/32283Hashing

Abstract

本发明公开一种基于秘密共享和混沌映射的PNG图像信息隐藏和恢复方法,使用Shamir秘密共享多项式携带原始文本信息Message做散列变换,然后将多项式嵌入到载体图像P的Alpha通道中,并用映射置乱对信息进行保护。如需恢复则通过密钥集合还原原始文本信息Message和载体图像P,以此达到本发明的加密目的。本发明同样亦可应用于身份验证识别,版权保护等领域。本发明的基于秘密共享和混沌映射的PNG图像信息隐藏方法,除了能够有效解决上述缺点所带来的问题之外,还同时具有视觉质量高、传输的信息量大、信息隐蔽性好、安全性高等优点,能够适应在复杂的网络环境中实时完成信息隐藏运算。

Description

一种基于秘密共享和混沌映射的PNG图像信息隐藏和恢复 方法
技术领域
本发明属于图像信息隐写技术,具体涉及一种基于秘密共享和混沌映射的PNG图像信息隐藏和恢复方法,适用于身份信息验证识别和隐藏通信。
背景技术
随着互联网技术的快速发展,越来越多的信息通过网络进行传输。网络信息安全越来越重要,而信息隐藏技术在信息安全领域中具有重要地位。总体而言,信息隐藏的的载体包括文字、静态的图像、动态的视频和声音等等。数字图像由于具有较大的冗余空间,是信息隐藏的良好载体,且隐藏效果较为直观,是信息隐藏的主流方式之一,也是研究得最多和最早的一种载体。图像信息隐藏应用于产权保护、票据防伪、图像作品版权标识的隐藏和防篡改以及隐藏通信对抗等等多个领域。衡量一个图像信息隐藏的算法的标准主要有两个指标:PSNR和ER。PSNR是指通过信息隐藏算法所得到最终隐藏图像的视觉效果,而ER是指该隐藏算法可使原始图像隐藏的容量。但是这两个标准是互相影响的,一个高容量的信息隐藏算法往往会得到一个相对较低的图片视觉效果。
现有的图像信息隐藏方法可以分为两大类:基于空域的方法和基于变换域的方法。空域隐藏算法主要有LSB(Least Significant Bit)替换算法、二值图像信息隐藏算法、Patchwork图像信息隐藏算法等,具有视觉效果好、处理简单、算法时间复杂度低等优点。变换域隐藏算法主要有DCT(离散余弦变换)域隐藏算法、DWT(离散小波变换)、DFT(离散傅里叶变换)等,具有稳健性较强的优点,抵抗压缩操作攻击的能力强。
上述现有图像信息隐写方法存在以下问题:
(1)大容量的图像信息隐藏算法可能出现图像失真严重,信息易于察觉等问题,进而引发秘密信息的泄露。
(2)未经特殊处理的载体图像上,携带秘密信息的像素点在位置空间上联系非常紧密。在信息隐藏算法公开的情况下,攻击者即使没有密钥,也可能通过信息隐藏算法和位置间相互联系来破解嵌入的秘密信息,秘密信息的安全无法得到保证。
(3)每一部分秘密信息的嵌入只跟与其对应的像素块有关联。如果图像信息隐藏的内容为文本信息,攻击者只要提取图像的其中一部分像素块进行分析破解,就有可能从已破解的内容推断出其他所有的秘密信息。
发明内容
发明目的:本发明的目的在于解决现有技术中存在的不足,提供一种基于秘密共享和混沌映射的PNG图像信息隐藏和恢复方法,解决了传统隐藏方法按一定的顺序嵌入数据而不做特殊保护以及信息安全程度低等缺陷,本发明保持高容量的信息隐藏,同时彻底地打乱了数据间的关系,攻击者无法捕获有效的数据与现。
技术方案:本发明的一种基于秘密共享和混沌映射的PNG图像信息隐藏方法,包括以下步骤:
S1、输入原始文本信息M和载体PNG图像P;
S2、对原始文本信息M进行预处理,得到加密的二进制字符串u’_bit;
S3、构造Shamir秘密共享多项式携带原始文本信息M做散列变换,得到字符串数据串H(xi);
S4、使用S盒映射Shamir秘密共享多项式系数值,得到字符串数据串H’(xi);
S5、将多项式嵌入到载体PNG图像P的Alpha通道中,得到新载体图像P’;
S6、对新载体图像P’的Alpha通道的秘密信息进行置乱保护,包括像素位置间置乱和像素比特间置乱。
进一步地,所述步骤2中具体的预处理方法为:
S2.1、输入原始文本信息M,原始文本信息M的长度为length;
S2.2、由于大多数中文字符处于U+4E00-9FA5,且不存在超过16位二进制的情况,英文字符位数更少,例如:‘信’根据Unicode编码转换得到的二进制串为15位:’100111111100001’,高位补0得到’0100111111100001’;因此将原始文本信息M根据Unicode编码标准转换成二进制字符串,且对于原始文本信息M中的每个字符,如果该字符转换成二进制串时不满16位,则高位补0扩展至16位二进制字符串;S2.3、将步骤S2.2所得所有二进制字符串按顺序拼接组合为二进制字符串组u_bit,且u_bit=u(x,y),u(x,y)表示二进制字符串组中第x个文字的第y个编码值,x代表文字序号,x∈[1,length],y代表第x个字符编码位,y∈[1,16],u为编码值,其值为0或1;
S2.4、输入一个9位以下的十进制密钥k1(不容易被攻击者破解),将密钥k1转换成二进制并高位补0扩展至32位二进制字符串,记为函数v=v(z),z为编码位,z∈[1,32];v为编码值,其值为0或1;
S2.5、将步骤S2.3所得u(x,y)通过v(z)进行迭代异或运算,得到加密后的二进制字符串为u’_bit,记u’_bit为u’(x,y),则:
Figure GDA0003476164730000031
其中,符号
Figure GDA0003476164730000032
为异或运算符,加密后的信息需要密钥k1来还原;至此得到加密的二进制字符串u’_bit。
为了提升容量以及维持高视觉质量,所述步骤S3中通过Shamir秘密共享多项式携带原始文本信息M做散列变换的具体方法为:
S3.1、输入加密后的二进制字符串u’_bit;
S3.2、将u’_bit划分成长为8bit的数据段si,即u’_bit=s1s2s3s4…sf,0≤si≤255,si表示第i个8bit数据段,其中f示数据段的数量,f=len(u’_bit)/8;
S3.3、生成Shamir多项式H(x)=(M+a1x+a2x2+…+af-1xf-1)mod p;
其中,p=257(比28大的最小质数);M=s1,a1=s2,a2=s3,…,af-1=sf;x1=1,x2=2,x3=3,…,xf=f;
本发明将加密信息嵌入到了秘密M和系数ai当中,使得整个多项式被高效利用;
S3.4、计算H(xi)的值;
H(x1)=(s1+s2x1+s3x1 2+…+sfx1 f-1)mod p,x1=1;
H(x2)=(s1+s2x2+s3x2 2+…+sfx2 f-1)mod p,x2=2;
H(x3)=(s1+s2x3+s3x3 2+…+sfx3 f-1)mod p,x3=3;
H(xf)=(s1+s2xn+s3xn 2+…+sf xf f-1)mod p,xf=f;
H(xi)∈[0,256];
S3.5、输出数据串H(xi)。
上述si可通过下述的拉格朗日插值公式还原:
Figure GDA0003476164730000041
进一步地,所述步骤S4的详细内容为:
S4.1、输入上述得到的数据串H(xi);
S4.2、生成S盒;
此处使用S盒对数据串H(xi)值进行映射,在保证视觉质量的情况下提升了嵌入容量和信息的安全性:
S盒的构造过程如下:
(a)按字节值的升序逐行初始化S盒;第一行是{00,01,02,…,0F},第二行是{10,11,12,…,1F},依次类推,第α行第β列的字节值是{(α-1)(β-1)},α,β∈[1,16];
(b)把S盒中的每个字节映射为其在有限域GF(28)中的逆;且{00}被映射为其自身;
(c)把S盒中的每个字节的8个构成位记为(b7,b6,b5,b4,b3,b2,b1,b0),记ci是字节{01100011}的第i位比特;对S盒的每个字节的每个位做如下的变换:
Figure GDA0003476164730000051
按照上述(a)(b)(c)步骤最终得到S盒;
S4.3:依据步骤S4.1获得的数据串H(xi),将H(xi)的值映射到步骤S4.2生成的S盒得到映射值H’(xi),具体计算过程如下:
Figure GDA0003476164730000052
第一种情况是H(xi)!=256,即0≤H(xi)≤255,这种情况下遍历S盒,找到等于H(xi)的值所对应的坐标(a,b),并返回二元组(a,b);
第二种情况是H(xi)==256,这种情况下直接返回数值16;
S4.4、输出新的数据串H’(xi)。
进一步地,所述步骤S5嵌入的具体方法为:
S5.1、获取适合的载体PNG图像P和H’(xi),适合的载体PNG图像P是指该PNG图像拥有Alpha通道,且Alpha通道的所有像素的像素值均为255;
S5.2、遍历数据串H’(xi),将小于16的元素q加上240,将等于16的元素替换成239;
遍历操作完成后,返回新的数据串H”(xi);
Figure GDA0003476164730000061
S5.3、将数据串H”(xi)按照原顺序依次填入Alpha通道,并提取数据串H”(xi)的长度作为密钥k2;长度密钥k2用于解密提取;
S5.4、输出载体图像P’。
进一步地,所述步骤S6中Alpha通道像素位置间置乱的详细过程如下:
所述步骤6需要对Alpha通道进行置乱保护。即权利要求5所述步骤G4之后,图像P’的Alpha通道携带有大量的秘密信息,所以需要对其进行保护,确保信息安全。为此保护技术步骤如下:
此处,首先利用混沌序列将图像中的像素位置打乱,再将相邻两像素点间16位二进制进行置乱,使得相邻像素点间的相关性被完全打破;使用两种不同的混沌映射,除具有敏感性好的特点外,还扩大了密钥空间,增强图像的保密性。
Tent映射表达式为:
Figure GDA0003476164730000062
其中,s∈(0,1),初值x0∈(0,1);
Logistic映射表达式为:
xn+1=uxn(1-xn) (2)
其中,u∈(3.57,4],初值x0∈(0,1);
像素位置间置乱(获取步骤G4处理好的载体图像);
步骤H1:将大小为m*n的原图像矩阵Z转换为一维序列Z’={Z’1,Z’2,......,Z’m*n},长度为m*n;
步骤H2:随机取两个区间在(0,1)的值得到密钥s和密钥k3,k3作为初值代入Tent映射公式(1),迭代计算产生一个长度为m*n+1000的序列并舍弃前1000个迭代值,得到一个长度为m*n的序列S={S1,S2,......,Sm*n};
步骤H3:将序列S按从小到大的顺序排列,用序列S’={S’1,S’2,......,S’m*n}记录排序后对应点在原序列S中的位置;
步骤H4:将Z’按照式(3)进行位置上的置乱,得到置乱后的序列G={G1,G2,......,Gm*n}。
Figure GDA0003476164730000071
所述像素比特间置乱的详细内容为:
步骤I1:将像素位置上置乱后的序列G转化为8位二进制数,每4位为一组,每组作为一个元素,共2mn组,得到一个元素个数为2mn的序列E;
步骤I2:随机取一个区间在(3.57,4]的值作为密钥u,再取两个区间在(0,1)的值作为密钥k4,k5;k4,k5作为初值代入Logistic映射公式(2),分别迭代计算2mn+1000次并舍弃前1000个值产生两个长度为2mn的序列I和序列J;如图3(a)所示。
步骤I3:将序列I每4位按从小到大的顺序排列,用序列I’记录排序后对应点在原序列中的位置,得到序列I’,并对序列J进行同样操作得到J’;如图3(b)所示。
步骤I4:初始化一个大小为4*4的矩阵K,根据I’中的每4个为一单位的排序结果对K的每一列进行赋值,再根据J’中每4个为一单位的排序结果对K中的元素按算法1中1-6行伪代码所展示的方法进行打乱,使其每一行每一列都含有1,2,3,4;如图3(c)所示。
步骤I5:对于大小为2mn的序列E,每次处理4个元素,即4组4位二进制,每组一行,形成4*4的矩阵O,根据矩阵K,按算法1中7-16行伪代码所展示的方法每次将E中的4个元素置乱,如图3(d)所示。
上述算法1如下文所示,算法1为步骤I4和步骤I5中比特间置乱的伪代码。
Figure GDA0003476164730000072
Figure GDA0003476164730000081
步骤I6:重复步骤I4-I5,以4*4大小为单位,按顺序置乱E中的元素直至所有元素均被置乱;
步骤I7:将每次置乱后得到的矩阵R进行整合,整合成与E格式一致的序列,再将每两个元素作为一个8位二进制数,分别转换为十进制,得到一个长度为mn的十进制序列,再转换为m*n(即原图像的大小)的矩阵。
至此,本发明的PNG图像信息隐藏方法的加密和嵌入的过程已完成。发送方将上述处理好的图像发送后,接收方用户接收图像并正常解密出原始信息。在整个过程当中,图像在人眼视觉上看是完全没有发生过变化的,视觉效果好,隐蔽性强。在嵌入信息之后,对图像再进行了混沌映射处理,打乱元素与元素之间的关系,让信息更加安全可靠。
本发明还公开一种基于秘密共享和混沌映射的PNG图像信息隐藏的恢复方法,包括以下步骤:
S7、输入接收到的置乱保护后的载体PNG图像;
S8、输入密钥集合ki;ki包括加密密钥k1、长度密钥k2、位置间置乱密钥k3、位置间置乱密钥s、比特间置乱密钥u、比特间置乱密钥k4及比特间置乱密钥k5
S9、解除载体PNG图像Alpha通道的置乱保护;
S10、使用S盒逆映射Shamir秘密共享多项式系数值;
S11、通过拉格朗日插值定理和密钥ki来还原原始文本信息M。
原始文本信息M的还原和提取均为上述加密嵌入算法步骤的逆过程。还原过程中用到的密钥包括:u、k3(logistic映射初值)、s、k4(第一个Tent映射初值)和k5(第二个Tent映射初值)。
进一步地,解除置乱保护包括像素比特间恢复和像素位置间恢复;
所述像素比特间恢复(对接受的载体图像P做如下操作)
步骤J1:输入置乱后的图像矩阵R,将其转换为一维序列,长度为m*n,再将该一维序列中的元素转化为8位二进制数,每4位一组,作为一个元素,共2mn组,得到一个元素个数为2mn的序列M;
步骤J2:将u和所取的Tent映射初值k4和k5,代入公式(2),分别迭代计算2mn+1000次并舍弃前1000个值产生两个长度均与序列E元素数相同的序列I和序列J;序列I每4位按从小到大的顺序排列,用序列I’记录排序后对应点在原序列中的位置,得到序列I’,并对序列J进行同样操作得到J’;
步骤J3:初始化一个大小为4*4的矩阵K,根据I’中的每4个为一单位的排序结果对K的每一列进行赋值,再根据J’中每4个为一单位的排序结果对K中的元素按算法2中所展示的伪代码第1-6步方法进行打乱,使其每一行每一列都含有1,2,3和4;
步骤J4:对于打乱后的序列E,每次处理4行的元素,即4*4的大小范围,按照算法2中所展示的伪代码第7-16步方法进行恢复操作;
上述算法2如下文所示,算法2为步骤J4和步骤J5中比特间置乱恢复的伪代码。
Figure GDA0003476164730000091
Figure GDA0003476164730000101
步骤J5:重复步骤J4-J5,以4*4大小为单位,按顺序恢复E中的元素直至所有元素均被恢复;
步骤J6:将序列E中每两个元素作为一个8位二进制数,再转化为十进制,得到一个长度为m*n的十进制序列G;
所述像素位置间恢复:
步骤K1:将s以及Logistic所取初值k3,代入公式(1),迭代计算产生一个长度为m*n+1000的序列并舍弃前1000个迭代值,得到一个长度为m*n的序列S={s 1,s2,......,sm*n};
步骤K2:将序列S按从小到大的顺序排列,用序列S’={s’1,s’2,......,s’m*n}记录排序后对应点在原序列S中的位置;
步骤K3:将G按照式(4)进行位置上的恢复,得到恢复后的序列Z’={Z’1,Z’2,......,Z’m*n};
Figure GDA0003476164730000102
步骤K4:将长度为m*n的一维序列Z’={Z’1,Z’2,......,Z’m*n}转换为大小为m*n(与原图像等大)的矩阵Z;
步骤K5:图像置乱恢复完成。
有益效果:本发明将PNG图像与Unicode文本信息隐藏相结合,利用Shamir秘密共享的多项式编排数据串,再使用S盒进行值映射的同时降低了嵌入信息对图像质量的影响。与现有技术相比,本发明具有以下优点:
(1)在信息隐藏领域中,除了对隐蔽性有很高的要求之外,信息隐藏的容量也是作为判断其算法的可靠性的一个标准。对于一张M*N大小的图像,本发明隐藏的文本能达到4MN左右,既保证了高视觉质量,传输的信息是其他算法的几倍。
(2)大多数中文字符处于U+4E00-9FA5,且不存在超过16位二进制的情况,所以本发明所用的UTF-8编码规则:如果不满足16位二进制,则高位补0;这为嵌入和提取提供了标准,配合加密密钥进行迭代加密,将信息处理和信息隐藏过程分割开来。
(3)PNG图像拥有对像素修改敏感度弱的Alpha通道,适合大容量的信息隐藏,不会出现图像失真严重的情况,一定程度上提高了信息的隐蔽性;同时因为透明层(Alpha通道,如图5所示)是可以拆卸的,从而使信息隐藏非常灵活,提取消息后销毁透明层,图像与原图完全没有差别。
(4)本发明优化改进的映射置乱算法保护秘密信息,实现像素位置间的置乱和比特间的置乱,完全切断秘密信息与像素位置上的联系,攻击者无法在没有密钥的情况从置乱的图像通道中捕捉到任何有效信息,信息安全程度大大提高。不仅如此,相比于其他同类现有产品对图像RGB、YUV通道上的处理,本发明的映射置乱算法实现在PNG图像的透明层(Alpha通道),对图像的视觉质量几乎没有影响。
(5)本发明优化的使用Shamir秘密共享多项式对原始秘密信息做散列变换,将秘密文本信息转换为秘密共享多项式的系数,并使用多项式的二元组作为提取信息的依据,这使得每一部分的秘密信息都被’分摊’给了全体的嵌入信息及像素块,只有通过完整的密钥集合还原整个秘密共享多项式才能直接提取所有秘密信息,这样就让攻击者在截获载体图像后无法通过分析单个带有秘密信息的像素块来提取信息,大大提升了秘密文本信息的安全性。
综上所述,本发明具有传输的信息量大、信息隐蔽性好、视觉质量高、安全性高等优点。
附图说明
图1为本发明的加密流程示意图;
图2为本发明的解密流程图;
图3为实施例中比特置乱示意图;
图4为实施例中S盒示意图;
图5为实施例中图像添加透明层的前后对比以及实际效果图。
具体实施方式
下面对本发明技术方案进行详细说明,但是本发明的保护范围不局限于所述实施例。
本发明的一种基于秘密共享和混沌映射的PNG图像信息隐藏和恢复方法,将PNG图像与文本信息隐藏相结合。借助PNG图像特有的Alpha通道,并巧妙地利用了Alpha通道的特性是本发明的一大创新点。以较小的代价将较大容量的数据嵌入图像通道中,提取信息过后,也可根据需要拆下该通道而不影响图像的视觉质量。
上述过程中,本发明采取一种新型的改进后的Shamir秘密共享算法,利用秘密共享(k,n)阈值隐藏秘密信息的思想,将文本信息嵌入进算法多项式中生成数据串,再设计表对数据串进行映射分离,以此达到本发明的加密目的。传统的秘密共享受限于模数p的大小,p稍微变大,图像质量将明显下降,本算法大大降低了这种影响,在保证视觉质量和信息安全的同时提升了容量,这也是本发明的一大亮点。
本发明中,在此指定的原始信息M为“图像信息隐藏”,以此为例来说明加密嵌入,提取和还原的过程,则根据上述加密算法,将原始信息转换为特定格式的UTF-8编码。
如图1所示,本实施例的加密嵌入的过程如下:
步骤SK1:输入的原始信息M为“图像信息隐藏”。
步骤SK2:采用UTF-8编码,将原始信息“图像信息隐藏”转换为二进制字符串u_bit:
信息中,汉字“图”转换成Unicode编码是:’101011011111110’汉字“像”转换成Unicode编码是:’101000011001111’,汉字“信”转换成Unicode编码是:’100111111100001’,汉字“息”转换成Unicode编码是:’110000001101111’,汉字“隐”转换成Unicode编码是:’1001011010010000’,汉字“藏”转换成Unicode编码是:’1000010111001111’。由此可知,原始信息M“图像信息隐藏”将每个字符扩展成16位二进制后拼接所对应的字符串u_bit为:
“01010110111111100101000011001111(u1)
01001111111000010110000001101111(u2)
10010110100100001000010111001111(u3)”,且长度为12byte,96bit。
步骤SK3:对于二进制字符串u_bit,,输入一个9位以下的密钥k1,这里举例k1=987654321,扩展成32位二进制得到‘00111010110111100110100010110001’。
步骤SK4:根据生成的字符串和密钥进行迭代异或运算,根据步骤4.3的公式可得:
1)、
Figure GDA0003476164730000131
‘00111010110111100110100010110001’=‘01101100001000000011100001111110’=u1’;
2)、
Figure GDA0003476164730000132
‘01101100001000000011100001111110’=‘00100011110000010101100000010001’
=u2’;3)、
Figure GDA0003476164730000133
‘00100011110000010101100000010001’=‘10110101010100011101110111011110’=u3’
步骤SK5:拼凑u1’,u2’,u3’…,un’;
按照以上方法,得到:
u’_bit=“0110110000100000001110000111111000100011110000
01010110000001000110110101010100011101110111011110”。
至此完成原始信息预处理和加密,包括转换成Unicode编码以及文本加密,得到了加密的二进制串。
本实施例的秘密共享多项式数据嵌入过程如下:
步骤E1:将u’_bit划分成8-bit的段并将每个段对应的二进制数转换为十进制,即u’_bit=s1s2s3…sn(0≤di≤255),
第1个8bit:s1=‘01101100’转换为‘108’,
第2个8bit:s2=‘00100000’转换为32,
第3个8bit:s3=‘00111000’转换为56,……
第12个8bit:s12=‘11011110’转换为222。
u’_bit共96bit,共有n=96/8=12个段。
步骤E2:创建Shamir秘密共享多项式H(xj)=(m+d1xj+d2xj 2+…+dk-1xj k-1)mod p,j=1,2,…,k。
步骤E3:对于u’_bit,设置p,m,si,xi的值如下:
(a)p=257(比255大的最小质数);
(b)m=s1,d1=s2,d2=s3,d3=s4,…,d12=s12
(c)x1=1,x2=2,x3=3,…,x12=12;
得到H(xi)以下对应的结果:
H(x1)=H(1)=(108+32x1+56x1 2+…+222x1 11)mod 257=75
H(x2)=H(2)=(108+32x2+56x2 2+…+222x2 11)mod 257=95
H(x3)=H(3)=(108+32x3+56x3 2+…+222x3 11)mod 257=163
H(x12)=H(12)=(108+32x12+56x12 2+…+222x12 11)mod 257=233
步骤E4:获得数据串H(xi):(H(x1),H(x2),H(x3),…,H(x12)),即得到的(75,95,163,…,233),
按照以上方法,将二进制串u’_bit=“011011000010000000111000011111100010
001111000001010110000001000110110101010100011101110111011110”中的每8个bit进行遍历,依次替换了秘密共享多项式的系数,再获得运算结果值序列,即数据串H(xi)。
上述改进的秘密共享多项式数据法将二进制串联系到多项式及数据串,可进行取模操作,最后的计算结果的取值不会出现无穷大小的情况,而是控制在模数p之下,即[0,p-1],小的数值可以以较小的代价嵌入图像,这是取模操作所拥有的优点。
本实施例使用S盒对数据串值进行映射,在保证视觉质量的情况下提升了嵌入容量和信息的安全性。
本实施例S盒的过程如下:
步骤E5:生成S盒。(S盒如图4所示,具体的生成步骤不再赘述)
关于S盒的具体使用如下所述步骤:
步骤E6:依据步骤E4获得的数据串H(xj),将H(xj)的值映射到步骤E5生成的S盒中。具体的,需要遍历数据串H(xj),并分成两种情况讨论:
(a)第一种情况是H(xj)!=256,即0≤H(xj)≤255,这种情况下遍历S盒,找到等于H(xj)的值的坐标(a,b),并返回二元组(a,b)。
例如:
H(x1)=75,换算成16进制是0x4B,根据图5所示的S盒,0x4b位于第12行,第12列,则返回(12,12),即(12,12);
H(x2)=95,换算成16进制是0x5F,位于S盒第8行第4列,返回(8,4);
H(x3)=163,换算成16进制是0xA3,位于S盒第7行第1列,返回(7,1);
H(x12)=233,换算成16进制是0xE9,位于S盒第14行第11列,返回(14,11);
(b)第二种情况是H(xj)==256,这种情况下直接返回数值16。
步骤E7:将返回的数值按顺序拼接起来得到新的数据串H’(xj)(步骤E6例子中计算得到的数据串H’(xj)即为(12,12,8,4,7,1,…,14,11)。
如上所述,获取的H’(xj)是由S盒映射而来。
使用S盒的一个目的是对加密数据串做一个初步的元素间置乱,这种方法简便高效,且让加密数据串中元素与元素之间的关系变得很紊乱,但同时又能用逆过程轻松还原出原始的加密数据串。正如步骤E6所述,H(x1)=75映射S盒返回(12,12),H(x12)=233映射S盒返回(14,11);依次类推,可将整串加密数据串全部进行表示。在还原的时候,又能通过二元组依次提取数据串值,例如遍历到第一个二元组(12,12)时,获得对应S盒的坐标,查阅S盒就可提取出数值75;遍历到第二个二元组(8,4)查找S盒,返回数值95;遍历到16时直接返回数值256。同样可类推还原出整个数据串。
使用S盒的另一个目的体现在图像信息嵌入的过程中。具体来说,在p=257的情况下,数据串H(xj)中的元素取值在[0,256]之间,所表示的二进制段的长度达到8bit,而一个像素点的像素值最大只有255,要对大数值元素进行隐藏,就需要对数值进行’分摊’,即将数值映射到S盒,用两个小数值的坐标来替代大数值后再进行隐藏,效果如下所述图像信息嵌入过程所示:
步骤E8:生成合格的PNG图像P,
PNG图像最独特的地方在于可以通过Alpha通道提供彩色图像和灰度图像的透明度,不仅如此,相比于RGB通道,在Alpha通道上像素的修改对图像质量的影响更小,适合存放大量的秘密信息。
步骤E9:遍历数据串H’(xj),将小于16的元素q加上240,将等于16的元素替换成239。
遍历操作完成后,返回新的数据串H”(xj)。
对于举例的数据串H’(xj)(12,12,8,4,7,1…,14,11),按照步骤E9;第一个元素q1=12<16,q1’=12+240=252,第二个元素q2=12<16,q2’=12+240=252,第三个元素q3=8<16,q1’=8+240=248…,最后得到数据串H”(xj)=(252,252,248,244,247,241,…,254,251)。
步骤E10:按照顺序将数据串H”(xj)嵌入到图像P中,此时H”(xj)的长度24作为密钥k2=24。
截取一张尺寸为5*5大小的图像将举例的H”(xj)嵌入,定位到图像的Alpha通道,图像各像素的像素值为255,嵌入前后的情况如下:
Figure GDA0003476164730000161
Figure GDA0003476164730000171
如上所述,本实施例采用Shamir秘密共享算法,对于一张M*N大小的PNG图像,信息隐藏容量可达4MN,这得益于Alpha通道对像素修改的敏感性弱,相比于RGB通道,在Alpha通道上像素的修改对图像质量的影响更小,适合存放大量的秘密信息。
另外,添加透明层(Alpha通道)的图像与原图在人眼上看几乎没有区别,(如图5所示),所以,嵌入信息时可以给原图添加Alpha通道用于信息嵌入,提取信息时可以根据密钥将信息提取出来之后再将Alpha通道拆卸下来,整个过程前后,原图没有发生改变(RGB通道没有像素值的改变),这使得本发明整个信息隐藏算法具有可拆卸性,进一步保证信息的安全性。
由于步骤E10中的数据串H”(xj)是按照顺序嵌入图像的,如果攻击者在传输过程中截获了载体图像并对图像的透明层进行解析,很有可能直接解析出H”(xj)。为完全确保信息安全,使嵌入过程不可预测,需要对其进行保护技术。为此,本实施使用两个混沌序列来确保信息安全。
本发明采用图像置乱变换作为加密方法。首先利用混沌序列将图像中的像素位置打乱,再通过算式将相邻两像素点间16位二进制进行置乱,使得相邻像素点间的相关性被完全打破。
置乱步骤如下:
步骤L1:输入原图像矩阵Z(为方便说明,这里取Z大小为2*3),将其转换为一维序列Z’,长度为6,如下所示:
[159,159,160]
[163,160,160] [159,159,160,163,160,160]
Z Z’
步骤L2:令s=0.66,取0.8作为密钥k3,k3作为初值代入Tent映射公式,迭代计算产生一个长度为6+1000的序列并舍弃前1000个,得到一个长度为6的序列S:[0.6458584434401772,0.9785733991517835,0.06301941425946019,0.09548396099918209,0.14467266818057892,0.21920101239481654];
步骤L3:将序列S按从小到大的顺序排列,用序列S’记录排序后对应点在原序列S中的位置。
S’:[3,4,5,6,1,2];
步骤L4:将Z’进行位置上的置乱,得到像素位置置乱后的序列G:
[160,163,160,160,159,159];
步骤L5:将序列G转化为8位二进制数,每4位一组,共12组,得到矩阵E。由于2mn=12,是4的倍数,故不作多余处理。
E:
['1010','0000','1010','0011','1010','0000','1010','0000','1001','1111','1001','1111'];
步骤L6:令u=4,取0.3和0.6分别作为密钥k4和k5,并作为初值代入logistic公式,迭代计算10011次并舍弃前1000个值产生两个长度均为12(与序列E组数相同)的序列I和序列J。
I:
[0.52124731 0.99819421 0.00721013 0.02863257 0.11125099 0.39549683
0.95631635 0.16710156 0.55671451 0.98713386 0.05080242 0.19288612];J:
[0.00792426 0.03144586 0.12182805 0.42794392 0.97923168 0.08134798
0.29892194 0.83827045 0.54229241 0.99284541 0.02841361 0.1104251];
步骤L7:将序列I每4位按从小到大的顺序排列,用序列I’记录排序后对应点在原序列中的位置,得到序列I’,并对序列J进行同样操作得到J’。
I’:[3,4,1,2,1,4,2,3,3,4,1,2];
J’:[1,2,3,4,2,3,4,1,3,4,1,2];
步骤L8:初始化一个大小为4*4的矩阵K,并依据上文步骤I4中的方法对其元素进行打乱。对于序列E,每次处理4组的元素,即4*4,作为矩阵O,根据矩阵K,以及上文步骤I5-I6所示的方法将E中的元素置乱。
每次的具体处理过程如下:
第一次K处理:
Figure GDA0003476164730000191
第二次K处理:
Figure GDA0003476164730000192
第三次K处理:
Figure GDA0003476164730000193
第一次置乱:
Figure GDA0003476164730000194
第二次置乱:
Figure GDA0003476164730000195
第三次置乱:
Figure GDA0003476164730000196
将每次置乱后的R整合,得到R:
['1111','0000','0100','0010','1111','0000','0000','0000','1010','1010','1111','1111'];步骤L9:R中每两组作为一个8位二进制数,分别转换为十进制,得到一个长度为6的十进制序列,再转换为2*3(即原图像的大小)的矩阵。
['1111','0000','0100','0010','1111','0000','0000','0000','1010','1010','1111','1111']
[240,66,240,0,170,255]
[240,66,240]
[0,170,255]
R
置乱前后情况如下:
[159,159,160] [240,66,240]
[163,160,160] [0,170,255]
(原图像矩阵) (置乱图像矩阵)
至此,本发明隐藏方法的加密和嵌入的过程已完成。
本实施的基于秘密共享和混沌映射的PNG图像信息恢复方法如下:接收方从接受的图像中获取还原信息。
一共需要接收两种东西,一个是载体图像,另一个是密钥串,包括初始信息加密密钥k1,H”(xj)长度密钥k2以及置乱所用的初值密钥组。
置乱还原步骤如下:
步骤M1:输入图像矩阵R,将其转换为一维序列,长度为6,再将该一维序列中的元素转化为8位二进制数,每4位一组,共12组,得到序列E。如下所示:
R:[240,66,240]、[0,170,255]、[240,66,240,0,170,255]。
E:['1111','0000','0100','0010','1111','0000','0000','0000','1010','1010','1111','1111'];步骤M1:将u=4,初值k4=0.3和k5=0.6分别代入logistic公式,迭代计算10011次并舍弃前1000个值产生两个长度均为12的序列I和序列J,并按与步骤L7中同样的方法对序列I和J进行相同操作得到I’和J’。
I:[0.52124731 0.99819421 0.00721013 0.02863257 0.11125099 0.39549683
0.95631635 0.16710156 0.55671451 0.98713386 0.05080242 0.19288612];
J:[0.00792426 0.03144586 0.12182805 0.42794392 0.97923168 0.08134798
0.29892194 0.83827045 0.54229241 0.99284541 0.02841361 0.1104251];
I’:[3,4,1,2,1,4,2,3,3,4,1,2];
J’:[1,2,3,4,2,3,4,1,3,4,1,2];
步骤M2:对于序列E,每次处理4组的元素,即4*4,作为矩阵S,根据矩阵K,以及上文步骤J4-J5所示的方法将E中的元素恢复。
第一次恢复:
Figure GDA0003476164730000211
第二次恢复:
Figure GDA0003476164730000212
第三次恢复:
Figure GDA0003476164730000213
将每次置乱后的R整合,得到O;
O:['1010','0000','1010','0011','1010','0000','1010','0000','1001','1111','1001','1111'];
步骤M3:O中每两组作为一个8位二进制数,分别转换为十进制,得到一个长度为6的十进制序列G。
G:[160,163,160,160,159,159]。
步骤M4:将s=0.66,初值K3=0.8代入Tent映射公式,迭代计算产生一个长度为6+1000的序列并舍弃前1000个,得到一个长度为6的序列S,并采用与步骤L3中同样的方法得到S’。
S:
[0.6458584434401772,0.9785733991517835,0.06301941425946019,0.09548396099918209,0.14467266818057892,0.21920101239481654];
S’:[3,4,5,6,1,2];
步骤M5:将G进行位置上的恢复,得到像素位置恢复后的序列Z’;
Z’:[159,159,160,163,160,160];
步骤M6:将长度为6的一维序列Z’转换为大小为2*3(与原图像等大)的矩阵Z。
P:[159,159,160]、[163,160,160]。
恢复前后情况如下:
[240,66,240] [159,159,160]
[0,170,255] [163,160,160]
(加密图像矩阵) (恢复图像矩阵)
按照以上方法,将接收到的载体图像进行还原之后,数据串各个元素就回到了它原本初始的位置上,即按照步骤E10存入的数据串H”(xj),在经过上述置换还原过程,现在可以按顺序从图像中提取出来。
本实施提取过程:
步骤SE1:获取经过还原的载体图像P。
还原后的图像:
Figure GDA0003476164730000221
步骤SE2:获取长度密钥k2,并按照顺序提取数据串。(在加密过程中设置密钥k2=24,则根据上述图像,可以直接提取到数据串(252,252,248,244,247,241,…,254,251),记为H”(xj)。
步骤SE3:遍历H”(xj),设初步还原后的数据串元素为H’(xj)。如果当前H”(xj)==239,则返回数值16,即H’(xj)=16;如果当前H”(xj)!=239,则将H”(xj)-240,即H’(xj)=H”(xi)-240,依此类推。
(对于SE2提取到的数据串H”(xj),初步还原得到的按照SE3所述,应为:
H’(xj)=(12,12,8,4,7,1,…,14,11)。
步骤SE4:生成S盒。如图4所示;
步骤SE5:同样遍历步骤H’(xj),记最终还原的数据串元素为H(xj)。如果H’(xj)==16,则当前H(xk++)=256,如果H’(xj)!=16,则提取当前元素和下一个元素(H(xi),H(xi+1))为二元组,以该二元组为坐标访问S盒,提取该坐标的值等于H(xk++)。
(对于SE3提取到的数据串H’(xj),初最终还原得到的按照SE5所述,H(x1)=12,则提取当前元素和下一个元素(12,12)作为S盒坐标,查看S盒得到元素75;
H(x3)=8,同样提取当前元素和下一个元素(8,4)作为S盒坐标,得到元素95,依此类推,最终还原的数据串为H(xj):(75,95,163,…,233)),当前H(xj)的长度为12。
步骤SE6:使用拉格朗日插值数学公式如下,求解还原出数据。
Figure GDA0003476164730000231
将上述数据串H(xj)代入到上述公式中进行演算,从最后还原出来的多项式提取,得到多项式的系数集合(108,32,56…,222)。
步骤SE7:遍历系数集合,将系数集合的每一个元素,还原成8位二进制,不满8位的元素高位补0。
(例如:’108’还原出二进制为’1101100’,高位补0得到‘01101100’。’32’还原出二进制为’100000’,高位补0得到’00100000’,依次类推,全部还原后拼接成的二进制串为u’_bit=“0110110000100000001110000111111000100011110000
01010110000001000110110101010100011101110111011110”)
步骤SE8:获取二进制串加密密钥k1,对u’_bit进行逐位迭代还原得到原始二进制串u_bit。
此处的还原过程为加密步骤的逆过程,这里取k1为加密时举例的密钥’987654321’。
最终还原出原始二进制串u_bit;
u_bit=“010101101111111001010000110011110100111111100001011
000000110111110010110100100001000010111001111”,共96bit。
步骤SE9:最后一步,将SE8得到的二进制串u_bit按照每16位二进制一提取,对于获取的16位二进制串,根据UTF-8编码规则,还原成最终的原始信息。
还原后的原始信息中,第一个16位二进制串为’0101011011111110’;转换成汉字得到’图’;第二个16位二进制串为’0101000011001111’;转换成汉字得到’像’;第三个16位二进制串为’0100111111100001’;转换成汉字得到’信’;依次类推,最后还原出原始信息’图像信息隐藏’。

Claims (4)

1.一种基于秘密共享和混沌映射的PNG图像信息隐藏方法,其特征在于:包括以下步骤:
S1、输入原始文本信息M和载体PNG图像P;
S2、对原始文本信息M进行预处理,得到加密的二进制字符串u’_bit;其中预处理方法为:
S2.1、输入原始文本信息M,原始文本信息M的长度为length;
S2.2、将原始文本信息M根据Unicode编码标准转换成二进制字符串,且对于原始文本信息M中的每个字符,如果该字符转换成二进制串时不满16位,则高位补0扩展至16位二进制字符串;
S2.3、将步骤S2.2所得所有二进制字符串按顺序拼接组合为二进制字符串组u_bit,令u_bit=u(x,y),u(x,y)表示二进制字符串组中第x个文字的第y个编码值,x代表文字序号,x∈[1,length],y代表字符编码位,y∈[1,16],u为编码值,其值为0或1;
S2.4、输入一个9位以下的十进制密钥k1,将密钥k1转换成二进制并高位补0扩展至32位二进制字符串,记为函数v=v(z),z为编码位,z∈[1,32];v为编码值,其值为0或1;
S2.5、将步骤S2.3所得u(x,y)通过v(z)进行迭代异或运算,得到加密后的二进制字符串为u’_bit,记u’_bit为u’(x,y),则:
Figure FDA0003476164720000011
其中,
Figure FDA0003476164720000012
为异或运算符,至此,得到加密后的二进制字符串u’_bit;
S3、构造Shamir秘密共享多项式携带原始文本信息M做散列变换,得到字符串数据串H(xi);具体过程为:
S3.1、输入加密后的二进制字符串u’_bit;
S3.2、将u’_bit划分成长为8bit的数据段si,即u’_bit=s1s2s3s4…sf,0≤si≤255,si表示第i个8bit数据段,其中f示数据段的数量,f=len(u’_bit)/8;
S3.3、生成Shamir多项式H(x)=(M+a1x+a2x2+…+af-1xf-1)mod p;
其中,p=257;M=s1,a1=s2,a2=s3,…,af-1=sf;x1=1,x2=2,x3=3,…,xf=f;
S3.4、计算H(xi)的值;
H(x1)=(s1+s2x1+s3x1 2+…+sfx1 f-1)mod p,x1=1;
H(x2)=(s1+s2x2+s3x2 2+…+sfx2 f-1)mod p,x2=2;
H(x3)=(s1+s2x3+s3x3 2+…+sfx3 f-1)mod p,x3=3;
H(xf)=(s1+s2xn+s3xn 2+…+sfxf f-1)mod p,xf=f;
H(xi)∈[0,256];
S3.5、输出数据串H(xi);
S4、使用S盒映射Shamir秘密共享多项式系数值,得到字符串数据串H’(xi);
S5、将多项式嵌入到载体PNG图像P的Alpha通道中,得到新载体图像P’;
S6、对新载体图像P’的Alpha通道的秘密信息进行置乱保护,包括像素位置间置乱和像素比特间置乱;
其中,所述像素位置间置乱的详细过程如下:
像素位置间置乱;
步骤H1:将大小为m*n的原图像矩阵Z转换为一维序列Z’={Z’1,Z’2,......,Z’m*n},长度为m*n;
步骤H2:随机取两个区间在(0,1)的值得到密钥s和密钥k3,k3作为初值代入Tent映射公式(1),迭代计算产生一个长度为m*n+1000的序列并舍弃前1000个迭代值,得到一个长度为m*n的序列S={S1,S2,......,Sm*n};
Tent映射方法:
Figure FDA0003476164720000031
其中,s∈(0,1),初值x0∈(0,1);
步骤H3:将序列S按从小到大的顺序排列,用序列S’={s’1,s’2,......,s’m*n}记录排序后对应点在原序列S中的位置;
步骤H4:将Z’按照式(3)进行位置上的置乱,得到置乱后的序列G={G1,G2,......,Gm*n};
Figure FDA0003476164720000032
所述像素比特间置乱的详细内容为:
步骤I1:将像素位置上置乱后的序列G转化为8位二进制数,每4位为一组,每组作为一个元素,共2mn组,得到一个元素个数为2mn的序列E;
步骤I2:随机取一个区间在(3.57,4]的值作为密钥u,再取两个区间在(0,1)的值作为密钥k4,k5;k4,k5作为初值代入Logistic映射公式(2),分别迭代计算2mn+1000次并舍弃前1000个值产生两个长度为2mn的序列I和序列J;
Logistic:映射方法为:
xn+1=uxn(1-xn) (2)
其中,u∈(3.57,4],初值x0∈(0,1);
步骤I3:将序列I每4位按从小到大的顺序排列,用序列I’记录排序后对应点在原序列中的位置,得到序列I’,并对序列J进行同样操作得到J’;
步骤I4:初始化一个大小为4*4的矩阵K,根据I’中的每4个为一单位的排序结果对K的每一列进行赋值,再根据J’中每4个为一单位的排序结果对K中的元素进行打乱,使其每一行每一列都含有1,2,3,4;
步骤I5:对于大小为2mn的序列E,每次处理4个元素,即4组4位二进制,每组一行,形成4*4的矩阵O,然后根据矩阵K将序列E中的4个元素进行像素比特间置乱;
步骤I6:重复步骤I4-I5,以4*4大小为单位,按顺序置乱E中的元素直至所有元素均被置乱;
步骤I7:将每次置乱后得到的矩阵R进行整合,整合成与E格式一致的序列,再将每两个元素作为一个8位二进制数,分别转换为十进制,得到一个长度为mn的十进制序列,再转换为m*n的矩阵。
2.根据权利要求1所述的基于秘密共享和混沌映射的PNG图像信息隐藏方法,其特征在于:所述步骤S4的详细内容为:
S4.1、输入上述得到的数据串H(xi);
S4.2、生成S盒如下:
(a)按字节值的升序逐行初始化S盒;第一行是{00,01,02,…,0F},第二行是{10,11,12,…,1F},依次类推,第α行第β列的字节值是{(α-1)(β-1)},α,β∈[1,16];
(b)把S盒中的每个字节映射为其在有限域GF(28)中的逆;且{00}被映射为其自身;
(c)把S盒中的每个字节的8个构成位记为(b7,b6,b5,b4,b3,b2,b1,b0),记ci是字节{01100011}的第i位比特;对S盒的每个字节的每个位做如下的变换:
Figure FDA0003476164720000051
S4.3:依据步骤S4.1获得的数据串H(xi),将H(xi)的值映射到步骤S4.2生成的S盒得到映射值H’(xi),具体计算过程如下:
Figure FDA0003476164720000052
S4.4、输出新的数据串H’(xi)。
3.根据权利要求1所述的基于秘密共享和混沌映射的PNG图像信息隐藏方法,其特征在于:所述步骤S5嵌入的具体方法为:
S5.1、获取适合的载体PNG图像P和H’(xi),适合的载体PNG图像P是指该PNG图像拥有Alpha通道,且Alpha通道的所有像素的像素值均为255;
S5.2、遍历数据串H’(xi),将小于16的元素加上240,将等于16的元素替换成239;
遍历操作完成后,返回新的数据串H”(xi);
Figure FDA0003476164720000053
S5.3、将数据串H”(xi)按照原顺序依次填入Alpha通道,并提取数据串H”(xi)的长度作为密钥k2
S5.4、输出载体图像P’。
4.一种基于秘密共享和混沌映射的PNG图像信息隐藏的恢复方法,其特征在于:
S7、输入接收到的置乱保护后的载体PNG图像;
S8、输入密钥集合ki;ki包括加密密钥k1、长度密钥k2、位置间置乱密钥k3、位置间置乱密钥s、比特间置乱密钥u、比特间置乱密钥k4及比特间置乱密钥k5
S9、解除载体PNG图像Alpha通道的置乱保护;
S10、使用S盒逆映射Shamir秘密共享多项式系数值;
S11、通过拉格朗日插值定理和密钥集合ki来还原原始文本信息M;
其中,步骤S9中解除置乱保护包括像素比特间恢复和像素位置间恢复;
所述像素比特间恢复如下:
步骤J1:输入置乱后的图像矩阵R,将其转换为一维序列,长度为m*n,再将该一维序列中的元素转化为8位二进制数,每4位一组,作为一个元素,共2mn组,得到一个元素个数为2mn的序列E;
步骤J2:将u和所取的Tent映射初值k4和k5,代入公式(2),分别迭代计算2mn+1000次并舍弃前1000个值产生两个长度均与序列E元素数相同的序列I和序列J;序列I每4位按从小到大的顺序排列,用序列I’记录排序后对应点在原序列中的位置,得到序列I’,并对序列J进行同样操作得到J’;
步骤J3:初始化一个大小为4*4的矩阵K,根据I’中的每4个为一单位的排序结果对K的每一列进行赋值,再根据J’中每4个为一单位的排序结果对K中的元素进行打乱,使其每一行每一列都含有1,2,3和4;
步骤J4:对于打乱后的序列E,每次处理4行的元素,即4*4的大小范围,然后进行像素比特间置乱恢复;
步骤J5:重复步骤4-5,以4*4大小为单位,按顺序恢复E中的元素直至所有元素均被恢复;
步骤J6:将序列E中每两个元素作为一个8位二进制数,再转化为十进制,得到一个长度为m*n的十进制序列G;
所述像素位置间恢复如下:
步骤K1:将s以及Logistic所取初值k3,代入公式(1),迭代计算产生一个长度为m*n+1000的序列并舍弃前1000个迭代值,得到一个长度为m*n的序列S={s1,s2,......,sm*n};
步骤K2:将序列S按从小到大的顺序排列,用序列S’={s’1,s’2,......,s’m*n}来记录排序后对应点在原序列S中的位置;
步骤K3:将G按照式(4)进行位置上的恢复,得到恢复后的Z’={Z’1,Z’2,......,Z’m*n};
Figure FDA0003476164720000071
步骤K4:将长度为m*n的一维序列Z’={Z’1,Z’2,......,Z’m*n}转换为大小为m*n的矩阵Z;
步骤K5:图像置乱恢复完成。
CN202110375292.7A 2021-04-08 2021-04-08 一种基于秘密共享和混沌映射的png图像信息隐藏和恢复方法 Active CN113194213B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110375292.7A CN113194213B (zh) 2021-04-08 2021-04-08 一种基于秘密共享和混沌映射的png图像信息隐藏和恢复方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110375292.7A CN113194213B (zh) 2021-04-08 2021-04-08 一种基于秘密共享和混沌映射的png图像信息隐藏和恢复方法

Publications (2)

Publication Number Publication Date
CN113194213A CN113194213A (zh) 2021-07-30
CN113194213B true CN113194213B (zh) 2022-05-20

Family

ID=76974937

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110375292.7A Active CN113194213B (zh) 2021-04-08 2021-04-08 一种基于秘密共享和混沌映射的png图像信息隐藏和恢复方法

Country Status (1)

Country Link
CN (1) CN113194213B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114049246A (zh) * 2021-11-10 2022-02-15 长春理工大学 一种基于小波变换的信息隐藏方法及系统
CN113992327B (zh) * 2021-11-16 2023-10-20 陕西师范大学 基于素数分解的无损近似分存恢复方法及系统
CN114389787B (zh) * 2021-12-06 2024-05-07 中南大学 一种基于混沌系统的无载体信息隐藏方法、系统及计算机存储介质
CN115330890B (zh) * 2022-05-26 2023-12-12 中国人民解放军国防科技大学 基于全局调整和稳定块条件的秘密图像分享方法和系统
CN115134142B (zh) * 2022-06-28 2023-09-22 南京信息工程大学 一种基于文件分割的信息隐藏方法及系统
CN115580687B (zh) * 2022-12-07 2023-04-28 电子科技大学 基于变参数超混沌系统与s形扩散的多图像加密方法
CN115695675B (zh) * 2023-01-03 2023-03-10 北京特立信电子技术股份有限公司 用于网络数据安全交换的视频加密方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8194858B2 (en) * 2009-02-19 2012-06-05 Physical Optics Corporation Chaotic cipher system and method for secure communication
CN103226802B (zh) * 2013-03-26 2015-09-23 中南大学 基于混沌加密的医学图像共享方法
US20160234009A1 (en) * 2015-02-08 2016-08-11 Wenhua Li Chaotic Baseband Modulation Hopping Based Post-Quantum Physical-Layer Encryption
CN112153238B (zh) * 2020-09-28 2022-07-15 华侨大学 一种基于Tent映射和复合混沌映射的图像加密方法

Also Published As

Publication number Publication date
CN113194213A (zh) 2021-07-30

Similar Documents

Publication Publication Date Title
CN113194213B (zh) 一种基于秘密共享和混沌映射的png图像信息隐藏和恢复方法
CN111311474B (zh) 一种大容量的图像加密域信息隐藏方法
CN108566500B (zh) 基于混合加密机制的自适应图像加密域可逆隐藏方法
CN104468090B (zh) 基于图像像素坐标的汉字密码编码方法
Swain et al. Steganography using the twelve square substitution cipher and an index variable
CN114567711A (zh) 一种基于块容量标签的大容量加密图像信息隐藏方法
Kurup et al. Data hiding scheme based on octagon shaped shell
Chen et al. Error-free separable reversible data hiding in encrypted images using linear regression and prediction error map
Bhattacharyya et al. A novel approach to develop a secure image based steganographic model using integer wavelet transform
CN115695675A (zh) 用于网络数据安全交换的视频加密方法
CN104598801A (zh) 一种基于算法重构的动态二维码生成方法
Gao et al. High-performance reversible data hiding in encrypted images with adaptive Huffman code
Singh et al. Image security using DES and RNS with reversible watermarking
Swain et al. A dynamic approach to image steganography using the three least significant bits and extended hill cipher
Cao et al. Low-complexity reversible data hiding in encrypted image via MSB hierarchical coding and LSB compression
CN115765963A (zh) 基于密文域可逆隐写的文字图像审计信息记录与提取方法
CN115190216A (zh) 基于预测误差图的加密图像可逆数据隐藏及解密方法
Kaur et al. XOR-EDGE based video steganography and testing against chi-square steganalysis
Al-Laham et al. Digital Image Slicing to Strengthen the Security of LSB Technique of Encrypting Text Messages
Li et al. New image steganography via secret-fragment-visible mosaic images by nearly-reversible color transformation
Kaushik et al. A two stage hybrid model for image encryption and compression to enhance security and efficiency
Rao et al. A Novel Image Encryption Using Parity Based Visual Cryptography
Harsoor et al. Reversible data hiding in encrypted image
Yi et al. Reversible data hiding method in encrypted images using secret sharing and Huffman coding
Srayyih Almaliki Multilevel secure digital image steganography framework using random function and advanced encryption standard

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CP02 Change in the address of a patent holder
CP02 Change in the address of a patent holder

Address after: 230601 Anhui University, 111 Jiulong Road, economic development zone, Hefei City, Anhui Province

Patentee after: ANHUI University

Address before: 230601 Anhui an object, No. 111, Jiulong Road, economic development zone, Hefei, Anhui Province

Patentee before: ANHUI University