CN112395628B - 迷宫生成式信息隐藏及恢复方法、设备及可读存储介质 - Google Patents

迷宫生成式信息隐藏及恢复方法、设备及可读存储介质 Download PDF

Info

Publication number
CN112395628B
CN112395628B CN202011308983.7A CN202011308983A CN112395628B CN 112395628 B CN112395628 B CN 112395628B CN 202011308983 A CN202011308983 A CN 202011308983A CN 112395628 B CN112395628 B CN 112395628B
Authority
CN
China
Prior art keywords
node
maze
sequence
wall
binary
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
CN202011308983.7A
Other languages
English (en)
Other versions
CN112395628A (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.)
Zhong Shanshan
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 CN202011308983.7A priority Critical patent/CN112395628B/zh
Publication of CN112395628A publication Critical patent/CN112395628A/zh
Application granted granted Critical
Publication of CN112395628B publication Critical patent/CN112395628B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/0021Image watermarking

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Image Processing (AREA)
  • Storage Device Security (AREA)

Abstract

本发明属于信息安全和信息隐藏的交叉领域,公开了一种迷宫生成式信息隐藏及恢复方法、设备及可读存储介质,在隐藏时,首先将秘密信息通过密钥一致性备份策略产生加密备份序列,然后通过伪随机选择的初始迷宫节点墙状态来编码表达,并进一步形成完美迷宫掩盖。在恢复时,首先对接收到的迷宫进行完美迷宫检验,对通过检验的迷宫图像进一步依据密钥提取秘密信息,并通过密钥一致性检验来对提取秘密信息的可靠性进行检验。本发明以随机生成的完美迷宫为嵌密载体,在嵌密过程中不暴露秘密信息的隐藏位置,且嵌入和提取过程完全依赖于密钥,并通过完美迷宫生成策略和密钥一致性检验策略提高了嵌入秘密信息的抗攻击能力和提高了秘密信息恢复的可靠性。

Description

迷宫生成式信息隐藏及恢复方法、设备及可读存储介质
技术领域
本发明属于信息安全和信息隐藏的交叉领域,涉及一种迷宫生成式信息隐藏及恢复方法、设备及可读存储介质。
背景技术
传统修改式嵌密,例如通过修改像素值或频域系数来嵌入秘密信息,这类算法易遗留修改痕迹,从而难以抵抗基于自然图像统计特征的密写分析算法的检测,且算法提升空间十分有限。
为克服该问题,人们提出了无载体信息隐藏方法,比较典型的方法是搜索式无载体信息隐藏,通过搜索适合的未修改自然载体来表达秘密信息。例如,Zhou Z L,2015(ZhouZ L,Sun H Y,Harit R,et al.Coverless image steganography without embedding[C]//International Conference on Cloud Computing and Security.SpringerInternational Publishing,2015:123-132.)将载体划分为小块,利用块均值比较的结果来表达秘密信息。Yuan C S,2017(Yuan C S,Xia Z H,Sun X M.Coverless imagesteganography based on SIFT and BOF[J].Journal of Internet Technology,2017,18(2):435-442.)依据图像的鲁棒哈希特征:SIFT特征来改进Zhou Z L,2015的秘密信息的映射方式,结合图像数据集的K均值聚类以及BOF(bag of features)特征生成8比特哈希特征来表达秘密信息。Zhou Z L,2018(Zhou Z L,Mu Y,Wu Q M J.Coverless imagesteganography using partial-duplicate image retrieval[J].Soft Computing,2018(2):1-12.)在此基础上通过选取载体图像对应位置的同哈希值小块来对密图进行马赛克近似重构。Cao Y,2018(Cao Y,Zhou Z L,Sun X M,et al.Coverless information hidingbased on the molecular structure images of material[J].Computers Materialsand Continua,2018,54(2):197-207.)则将材料分子结构图像作为秘密信息的表达载体,利用图像块均值所属区间索引来表达秘密信息。为了缓解搜索代价,这类方法通常需要构建倒排索引,这类方法在秘密信息嵌密过程中没有对所传输载体进行任何修改,所以参与表达秘密信息的任意载体都无法被基于自然载体统计特征的密写分析算法检测出异常。但这类方法常伴随由自然载体构成的大数据库,同时为找到表达秘密信息适合的含密载体需进行大代价的搜索。即使借助倒排索引,也很难缓解其搜索、存储和维护代价,且由于自然载体对不相关秘密信息的表达能力十分有限,导致单载体嵌密容量极低,涉及大量载体在信道中密集传输,从而容易引发行为异常。
为克服搜索式无载体信息隐藏需共享大数据库和多载体密集传输以及秘密信息直接在信道中传输问题,陆海,2018(陆海,邵利平.结合非直接传输和随机码本的无载体试题伪装[J].应用科学学报,2018.36(02):第331-346页.)提出一种结合非直接传输和随机码本的无载体试题伪装方法,通过随机码本编码秘密信息,并利用随机生成的选择题候选答案排列顺序编号和填空题答案的随机偏移量来表达秘密信息;为进一步提高安全性,LuH,2020(Lu H,Shao L.Full key dependent coverless test disguise method byinterval-extension-based double authentications[J].Multimedia Tools andApplications,2020(6).)在陆海,2018的基础上,引入了划分为24通道的试题库,通过选择题候选答案排列顺序编号和填空题所属通道索引来表达秘密信息,使得生成的含密试卷可扩展至其他类型试题,此外,Lu H,2020还引入了双认证区间扩展策略对提取秘密信息的准确性进行认证;尽管陆海,2018和Lu H,2020避免了搜索式无载体信息隐单载体嵌密容量低,高昂的数据库检索和维护代价以及大量载体信道密集传输等问题,并可将载体试题进行扩展,但以试题为嵌密载体,若试题难度分布不均或所涉及知识覆盖面选取不合理,则易检测出异常,从而引发密写分析者的怀疑。
生成式无载体信息隐藏是另一类典型的无载体信息隐藏方法,该方法通过载体生成的方式来产生包含秘密信息的有意义含密载体,相比于搜索式无载体信息隐藏,其优点在于单载体不存在嵌密容量限制。根据所生成载体的特点可进一步将生成式信息隐藏分为两种典型方法:纹理生成式信息隐藏和纹理合成式信息隐藏。
纹理生成式信息隐藏旨在通过纹理生成的方式来产生自然界不存在的纹理以对秘密信息进行掩盖,根据所生成的载体的不同,又可进一步划分为水影画嵌密和分形图嵌密。针对水影画嵌密,Xu J,2015(Xu J,Mao X,Jin X G,et al.,Hidden message in adeformation-based texture[J].The Visual Computer,2015.31(12):p.1653-1669.)提出将秘密信息置于空白图像上并添加掩盖图案,最后通过marbling形变来产生水影画含密纹理。潘琳,2016(潘琳,钱振兴,张新鹏,基于构造纹理图像的数字隐写[J].应用科学学报,2016.34(05):第625-632页.)通过构建秘密信息与单元图映射表,将秘密信息编码为图形单元,并添加与之相关的背景元素和色彩,再进行marbling形变对所表达秘密信息的单元图进行掩盖。Xu J,2015和潘琳,2016虽然能产生复杂漂亮的自然界不存在的纹理,但由于缺乏实际的语义而不能对秘密信息进行有效掩盖。
针对分形图嵌密,彭飞,2018(彭飞,张翔,龙敏,基于分形理论的生成式无载体图像信息隐藏[C].Proceedings of the 15th China Information Hiding Workshop(CIHW2018),Guangzhou,2018.)通过改变生成的分形图像素值来嵌入秘密信息。尽管分形图嵌密可通过少量的参数来生成复杂的分形纹理,但分形本身有严格的数学界限,对分形图像的直接修改,可能导致分形图的整体与局部不相似,从而容易引发密写异常,导致嵌密信息发生泄漏。
纹理合成式信息隐藏是由给定的样例纹理出发,通过纹理合成的方法来产生与之相似的含密纹理。Otori H,2007(Otori H,S Kuriyama,Data-Embeddable TextureSynthesis[M]//Smart Graphics.Springer Berlin Heidelberg,2007.p.146-157.)通过给定的样例纹理来对表达秘密信息的局部二值模式进行掩盖,但该方法容易产生突兀像素点,从而导致生成的嵌密载体视觉质量较差。Wu K,2015(Wu K.and W Chung-Ming,Steganography Using Reversible Texture Synthesis[J].IEEE Transactions onImage Processing,2015.24(1):p.130-139.)采用缝合线算法来提高样例纹理小块的拼接质量,并借助不同均方差的样例纹理图像小块来编码秘密信息,但该方法由于镜像操作使得编码和非编码样本小块存在明显的区别特征,从而导致隐匿的样例图像泄露。杜耀刚,2019(杜耀刚,王泽豪,赵耿,et al.一种安全的无载体纹理合成信息隐藏方案[J].计算机应用与软件,2019,036(006):287-291.)通过有限整数网格上拟仿射变换在Wu K,2015策略中来添加干扰块来避免该问题,但依然没有消除编码和非编码样本小块存在的区别特征。以上Wu K,2015和杜耀刚,2019都是采用缝合线算法来对重叠区域进行拼接,本质上是选取重叠区域差异较小的像素点来减少拼接痕迹。李国利,2019(李国利,邵利平与任平安,差异聚类和误差纹理合成的生成式信息隐藏[J].中国图象图形学报,2019.24(12):第2126-2148页.)将重叠区域像素差异和最小的误差线作为缝合线,并依据最小拼接代价优先原则进行相邻小块拼接。虽然提高了视觉质量,减小了拼接痕迹,但这类方法不可避免地涉及编码样本小块和非编码样本小块的拼接,从本质上无法彻底消除拼接痕迹,从而依然会引起密写分析者的怀疑。
发明内容
本发明的目的在于克服上述现有技术中,现有信息隐藏方法无法有效消除拼接痕迹,容易暴露秘密信息的隐藏位置,导致信息隐藏安全性低的缺点,提供一种迷宫生成式信息隐藏及恢复方法、设备及可读存储介质。
为达到上述目的,本发明采用以下技术方案予以实现:
本发明第一方面,一种迷宫生成式信息隐藏方法,包括以下步骤:
S1:获取长度为l的二值秘密比特序列B=(bu)l,并根据预设的第一密钥进行备份加密得到长度为αl的备份加密序列B′=(b′u)αl,其中,α为备份数;
S2:对规模为M×N的迷宫结构T=(ti,j)M×N进行初始化,其中,ti,j为迷宫结构(i,j)位置节点;
S3:根据预设的第二密钥生成长度为αl的且元素不重复的随机坐标位置序列P=((iu,ju))αl和随机方向序列dir=(ru)αl,ru∈{0,1,2,3};
S4:结合随机坐标位置序列P和随机方向序列dir,通过改变迷宫结构T的节点墙的状态来编码B′=(b′u)αl,得到嵌入B′=(b′u)αl的嵌入迷宫结构T′=(t′i,j)M×N
S5:通过改变嵌入迷宫结构T′的节点墙状态,得到完美迷宫结构T″=(t″i,j)M×N,其中,完美迷宫结构T″中,对于
Figure BDA0002789118310000031
Figure BDA0002789118310000032
仅存在唯一不被节点墙阻断的通路;
S6:根据完美迷宫结构T″绘制嵌密迷宫图像S并输出。
本发明迷宫生成式信息隐藏方法进一步的改进在于:
所述S1的具体方法为:
S101:获取长度为l的二值秘密比特序列B=(bu)l;初始化长度为l的第一到第α-1的二值比特序列
Figure BDA0002789118310000033
S102:将预设的第一密钥key1作为随机数种子,生成长度为α-1的随机数序列Ra=(Raz),z∈{1,2,…,α-1},将生成的每一个随机数Raz作为随机数种子,分别生成长度均为l的二值比特序列
Figure BDA0002789118310000034
S103:对于二值秘密比特序列B中的每个元素bu,通过式(1)得到bu在每个
Figure BDA0002789118310000049
下的映射值
Figure BDA00027891183100000410
,z∈{1,2,…,α-1}:
Figure BDA0002789118310000041
其中,
Figure BDA0002789118310000042
为异或运算符;
S104:将二值秘密比特序列B=(bu)l和第一到第α-1的二值比特序列
Figure BDA0002789118310000043
通过式(2)连接成备份加密序列B′=(b′u)αl
B′=B||B1||B2…||Bα-1 (2)
其中,||为序列连接符号;
所述S2的具体方法为:
对M×N的迷宫结构T=(ti,j)M×N进行初始化,节点ti,j=(v,d0,d1,d2,d3),其中v表示位置节点ti,j的状态,d0,d1,d2,d3分别表示位置节点ti,j的上方墙状态、左方墙状态、右方墙状态和下方墙状态;ti,j.v=0、ti,j.v=1和ti,j.v=2依次表示位置节点ti,j未访问、已访问和已嵌密状态;ti,j.dr=0、ti,j.dr=1、ti,j.dr=2和ti,j.dr=3依次表示节点ti,j在dr方向的墙不存在、存在且不可拆除、存在且可拆除和已被选取;初始化边界节点t0,0=(0,1,1,2,2),tM-1,0=(0,2,1,2,1),t0,N-1=(0,1,2,1,2),tM-1,N-1=(0,2,2,1,1),t0,j=(0,1,2,2,2),j≠0,N-1,tM-1,j=(0,2,2,2,1),j≠0,N-1,ti,0=(0,2,1,2,2),i≠0,M-1,ti,N-1=(0,2,2,1,2),i≠0,M-1,初始化除边界节点以外的其他内部节点ti,j=(0,2,2,2,2);
所述S3的具体方法为:
将预设的第二密钥key2作为随机数种子,生成长度为αl的且元素不重复的随机坐标位置序列P=((iu,ju))αl和随机方向序列dir=(ru)αl,ru∈{0,1,2,3},且,随机坐标位置序列P=((iu,ju))αl满足如下约束:
Figure BDA0002789118310000044
为内部节点,对于
Figure BDA0002789118310000045
Figure BDA0002789118310000046
不位置相邻。
所述S4的具体方法为:
S401:获取随机坐标位置序列P中的坐标位置(iu,ju)、随机方向序列dir中的方向ru以及备份加密序列B′中的b′u
S402:通过式(3)得到
Figure BDA0002789118310000047
在ru方向的直接相邻节点
Figure BDA0002789118310000048
所在的坐标位置(i′u,j′u):
Figure BDA0002789118310000051
S403:通过式(4)修改
Figure BDA0002789118310000052
Figure BDA0002789118310000058
的访问状态以及
Figure BDA0002789118310000053
Figure BDA0002789118310000054
两节点的墙状态;
Figure BDA0002789118310000055
S404:重复S401~S403,至所有的b′u处理完毕,将嵌入备份加密序列B′=(b′u)αl的迷宫结构T=(ti,j)M×N作为嵌入迷宫结构T′=(t′i,j)M×N
所述S5的具体方法为:
S501:初始化节点墙集合V=Φ,其中,Φ表示空集合;
S502:随机选一个位置节点t′i,j
Figure BDA0002789118310000057
S503:将位置节点t′i,j的所有可拆除墙dr=2,r∈{0,1,2,3}并入节点墙集合V中,并将t′i,j·v的值置为1;
S504:从节点墙集合V中随机选一面墙,记为t′x,y.dr′,其中,(x,y)是墙dr′所在位置节点t′x,y的坐标位置,将t′x,y.dr′从节点墙集合V中删除,通过式(5)得到t′x,y在dr′方向相邻的位置节点t′x′,y′的坐标(x′,y′):
Figure BDA0002789118310000056
S505:当t′x′,y′.v=2时,取相邻位置节点t′x″,y″.v=2,(x″,y″)∈{(x′-1,y′),(x′,y′-1),(x′,y′+1),(x′+1,y′)},通过(6)将t′x″,y″·v的值置为1,并将t′x″,y″周围存在且可拆除状态的墙t′x″,y″.dr=2,r∈{0,1,2,3}加入节点墙集合V中,通过式(7)修改t′x′,y′和t′x,y之间分隔墙的状态,将t′x′,y′的存在且可拆除状态的墙t′x′,y′.dr=2,dr∈{0,1,2,3}加入节点墙集合V中;当t′x′,y′.v=0时,通过式(7)修改t′x′,y′和t′x,y之间分隔墙的状态,将t′x′,y′的存在且可拆除状态的墙t′x′,y′.d=2,d∈{0,1,2,3}加入节点墙集合V中;当t′x′,y′.v=1时,进行S504;
t′x″,y″·v=1 (6)
t′x′,y′.v=1,t′x,y.dr′=0,t′x′,y′.d(3-r′)=0 (7)
S506:重复S504~S505,至嵌入迷宫结构T′中的所有位置节点的访问状态都为1,得到完美迷宫结构T″=(t″i,j)M×N
所述S6的具体方法为:
S601:初始化分辨率为M′×N′的二值图像S′=(s′i,j=1)M′×N′,且,M′=M·γ,N′=N·γ,γ=m+2n,其中,γ表示迷宫节点外边界边长,m表示迷宫节点内边界边长,n为迷宫节点内边界距离外边界的墙厚度;
S602:对于任意t″i,j∈T″,分别以(i·γ,j·γ)、(i·γ,j·γ+m+n)、(i·γ+m+n,j·γ)和(i·γ+m+n,j·γ+m+n)为二值图像S′上的左上角起点,在二值图像S′上绘制分辨率为n×n的且像素值为0的黑色小块;
其中,当t″i,j.d0≠0时,以(i·γ,j·γ+n)为二值图像S′上的左上角起点,在二值图像S′上绘制像素值为0的n×m的黑色小块;当t″i,j.d1≠0时,以(i·γ+n,j·γ)为二值图像S′上的左上角起点,在二值图像S′上绘制像素值为0的m×n的黑色小块;当t″i,j.d2≠0时,以(i·γ+n,j·γ+m+n)为二值图像S′上的左上角起点,在二值图像S′上绘制像素值为0的m×n的黑色小块;当t″i,j.d3≠0时,以(i·γ+m+n,j·γ+n)为二值图像S′上的左上角起点,在二值图像S′上绘制像素值为0的n×m的黑色小块;
S603:重复S602至所有的t″i,j∈T″处理完毕,将得到嵌密迷宫图像S′作为S输出。
本发明第二方面,一种迷宫生成式信息恢复方法,包括以下步骤:
T1:获取第一密钥、第二密钥、秘密比特长度l、备份数α及嵌密迷宫图像S=(si,j)M′×N′,将嵌密迷宫图像S转换为迷宫结构T=(ti,j)M×N
T2:对迷宫结构T进行完美迷宫检验,当迷宫结构T不为完美迷宫时,退出;否则,进行T3;
T3:根据第二密钥生成长度为αl的且元素不重复的随机坐标位置序列P=((iu,ju))αl和随机方向序列dir=(ru)αl,ru∈{0,1,2,3};
T4:遍历迷宫结构T=(ti,j)M×N,根据随机坐标位置序列P和随机方向序列dir得到备份加密序列B′=(b′u)αl
T5:根据第一密钥将备份加密序列B′=(b′u)αl恢复为二值秘密比特序列B=(bu)l,并检验其可靠性,得到认证比特序列A=(au)l
本发明迷宫生成式信息恢复方法进一步的改进在于:
所述T1的具体方法为:
T101:初始化规模为M×N迷宫结构T=(ti,j=(0,0,0,0,0))M×N,ti,j=(v,d0,d1,d2,d3),其中,ti,j为迷宫结构(i,j)的位置节点,v表示位置节点ti,j的状态,d0,d1,d2,d3分别表示位置节点ti,j的上方墙状态、左方墙状态、右方墙状态和下方墙状态;ti,j.v=0、ti,j.v=1和ti,j.v=2依次表示位置节点ti,j未访问、已访问和已嵌密状态;ti,j.dr=0、ti,j.dr=1、ti,j.dr=2和ti,j.dr=3依次表示位置节点ti,j在dr方向的墙的状态为不存在、存在且不可拆除、存在且可拆除和已被选取;M′=M·γ,N′=N·γ,γ=m+2n,γ表示迷宫节点外边界边长,m表示迷宫节点内边界边长,n为迷宫节点内边界距离外边界的墙厚度;
T102:对于任意ti,j∈T,若以(i·γ,j·γ+n)为嵌密迷宫图像S上的左上角起点,存在n×m的墙,则ti,j.d0=1;若以(i·γ+n,j·γ)为嵌密迷宫图像S上的左上角起点,存在m×n的墙,则ti,j.d1=1;若以(i·γ+n,j·γ+m+n)为嵌密迷宫图像S上的左上角起点,存在m×n的墙,则ti,j.d2=1;若以(i·γ+m+n,j·γ+n)为嵌密迷宫图像S上的左上角起点,存在n×m的墙,则ti,j.d3=1;
T103:重复T102至所有的ti,j∈T处理完毕,将得到的迷宫结构T输出。
所述T2的具体方法为:
T201:初始化节点访问栈W=Φ;
T202:随机选取ti,j.v=0的点作为起始点,将ti,j.v的值置为1;
T203:若存在ti,j.dr=0,r∈{0,1,2,3},则从中随机选择一个dr作为
Figure BDA0002789118310000074
并将
Figure BDA0002789118310000075
的值置为3,通过式(8)计算得到ti,j
Figure BDA0002789118310000076
方向相邻节点ti′,j′的坐标(i′,j′):
Figure BDA0002789118310000071
若ti′,j′.v=0,则将ti′,j′.v的值置为1,将ti,j加入节点访问栈W;
若ti′,j′.v≠0,输出失败并退出;
T204:若不存在ti,j.dr=0,r∈{0,1,2,3},且节点访问栈W不为空时,选取节点访问栈W中最后加入的元素作为ti′,j′,并在节点访问栈W中移除该元素;
T205:更新ti′,j′作为ti,j,重复执行T203~T204,至节点访问栈W为空;
T206:若存在ti,j且ti,j.v=0,输出失败并退出;否则,进行T3。
所述T3的具体方法为:
将第二密钥key2作为随机数种子,生成长度为αl的且元素不重复的随机坐标位置序列P=((iu,ju))αl和随机方向序列dir=(ru)αl,ru∈{0,1,2,3},且,随机坐标位置序列P=((iu,ju))αl满足如下约束:
Figure BDA0002789118310000077
为内部节点,对于
Figure BDA0002789118310000072
Figure BDA0002789118310000073
不位置相邻;
所述T4的具体方法为:
初始化备份加密序列B′=(b′u=0)αl,遍历迷宫结构T=(ti,j)M×N,根据随机坐标位置序列P和随机方向序列dir,通过式(9)得到备份加密序列B′=(b′u)αl
Figure BDA0002789118310000081
所述T5的具体方法为:
定义认证比特序列A=(au)l,将得到的备份加密序列B′=(b′u)αl每l位划分一组,得到二值秘密比特序列B=(bu)l和第一到第α-1的二值比特序列
Figure BDA0002789118310000082
将第一密钥key1作为随机数种子,生成长度为α-1的随机数序列Ra=(Raz),z∈{1,2,…,α-1},将生成的每一个随机数Raz作为随机数种子,分别生成长度均为l的二值比特序列k1=(k1 u)l,k2=(k2 u)l,…,kα-1=(kα-1 u)l;通过式(10)验证二值秘密比特序列B=(bu)l是否遭受攻击:
Figure BDA0002789118310000083
其中,au=0表示未遭受攻击,au=1表示遭受攻击。
本发明第三方面,一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时,实现上述迷宫生成式信息隐藏方法的步骤,和/或实现上述迷宫生成式信息恢复方法的步骤。
本发明第四方面,一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时,实现上述迷宫生成式信息隐藏方法的步骤,和/或实现上述迷宫生成式信息恢复方法的步骤。
与现有技术相比,本发明具有以下有益效果:
本发明迷宫生成式信息隐藏方法,选取纹理复杂且样式随机性高的迷宫作为载体,利用迷宫图像的结构化和随机性将秘密信息隐藏在节点墙中来生成完美迷宫,其生成的迷宫图像为非自然图像,避免了基于自然图像统计特性的密写分析器的检测;解决了现有修改式信息隐藏方法通常选用采用自然载体或已有载体嵌密,通过修改像素值或频域系数来嵌入秘密信息,易遗留修改痕迹,从而难以抵抗基于自然图像统计特征的密写分析算法的检测的问题。同时传输过程中无需构建大数据库,且单载体嵌密容量较高,信道中仅需传输嵌密载体,传输代价小。解决了现有搜索式无载体信息隐藏方法中通过搜索适合的未修改自然载体来表达秘密信息,但由于自然载体对不相关秘密信息的表达能力十分有限,导致单载体嵌密容量极低,涉及大量载体在信道中密集传输,安全性较差的问题。同时方法生成的图像为完美迷宫图像,本身具有实际语义,避免了纹理生成式信息隐藏方法很难有真实的语义,从而不能对给定的秘密信息进行有效掩盖的问题,且本发明生成载体为完整整体,从根本上避免了纹理合成式信息隐藏方法存在拼接痕迹和固有的块重复模式的问题。
本发明迷宫生成式信息恢复方法,引入完美迷宫检验方法,对接收的迷宫进行完美迷宫检验,检验其是否为完美迷宫来判断迷宫图像是否遭受了攻击,并对通过检验的完美迷宫进行密钥一致性检验,保证秘密信息的安全性。同时秘密信息的嵌入和提取完全依赖于密钥,没有正确的用户密钥将无法提取秘密信息,具有一定的攻击容忍能力。
附图说明
图1为本发明实施例的迷宫生成式信息隐藏方法流程图;
图2为本发明实施例的秘密信息提取流程图;
图3为本发明实施例的迷宫结构示意图;
图4为本发明实施例的嵌入秘密信息迷宫结构示意图;
图5为本发明实施例的嵌密完美迷宫结构示意图;
图6为本发明实施例的单节点生成的迷宫图像;
图7为本发明实施例的迷宫图像;
图8为本发明实施例的由图6中单节点迷宫图像转换为迷宫结构示意图;
图9为本发明实施例的嵌密完美迷宫图像1;
图10为本发明实施例的嵌密完美迷宫图像2;
图11为本发明实施例的嵌密完美迷宫图像3;
图12为本发明实施例的由图9用户密钥直接产生未嵌密完美迷宫图像4;
图13为本发明实施例的由图11用户密钥直接产生未嵌密完美迷宫图像5;
图14为本发明实施例的对图12使用完美迷宫检验算法检验后的结果图;
图15为本发明实施例的对图13使用完美迷宫检验算法检验后的结果图;
图16为本发明实施例的对图9使用完美迷宫检验算法检验后的结果图;
图17为本发明实施例的对图10使用完美迷宫检验算法检验后的结果图;
图18为本发明实施例的对图11使用完美迷宫检验算法检验后的结果图;
图19为本发明实施例的对图12灰色圆圈标记位置随机选取一面墙拆除后的迷宫图;
图20为本发明实施例的对图12灰色圆圈标记位置随机选取一条路径加上一面墙后的迷宫图;
图21为本发明实施例的对图12按图19与图20所选位置拆墙和加墙后的迷宫图;
图22为本发明实施例的对图19使用完美迷宫检验策略检验后的结果图;
图23为本发明实施例的对图20使用完美迷宫检验策略检验后的结果图;
图24为本发明实施例的对图21使用完美迷宫检验策略检验后的结果图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
以下以JAVA jdk1.8.0_65为案例实施环境,结合附图对本发明实施方式进行详细说明,但不局限于本实施案例。
下面结合附图对本发明做进一步详细描述:
参见图1,本发明一实施例中,提供一种迷宫生成式信息隐藏方法,包括以下步骤。
S1:输入第一密钥key1和第一密钥key2,输入长度为l的二值秘密比特序列B=(bu)l,将B=(bu)l加密为长度为αl的备份加密序列B′=(b′u)αl,其中,α为备份数;其加密方法的具体步骤是:
S101:初始化长度为l的第一到第α-1的二值比特序列
Figure BDA0002789118310000101
例如:假设输入密钥key1=3,key2=4,取l=1,即输入长度为1的二值秘密比特序列B,假设输入的B=(b0=0)1;取α=2,初始化长度为l=1的第一二值比特序列
Figure BDA00027891183100001011
S102:将第一密钥key1作为随机数种子,生成长度为α-1的随机数序列Ra=(Raz),z∈{1,2,…,α-1},将生成的每一个随机数Raz作为随机数种子,分别生成长度均为l的二值比特序列
Figure BDA0002789118310000102
例如:由密钥key1=3作为随机数种子,生成长度为1的随机数序列Ra=(Ra1=3),将Ra1=3作为随机数种子,生成长度为l=1的二值比特序列
Figure BDA0002789118310000103
S103:对于二值秘密比特序列B中的每个元素bu,通过式(1)得到bu在每个
Figure BDA0002789118310000104
下的映射值
Figure BDA0002789118310000105
z∈{1,2,…,α-1}:
Figure BDA0002789118310000106
其中,
Figure BDA0002789118310000107
为异或运算符;
例如:对于B中的b0=0,按式(1)计算b0
Figure BDA0002789118310000108
下的映射值
Figure BDA0002789118310000109
Figure BDA00027891183100001010
可计算得
Figure BDA0002789118310000111
可得
Figure BDA0002789118310000112
S104:将二值秘密比特序列B=(bu)l和第一到第α-1的二值比特序列
Figure BDA0002789118310000113
通过式(2)连接成备份加密序列B′=(b′u)αl
B′=B||B1||B2…||Bα-1 (2)
其中,||为序列连接符号,用于将2个序列连成1个序列;
例如:将
Figure BDA0002789118310000114
Figure BDA0002789118310000115
按式(2)B′=B||B1可将B和B1连接成备份加密序列B′=(b′0=0,b′1=1)2
S2:对规模为M×N的迷宫结构T=(ti,j)M×N进行初始化,其中,ti,j为迷宫结构(i,j)位置节点;
具体的,输入规模为M×N的迷宫结构T=(ti,j=(v,d0,d1,d2,d3))M×N,初始化:边界节点t0,0=(0,1,1,2,2),tM-1,0=(0,2,1,2,1),t0,N-1=(0,1,2,1,2),tM-1,N-1=(0,2,2,1,1),t0,j=(0,1,2,2,2),j≠0,N-1,tM-1,j=(0,2,2,2,1),j≠0,N-1,ti,0=(0,2,1,2,2),i≠0,M-1,ti,N-1=(0,2,2,1,2),i≠0,M-1,初始化除边界节点外的其他内部节点ti,j=(0,2,2,2,2),其中,ti,j为迷宫(i,j)位置节点,ti,j.v表示节点ti,j的状态,ti,j.d0,ti,j.d1,ti,j.d2,ti,j.d3分别表示迷宫节点ti,j的上方墙、左方墙、右方墙和下方墙状态并且约定:①ti,j.v=0、ti,j.v=1和ti,j.v=2依次表示节点ti,j未访问、已访问和已嵌密状态;②ti,j.dr=0、ti, j.dr=1、ti,j.dr=2和ti,j.dr=3依次表示节点ti,j在dr方向的墙不存在、存在且不可拆除、存在且可拆除和已被选取;③ti,j=(0,2,2,2,2)即ti,j.v=0,表示节点ti,j未访问,ti,j.d0=2,ti,j.d1=2,ti,j.d2=2,ti,j.d3=2表示ti,j的所有墙都是可拆除墙。
例如:假设M=3,N=6,则可初始化规模为3×6的迷宫结
Figure BDA0002789118310000116
对应的迷宫结构图如图3所示。
S3:根据预设的第二密钥生成长度为αl的且元素不重复的随机坐标位置序列P=((iu,ju))αl和随机方向序列dir=(ru)αl,ru∈{0,1,2,3};
具体的,将第二密钥key2作为随机数种子产生长度为αl的且元素不重复的随机坐标位置序列P=((iu,ju))αl和随机方向序列dir=(ru)αl,ru∈{0,1,2,3},且生成的P=((iu,ju))αl满足的约束是:对于
Figure BDA0002789118310000117
Figure BDA0002789118310000118
不位置相邻,即:
Figure BDA0002789118310000119
Figure BDA00027891183100001110
Figure BDA00027891183100001111
为内部节点
例如:由密钥key2=4作为随机数种子产生长度为αl=2×1=2的不重复随机坐标位置序列(i0,j0)=(1,1),(i1,j1)=(1,4)则P=((iu,ju))αl=((1,1),(1,4))2,产生随机方向序列r0=1,r1=2则dir=(ru)αl=(1,2)2,满足约束条件,即
Figure BDA00027891183100001224
和(1,1)不位置相邻,并且t1,1,t1,4为内部节点。
S4:结合P=((iu,ju))αl和dir=(ru)αl,r∈{0,1,2,3},通过改变迷宫结构T=(ti,j)M×N的节点墙的状态来编码B′=(b′u)αl,得到嵌入B′=(b′u)αl的嵌入迷宫结构T′=(t′i,j)M×N
具体的,包括以下步骤:
S401:取P中的坐标位置(iu,ju)和dir中的方向ru以及B′中的b′u
例如:取P中的坐标位置(i0,j0)=(1,1)和dir中的方向r0=1以及B′中的b′0=0。
S402:按式(3)计算
Figure BDA0002789118310000121
在ru方向的直接相邻节点
Figure BDA0002789118310000122
所在的坐标位置(i′u,j′u):
Figure BDA0002789118310000123
例如:按式(3)计算
Figure BDA0002789118310000124
在r0=1方向的直接相邻节点
Figure BDA0002789118310000125
可得i′0=i0=1,j′0=j0-1=0所在的坐标位置(1,0)。
S403:按式(4)修改
Figure BDA0002789118310000127
Figure BDA0002789118310000128
的访问状态,以及
Figure BDA0002789118310000129
Figure BDA00027891183100001210
两节点的墙状态,其中
Figure BDA00027891183100001211
Figure BDA00027891183100001212
分别表示节点
Figure BDA00027891183100001213
Figure BDA00027891183100001214
已嵌密,
Figure BDA00027891183100001215
Figure BDA00027891183100001216
分别表示节点
Figure BDA00027891183100001217
Figure BDA00027891183100001218
方向的墙和
Figure BDA00027891183100001219
Figure BDA00027891183100001220
方向的墙为不可拆除墙:
Figure BDA00027891183100001221
例如:由b′0=0,按式(4)修改t1,1的v值为2,d1值为0,t1,0的v值为2,d3-1即d2值为0,修改完毕后t1,1=(2,2,0,2,2),t1,0=(2,2,1,0,2)。
S404:重复S401~S403,至所有的b′u处理完毕,将嵌入B′=(b′u)αl的T=(ti,j)M×N作为T′=(t′i,j)M×N
例如:重复S401~S403,取P中的坐标位置(i1,j1)=(1,4)和dir中的方向r1=2以及B′中的b′1=1,按式(3)计算
Figure BDA00027891183100001222
在r1=2方向的直接相邻节点
Figure BDA00027891183100001223
可得i′1=i1=1,j′1=j1+1=5所在的坐标位置(1,5),由b′1=1,按式(4)修改t1,4的d2值为1,t1,5的d3-2即d1值为1,修改完毕后t1,4=(0,2,2,1,2),t1,5=(0,2,1,1,2);此时B′中所有的b′u处理完毕,
Figure BDA0002789118310000131
将T=(ti,j)3×6作为T′=(t′i,j)3×6,对应的迷宫结构图如图4所示。
S5:通过改变嵌入迷宫结构T′的节点墙状态,得到完美迷宫结构T″=(t″i,j)M×N,其中,完美迷宫结构T″中,对于
Figure BDA0002789118310000132
Figure BDA0002789118310000133
仅存在唯一不被节点墙阻断的通路,其具体步骤是:
S501:初始化节点墙集合V=Φ,其中Φ表示空集合。
例如:初始化V={}。
S502:随机选一个节点t′i,j
Figure BDA0002789118310000135
例如:假设随机选一个节点t′i,j=t′0,1
S503:将t′i,j的所有可拆除墙t′i,j.dr=2,r∈{0,1,2,3}并入V中并将t′i,j·v的值置为1表示该节点已访问。
例如:将t′0,1的所有可拆除墙t′0,1.d1,t′0,1.d2,t′0,1.d3并入V,V={t′0,1.d1,t′0,1.d2,t′0,1.d3},并将t′0,1·v的值置为1,此时t′0,1=(1,1,2,2,2)。
S504:从V中随机选一面墙,记为t′x,y.dr′,其中(x,y)是墙dr′所在节点t′x,y的坐标位置,将t′x,y.dr′从V中删除,按式(5)计算得t′x,y在dr′方向相邻的节点t′x′,y′的坐标(x′,y′):
Figure BDA0002789118310000134
例如:从V中随机选一面墙,假设为t′0,1.d3,将t′0,1.d3从V中删除,此时V={t′0, 1.d1,t′0,1.d2},按式(5)计算可得x′=x+1=1,y′=y=1,则t′0,1在d3方向相邻的节点为t′1,1
S505:若t′x′,y′.v=2时,寻找相邻节点t′x″,y″.v=2,(x″,y″)∈{(x′-1,y′),(x′,y′-1),(x′,y′+1),(x′+1,y′)},按式(6)将t′x″,y″·v置为1,将t′x″,y″周围存在且为可拆除墙t′x″,y″.dr=2,r∈{0,1,2,3}加入V中,然后按式(7)修改t′x′,y′和t′x,y之间分隔墙的状态,将t′x′,y′的可拆除墙t′x′,y′.dr=2,dr∈{0,1,2,3}加入V中;若t′x′,y′.v=0时,则直接按式(7)修改t′x′,y′和t′x,y之间分隔墙的状态,将t′x′,y′的可拆除墙t′x′,y′.d=2,d∈{0,1,2,3}加入V中;若t′x′,y′.v=1时,则重新执行S504;
t′x″,y″·v=1 (6)
t′x′,y′.v=1,t′x,y.dr′=0,t′x′,y′.d(3-r′)=0 (7)
例如:由S504得到的t′x′,y′为t′1,1,t′1,1.v=2,则可按t′x″,y″.v=2,(x″,y″)∈{(x′-1,y′),(x′,y′-1),(x′,y′+1),(x′+1,y′)}找到相邻节点t′1,0且t′1,0.v=2,按式(6)将t′1,0.v=1,将t′1,0周围存在且为可拆除墙加入V中,t′1,0=(1,2,1,0,2),则此时V={t′0,1.d1,t′0,1.d2,t′1,0.d0,t′1,0.d3},然后按式(7)修改t′1,1.v=1,t′0,1.d3=0,t′1, 1.d(3-3)=0,即此时t′1,1=(1,0,0,2,2),t′0,1=(1,1,2,2,0);将t′1,1的可拆除墙t′1,1.d2,t′1,1.d3加入V中,此时V={t′0,1.d1,t′0,1.d2,t′1,0.d0,t′1,0.d3,t′1,1.d2,t′1,1.d3}。
S506:重复S504~S505直至T′中的所有节点的访问状态都为1,表示T′中的所有节点都被访问,将得到T′=(t′i,j)M×N作为生成的完美迷宫结构T″=(t″i,j)M×N
例如:反复执行S504~S505,可得到
Figure BDA0002789118310000141
作为生成的完美迷宫结构T″=(t″i,j)3×6,对应的迷宫结构图如图5所示。
S6:根据T″=(t″i,j)M×N绘制含密迷宫图像S并输出,其具体步骤是:
S601:初始化分辨率为M′×N′二值图像S′=(s′i,j=1)M′×N′且M′=M·γ,N′=N·γ,γ=m+2n,即每个迷宫节点被绘制为外边界大小为γ×γ的网格,其中网格中心内边界为m×m,n为内边界距离外边界的墙厚度。
例如:仅以一个迷宫节点为例,设定迷宫节点绘制的网格大小为3×3,网格中心内边界为1×1,内边界距离外边界的墙厚度为1,初始化一个分辨率为3×3的二值图像
Figure BDA0002789118310000142
S602:对于任意t″i,j∈T″,分别以(i·γ,j·γ)、(i·γ,j·γ+m+n)、(i·γ+m+n,j·γ)和(i·γ+m+n,j·γ+m+n)为S′S上的左上角起点,在S′上绘制分辨率为n×n的像素值为0的黑色小块,若t″i,j.d0≠0,则以(i·γ,j·γ+n)为S′上左上角起点,在S′上绘制像素值为0的n×m的黑色小块;若t″i,j.d1≠0,则以(i·γ+n,j·γ)为S′上左上角起点,在S′上绘制像素值为0的m×n的黑色小块;若t″i,j.d2≠0,则以(i·γ+n,j·γ+m+n)为S′上左上角起点,在S′上绘制像素值为0的m×n的黑色小块;若t″i,j.d3≠0,则以(i·γ+m+n,j·γ+n)为S′上左上角起点,在S′上绘制像素值为0的n×m的黑色小块。
例如:取t″0,0=(1,2,2,2,0)为例,分别以(0,0)、(0,2)、(2,0)和(2,2)为S′上左上角起点,在S′上绘制分辨率为1×1的像素值为0的黑色小块,即
Figure BDA0002789118310000151
取t″0,0.d0=2,则以(0,1)为S′上左上角起点,在S′上绘制像素值为0的1×1的黑色矩阵小块,即
Figure BDA0002789118310000152
同样根据t″0,0.d1=2,t″0,0.d2=2最终得到
Figure BDA0002789118310000153
S603:反复执行S602直至所有的t″i,j∈T″处理完毕,将得到的嵌密迷宫图像S′作为S输出。
例如:如图6所示,给出迷宫网格节点t″0,0=(1,2,2,2,0)绘制示意图,图7给出了图5所示的迷宫结构T′=(t′i,j)3×6经过反复执行S602,取m=1,n=1生成分辨率为9×18的二值图像。
参见图2,本发明再一实施例中,提供了一种迷宫生成式信息恢复方法,包括以下步骤。
T1:输入第一密钥key1和第一密钥key2,输入秘密比特长度l和备份数α,输入嵌密迷宫图像S=(si,j)M′×N′,将S转换为迷宫结构T=(ti,j=(v,d0,d1,d2,d3))M×N,其中转换方法的具体步骤是:
T101:初始化规模为M×N迷宫结构T=(ti,j=(0,0,0,0,0))M×N,即ti,j.v=0,表示节点ti,j未访问,ti,j.d0=0,ti,j.d1=0,ti,j.d2=0,ti,j.d3=0表示ti,j的所有墙都不存在;M′=M·γ,N′=N·γ,γ=m+2n,其中γ对应为嵌密迷宫图像S中的每个迷宫节点的外边界边长,m对应的是位于每个迷宫节点中心区域的内边界边长,n是内边界距离外边界的墙厚度。
例如:输入密钥key1=3,key2=4,输入秘密比特长度l=1和备份数α=2,输入嵌密迷宫图像S=(si,j)12×24,假设迷宫图像S中的每个迷宫节点的外边界边长γ=4,每个迷宫节点中心区域内边界边长m=2,内边界距离外边界的墙厚度n=1;则
Figure BDA0002789118310000154
初始化规模3×6迷宫结构
Figure BDA0002789118310000155
T102:对于任意ti,j∈T,若以(i·γ,j·γ+n)为S上左上角起点,存在n×m的墙,则ti,j.d0=1;若以(i·γ+n,j·γ)为S上的左上角起点,存在m×n的墙,则ti,j.d1=1;若以(i·γ+n,j·γ+m+n)为S上的左上角起点,存在m×n的墙,则ti,j.d2=1;若以(i·γ+m+n,j·γ+n)为S上的左上角起点,存在n×m的墙,则ti,j.d3=1。
例如:仅以嵌秘迷宫图像中一个迷宫节点为例,假设输入的
Figure BDA0002789118310000161
对于任意ti,j∈T,以(0,1)为S上左上角起点,存在1×1的黑色像素,即墙存在,则ti,j.d0=1;以(1,0)为S上左上角起点,存在1×1的墙,则ti,j.d1=1;以(1,2)为S上左上角起点,存在1×1的墙,则ti,j.d2=1,以(2,1)为S上左上角起点,不存在1×1的墙,最终可得该节点ti,j=(0,1,1,1,0),对应的示意图如图8所示。
T103:反复执行T102,直至所有的ti,j∈T处理完毕,将得到的T输出。
例如:反复执行T102,直至所有的ti,j∈T处理完毕,将得到的
Figure BDA0002789118310000162
T2:对T进行完美迷宫检验,若T不为完美迷宫时,退出,否则进行T3;
其具体步骤是:
T201:初始化节点访问栈W=Φ。
例如:输入初始化节点访问栈W={}。
T202:随机选取ti,j.v=0的点作为起始点,将ti,j.v置为1。
例如:随机选取t1,1作为起始点,将ti,j.v置为1,此时t1,1=(1,0,0,1,1)。
T203:若存在ti,j.dr=0,r∈{0,1,2,3},则从中随机选择一个dr作为
Figure BDA0002789118310000164
并将
Figure BDA0002789118310000165
置为3,表示该面墙已被选取过,按式(8)计算得到ti,j
Figure BDA0002789118310000166
方向相邻节点ti′,j′的坐标(i′,j′):
Figure BDA0002789118310000163
若ti′,j′.v=0,则将ti′,j′.v置为1,将ti,j加入节点访问栈W。
若ti′,j′.v≠0,表示ti,j已重复访问,表明迷宫不为完美迷宫,输出失败并退出。
例如:对于t1,1,存在t1,1.d0=0,t1,1.d1=0,从中随机选取d0作为
Figure BDA0002789118310000167
Figure BDA0002789118310000168
并置t1,1.d0=3,按式(7)计算i′=i-1=0,j′=j=1可得t1,1
Figure BDA0002789118310000169
方向相邻节点的坐标(0,1),则ti′,j′=t0,1,由t0,1=(0,1,1,1,0)可得t0,1.v=0,令t0,1.v=1,将t0,1加入节点访问栈W,此时W={t0,1},t0,1=(1,1,1,1,0),t1,1=(1,3,0,1,1)。
T204:若不存在ti,j.dr=0,r∈{0,1,2,3},且节点访问栈W不为空时,选取节点访问栈W中最后加入的元素作为ti′,j′,并且在W中移除该元素。
例如:假设t0,1=(1,1,1,1,3),节点访问栈W={t1,0,t1,1},t1,1为最后加入的元素,则选择t1,1作为ti′,j′继续执行,并且在W中移除该元素,此时W={t1,0}。
T205:更新ti′,j′作为ti,j,重复执行T203~T204直到节点访问栈W为空。
例如:假设ti′,j′=t0,1,则更新t0,1作为ti,j重复执行T203~T204,直到W为空。
T206:若仍然存在ti,j且ti,j.v=0,则表明迷宫不为完美迷宫,输出失败并退出,若所有的ti,j且ti,j.v≠0,则通过完美迷宫检验,进行T3。
例如:遍历T=(ti,j)3×6不存在ti,j.v=0,表示为完美迷宫,通过完美迷宫检验,进行T3。
T3:根据第二密钥生成长度为αl的不重复随机坐标位置序列P=((iu,ju))αl和随机方向序列dir=(ru)αl,r∈{0,1,2,3},其具体方法是:
将第二密钥key2作为随机数种子产生长度为αl的且元素不重复的随机坐标位置序列P=((iu,ju))αl和随机方向序列dir=(ru)αl,r∈{0,1,2,3};且生成的P=((iu,ju))αl满足的约束是:对于
Figure BDA0002789118310000171
Figure BDA0002789118310000172
不位置相邻,即
Figure BDA0002789118310000173
Figure BDA0002789118310000174
Figure BDA0002789118310000175
为内部节点。
例如:l=1,α=2,由密钥key2=4作为随机数种子产生长度为αl=2的不重复随机坐标位置序列(i0,j0)=(1,1),(i1,j1)=(1,4)则P=((iu,ju))2l=((1,1),(1,4))2,产生随机方向序列r0=1,r1=2则dir=(ru)αl=(1,2)2,即
Figure BDA0002789118310000178
和(1,1)不位置相邻,且t1,1,t1,4满足约束条件。
T4:遍历迷宫结构T=(ti,j)M×N,根据随机坐标位置序列P和随机方向序列dir得到备份加密序列B′=(b′u)αl,其具体方法是:
初始化二值比特序列B′=(b′u=0)αl,遍历迷宫结构T=(ti,j)M×N,由P=((iu,ju))αl和dir=(ru)αl根据式(9)得到B′=(b′u)αl
Figure BDA0002789118310000176
例如:初始化二值比特序列B′=(b′0=0,b′1=0)2,由P=((1,1),(1,4))2和dir=(1,2)2遍历
Figure BDA0002789118310000177
可得,
Figure BDA0002789118310000179
即得到B′=(b′0=0,b′1=1)2
T5:根据第一密钥将备份加密序列B′=(b′u)αl恢复为二值秘密比特序列B=(bu)l,并检验其可靠性,得到认证比特序列A=(au)l,其具体方法是:
记认证比特序列A=(au)l,将得到的备份加密序列B′=(b′u)αl每l位划分一组,得到二值秘密比特序列B=(bu)l和第一到第α-1的二值比特序列
Figure BDA0002789118310000189
将第一密钥key1作为随机数种子,生成长度为α-1的随机数序列Ra=(Raz),z∈{1,2,…,α-1},将生成的每一个随机数Raz作为随机数种子,分别生成长度均为l的二值比特序列k1=(k1 u)l,k2=(k2 u)l,…,kα-1=(kα-1 u)l;通过式(10)验证二值秘密比特序列B=(bu)l是否遭受攻击:
Figure BDA0002789118310000181
其中,au=0表示未遭受攻击,au=1表示遭受攻击。
例如:初始化认证比特序列A=(au)l=(a0=0)1,将得到的B′=(b′0=0,b′1=1)2每1位划分一组,分为两组
Figure BDA0002789118310000182
Figure BDA0002789118310000183
由第一密钥key1=3作为随机数种子,生成长度为1的随机数序列Ra=(Ra1=3),将Ra1=3作为随机数种子,生成长度为l=1的二值比特序列
Figure BDA0002789118310000184
按式(10)可得
Figure BDA0002789118310000185
则a0=0,表示提取的秘密信息可靠,输出B=(b0=0)1和A=(a0=0)1
参见图9至图11,图9是以
Figure BDA0002789118310000186
为待嵌入秘密信息,取密钥key1=7,key2=3,起始点坐标(0,0),生成迷宫节点规模为20×20,迷宫节点绘制的网格大小为15×15像素点,网格中心内边界为5×5像素点,内边界距离外边界的墙厚度为5像素点的嵌密完美迷宫图像1。图10是以
Figure BDA0002789118310000187
为待嵌入秘密信息,取密钥key1=3,key2=3,起始点坐标(0,0),生成迷宫节点规模为20×20,迷宫节点绘制的网格大小为15×15像素点,网格中心内边界为5×5像素点,内边界距离外边界的墙厚度为5像素点的嵌密完美迷宫图像2。图11是以
Figure BDA0002789118310000188
为待嵌入秘密信息,取密钥key1=7,key2=7,起始点坐标(0,0),生成迷宫节点规模为20×20,迷宫节点绘制的网格大小为15×15像素点,网格中心内边界为5×5像素点,内边界距离外边界的墙厚度为5像素点的嵌密完美迷宫图像3。图9至图11在信道中公开,都为非自然图像,因此可抵抗基于自然图像统计特性的密写分析器的检测。
参见图12至图13,图12是不嵌入秘密信息,取密钥key1=7,key2=3,生成迷宫节点规模为20×20,迷宫节点绘制的网格大小为15×15像素点,网格中心内边界为5×5像素点,内边界距离外边界的墙厚度为5像素点的嵌密完美迷宫图像4。图13是不嵌入秘密信息,取密钥key1=7,key2=7,生成迷宫节点规模为20×20,迷宫节点绘制的网格大小为15×15像素点,网格中心内边界为5×5像素点,内边界距离外边界的墙厚度为5像素点的嵌密完美迷宫图像5。
由图9按正确密钥恢复出的秘密信息为
Figure BDA0002789118310000191
相对于嵌密信息
Figure BDA0002789118310000192
的误码率EBR为0%,由图10按正确密钥恢复出的秘密信息为
Figure BDA0002789118310000193
相对于嵌密信息
Figure BDA0002789118310000194
的误码率EBR为0%,由图11按正确密钥恢复出的秘密信息为
Figure BDA0002789118310000195
相对于嵌密信息
Figure BDA0002789118310000196
的误码率EBR为0%,因此秘密信息可被完全提取。
对图9按错误密钥恢复出的秘密信息为
Figure BDA0002789118310000197
相对于嵌密信息
Figure BDA0002789118310000198
的误码率EBR为56.25%,对图10按错误密钥恢复出的秘密信息为
Figure BDA0002789118310000199
相对于嵌密信息
Figure BDA00027891183100001910
的误码率EBR为43.75%,对图11按错误密钥恢复出的秘密信息为
Figure BDA00027891183100001911
相对于嵌密信息
Figure BDA0002789118310000201
的误码率EBR为56.25%。可见,本发明提取过程完全依赖于密钥key1,key2,密钥发生改变时会导致误码率趋于50%,从而提取的秘密信息具有较大的不确定,丧失其使用价值。
参见图14,是对图12使用完美迷宫检验算法检验后的结果图像,灰色表示该节点已遍历一次,白色表示该节点被多次遍历,存在回路,路径黑色表示存在未访问的节点,检验结果所有路径均被访问且被访问一次,为完美迷宫通过算法。参见图15,是对图13使用完美迷宫检验算法检验后的结果图像,灰色表示该节点已遍历一次,白色表示该节点被多次遍历,存在回路,路径黑色表示存在未访问的节点,检验结果所有路径均被访问且被访问一次,为完美迷宫通过算法。参见图16,是对图9使用完美迷宫检验算法检验后的结果图像,灰色表示该节点已遍历一次,白色表示该节点被多次遍历,存在回路,路径黑色表示存在未访问的节点,检验结果所有路径均被访问且被访问一次,为完美迷宫通过算法。参见图17,对图10使用完美迷宫检验算法检验后的结果图像,灰色表示该节点已遍历一次,白色表示该节点被多次遍历,存在回路,路径黑色表示存在未访问的节点,检验结果所有路径均被访问且被访问一次,为完美迷宫通过算法。参见图18,是对图11使用完美迷宫检验算法检验后的结果图像,灰色表示该节点已遍历一次,白色表示该节点被多次遍历,存在回路,路径黑色表示存在未访问的节点,检验结果所有路径均被访问且被访问一次,为完美迷宫通过算法。
图19是对图12随机选取一面墙拆除后的迷宫图像,拆除位置用灰色圆圈标记;图20是对图12随机选取一条路径加上一面墙后的迷宫图像,添加位置用灰色圆圈标记;图21是对图12按图19与图20的所选位置拆墙和加墙后的迷宫图像,拆除和加墙位置用灰色圆圈标记;图22是对图19使用完美迷宫检验策略检验后的结果图像,灰色表示该节点已遍历一次,白色表示该节点被多次遍历,存在回路,路径黑色表示存在未访问的节点,检验结果存在白色节点,表示存在回路,未通过完美迷宫检验;图23是对图20使用完美迷宫检验策略检验后的结果图像,灰色表示该节点已遍历一次,白色表示该节点被多次遍历,存在回路,路径黑色表示存在未访问的节点,检验结果存在黑色路径,表示存在未访问到的节点即存在封闭区域,未通过完美迷宫检验;图24是对图21使用完美迷宫检验策略检验后的结果图像,灰色表示该节点已遍历一次,白色表示该节点被多次遍历,存在回路,路径黑色表示存在未访问的节点,检验结果既存在白色表示的节点被多次遍历,又存在黑色路径表示存在未访问的节点,说明该图像既存在封闭区域,也存在多次访问节点,未通过完美迷宫检验;因此本发明的完美迷宫检验可以通过完美迷宫图像和嵌密后的完美迷宫图像,不能通过被修改后的不完美迷宫,从而保证用户接收时过滤遭到恶意修改的载体图像,进而保证秘密信息的安全性和可靠性。
本发明再一个实施例中,提供了一种终端设备,该终端设备包括处理器以及存储器,所述存储器用于存储计算机程序,所述计算机程序包括程序指令,所述处理器用于执行所述计算机存储介质存储的程序指令。处理器可能是中央处理单元(Central ProcessingUnit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor、DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable GateArray,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其是终端的计算核心以及控制核心,其适于实现一条或一条以上指令,具体适于加载并执行一条或一条以上指令从而实现相应方法流程或相应功能;本发明实施例所述的处理器用于迷宫生成式信息隐藏方法和/或迷宫生成式信息恢复方法的操作。
再一个实施例中,本发明还提供了一种计算机可读存储介质(Memory),所述计算机可读存储介质是终端设备中的记忆设备,用于存放程序和数据。可以理解的是,此处的计算机可读存储介质既可以包括终端设备中的内置存储介质,当然也可以包括终端设备所支持的扩展存储介质。计算机可读存储介质提供存储空间,该存储空间存储了终端的操作系统。并且,在该存储空间中还存放了适于被处理器加载并执行的一条或一条以上的指令,这些指令可以是一个或一个以上的计算机程序(包括程序代码)。需要说明的是,此处的计算机可读存储介质可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatilememory),例如至少一个磁盘存储器。可由处理器加载并执行计算机可读存储介质中存放的一条或一条以上指令,计算机可读存储介质中的一条或一条以上指令由处理器加载并执行迷宫生成式信息隐藏方法和/或迷宫生成式信息恢复方法的步骤。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
最后应当说明的是:以上实施例仅用以说明本发明的技术方案而非对其限制,尽管参照上述实施例对本发明进行了详细的说明,所属领域的普通技术人员应当理解:依然可以对本发明的具体实施方式进行修改或者等同替换,而未脱离本发明精神和范围的任何修改或者等同替换,其均应涵盖在本发明的权利要求保护范围之内。

Claims (8)

1.一种迷宫生成式信息隐藏方法,其特征在于,包括以下步骤:
S1:获取长度为l的二值秘密比特序列B=(bu)l,并根据预设的第一密钥进行备份加密得到长度为αl的备份加密序列B′=(b′u)αl,其中:bu是二值秘密比特序列B中第u个二值秘密比特,b′u是备份加密序列B′中第u个备份比特,α为备份数;
S2:对规模为M×N的迷宫结构T=(ti,j)M×N进行初始化,其中,ti,j为迷宫结构(i,j)位置节点,节点ti,j=(v,d0,d1,d2,d3),其中v表示位置节点ti,j的状态,d0,d1,d2,d3分别表示位置节点ti,j的上方墙状态、左方墙状态、右方墙状态和下方墙状态;ti,j.v=0、ti,j.v=1和ti, j.v=2依次表示位置节点ti,j未访问、已访问和已嵌密状态;ti,j.dr=0、ti,j.dr=1、ti,j.dr=2和ti,j.dr=3依次表示节点ti,j在dr方向的墙不存在、存在且不可拆除、存在且可拆除和已被选取;
S3:根据预设的第二密钥生成长度为αl的且元素不重复的随机坐标位置序列P=((iu,ju))αl和随机方向序列dir=(ru)αl,ru∈{0,1,2,3},其中:(iu,ju)是随机坐标位置序列P第u个随机坐标位置,ru是随机方向序列dir中的第u个随机方向;
S4:结合随机坐标位置序列P和随机方向序列dir,通过改变迷宫结构T的节点墙的状态来编码B′=(b′u)αl,得到嵌入B′=(b′u)αl的嵌入迷宫结构T′=(t′i,j)M×N,其中t′i,j是嵌入迷宫结构T′在(i,j)位置节点;
所述S4的具体方法为:
S401:获取随机坐标位置序列P中的坐标位置(iu,ju)、随机方向序列dir中的方向ru以及备份加密序列B′中的b′u
S402:通过式(3)得到
Figure FDA0003905781250000011
在ru方向的直接相邻节点
Figure FDA0003905781250000012
所在的坐标位置(i′u,j′u):
Figure FDA0003905781250000013
S403:通过式(4)修改
Figure FDA0003905781250000014
Figure FDA0003905781250000015
的访问状态以及
Figure FDA0003905781250000016
Figure FDA0003905781250000017
两节点的墙状态;
Figure FDA0003905781250000018
S404:重复S401~S403,至所有的b′u处理完毕,将嵌入备份加密序列B′=(b′u)αl的迷宫结构T=(ti,j)M×N作为嵌入迷宫结构T′=(t′i,j)M×N
S5:通过改变嵌入迷宫结构T′的节点墙状态,得到完美迷宫结构T″=(t″i,j)M×N,其中,完美迷宫结构T″中,对于
Figure FDA0003905781250000021
Figure FDA0003905781250000022
仅存在唯一不被节点墙阻断的通路,其中t″i,j是完美迷宫结构T″在(i,j)位置节点;
所述S5的具体方法为:
S501:初始化节点墙集合V=Φ,其中,Φ表示空集合;
S502:随机选一个位置节点t′i,j
Figure FDA0003905781250000023
S503:将位置节点t′i,j的所有可拆除墙dr=2,r∈{0,1,2,3}并入节点墙集合V中,并将t′i,j·v的值置为1;
S504:从节点墙集合V中随机选一面墙,记为t′x,y.dr′,其中,(x,y)是墙dr′所在位置节点t′x,y的坐标位置,将t′x,y.dr′从节点墙集合V中删除,通过式(5)得到t′x,y在dr′方向相邻的位置节点t′x′,y′的坐标(x′,y′):
Figure FDA0003905781250000024
S505:当t′x′,y′.v=2时,取相邻位置节点t′x″,y″.v=2,(x″,y″)∈{(x′-1,y′),(x′,y′-1),(x′,y′+1),(x′+1,y′)},通过(6)将t′x″,y″·v的值置为1,并将t′x″,y″周围存在且可拆除状态的墙t′x″,y″.dr=2,r∈{0,1,2,3}加入节点墙集合V中,通过式(7)修改t′x′,y′和t′x,y之间分隔墙的状态,将t′x′,y′的存在且可拆除状态的墙t′x′,y′.dr=2,dr∈{0,1,2,3}加入节点墙集合V中;当t′x′,y′.v=0时,通过式(7)修改t′x′,y′和t′x,y之间分隔墙的状态,将t′x′,y′的存在且可拆除状态的墙t′x′,y′.d=2,d∈{0,1,2,3}加入节点墙集合V中;当t′x′,y′.v=1时,进行S504;
t′x″,y″·v=1 (6)
t′x′,y′.v=1,t′x,y.dr′=0,t′x′,y′.d(3-r′)=0 (7)
S506:重复S504~S505,至嵌入迷宫结构T′中的所有位置节点的访问状态都为1,得到完美迷宫结构T″=(t″i,j)M×N;S6:根据完美迷宫结构T″绘制嵌密迷宫图像S并输出。
2.根据权利要求1所述的迷宫生成式信息隐藏方法,其特征在于,所述S1的具体方法为:
S101:获取长度为l的二值秘密比特序列B=(bu)l;初始化长度为l的第一到第α-1的二值比特序列
Figure FDA0003905781250000025
其中:
Figure FDA0003905781250000026
依次对应为二值比特序列B1,B2,…,Bα-1中u位置的二值比特;
S102:将预设的第一密钥key1作为随机数种子,生成长度为α-1的随机数序列Ra=(Raz),z∈{1,2,…,α-1},将生成的每一个随机数Raz作为随机数种子,分别生成长度均为l的二值比特序列
Figure FDA0003905781250000031
其中:
Figure FDA0003905781250000032
依次对应为二值比特序列k1,k2,…,kα-1中u位置的二值比特;
S103:对于二值秘密比特序列B中的每个元素bu,通过式(1)得到bu在每个
Figure FDA0003905781250000033
下的映射值
Figure FDA0003905781250000034
z∈{1,2,…,α-1}:
Figure FDA0003905781250000035
其中,
Figure FDA0003905781250000036
为异或运算符;
S104:将二值秘密比特序列B=(bu)l和第一到第α-1的二值比特序列
Figure FDA0003905781250000037
通过式(2)连接成备份加密序列B′=(b′u)αl
B′=B||B1||B2…||Bα-1 (2)
其中,
Figure FDA0003905781250000038
为序列连接符号;
所述S2的具体方法为:
对M×N的迷宫结构T=(ti,j)M×N进行初始化,;初始化边界节点t0,0=(0,1,1,2,2),tM-1,0=(0,2,1,2,1),t0,N-1=(0,1,2,1,2),tM-1,N-1=(0,2,2,1,1),t0,j=(0,1,2,2,2),j≠0,N-1,tM-1,j=(0,2,2,2,1),j≠0,N-1,ti,0=(0,2,1,2,2),i≠0,M-1,ti,N-1=(0,2,2,1,2),i≠0,M-1,初始化除边界节点以外的其他内部节点ti,j=(0,2,2,2,2);
所述S3的具体方法为:
将预设的第二密钥key2作为随机数种子,生成长度为αl的且元素不重复的随机坐标位置序列P=((iu,ju))αl和随机方向序列dir=(ru)αl,ru∈{0,1,2,3},且,随机坐标位置序列P=((iu,ju))αl满足如下约束:
Figure FDA0003905781250000039
为内部节点,对于
Figure FDA00039057812500000310
Figure FDA00039057812500000311
不位置相邻。
3.根据权利要求2所述的迷宫生成式信息隐藏方法,其特征在于,所述S6的具体方法为:
S601:初始化分辨率为M′×N′的二值图像S′=(s′i,j=1)M′×N′,且,M′=M·γ,N′=N·γ,γ=m+2n,其中,γ表示迷宫节点外边界边长,m表示迷宫节点内边界边长,n为迷宫节点内边界距离外边界的墙厚度;
S602:对于任意t″i,j∈T″,分别以(i·γ,j·γ)、(i·γ,j·γ+m+n)、(i·γ+m+n,j·γ)和(i·γ+m+n,j·γ+m+n)为二值图像S′上的左上角起点,在二值图像S′上绘制分辨率为n×n的且像素值为0的黑色小块;
其中,当t″i,j.d0≠0时,以(i·γ,j·γ+n)为二值图像S′上的左上角起点,在二值图像S′上绘制像素值为0的n×m的黑色小块;当t″i,j.d1≠0时,以(i·γ+n,j·γ)为二值图像S′上的左上角起点,在二值图像S′上绘制像素值为0的m×n的黑色小块;当t″i,j.d2≠0时,以(i·γ+n,j·γ+m+n)为二值图像S′上的左上角起点,在二值图像S′上绘制像素值为0的m×n的黑色小块;当t″i,j.d3≠0时,以(i·γ+m+n,j·γ+n)为二值图像S′上的左上角起点,在二值图像S′上绘制像素值为0的n×m的黑色小块;
S603:重复S602至所有的t″i,j∈T″处理完毕,将得到嵌密迷宫图像S′作为S输出。
4.一种迷宫生成式信息恢复方法,其特征在于,包括以下步骤:
T1:获取第一密钥、第二密钥、秘密比特长度l、备份数α及嵌密迷宫图像S=(si,j)M′×N′,将嵌密迷宫图像S转换为迷宫结构T=(ti,j)M×N,其中:si,j是嵌密迷宫图像S在(i,j)位置像素,ti,j是迷宫结构T在(i,j)位置节点;
所述T1的具体方法为:
T101:初始化规模为M×N迷宫结构T=(ti,j=(0,0,0,0,0))M×N,ti,j=(v,d0,d1,d2,d3),其中,ti,j为迷宫结构(i,j)的位置节点,v表示位置节点ti,j的状态,d0,d1,d2,d3分别表示位置节点ti,j的上方墙状态、左方墙状态、右方墙状态和下方墙状态;ti,j.v=0、ti,j.v=1和ti,j.v=2依次表示位置节点ti,j未访问、已访问和已嵌密状态;ti,j.dr=0、ti,j.dr=1、ti, j.dr=2和ti,j.dr=3依次表示位置节点ti,j在dr方向的墙的状态为不存在、存在且不可拆除、存在且可拆除和已被选取;M′=M·γ,N′=N·γ,γ=m+2n,γ表示迷宫节点外边界边长,m表示迷宫节点内边界边长,n为迷宫节点内边界距离外边界的墙厚度;
T102:对于任意ti,j∈T,若以(i·γ,j·γ+n)为嵌密迷宫图像S上的左上角起点,存在n×m的墙,则ti,j.d0=1;若以(i·γ+n,j·γ)为嵌密迷宫图像S上的左上角起点,存在m×n的墙,则ti,j.d1=1;若以(i·γ+n,j·γ+m+n)为嵌密迷宫图像S上的左上角起点,存在m×n的墙,则ti,j.d2=1;若以(i·γ+m+n,j·γ+n)为嵌密迷宫图像S上的左上角起点,存在n×m的墙,则ti,j.d3=1;
T103:重复T102至所有的ti,j∈T处理完毕,将得到的迷宫结构T输出;
T2:对迷宫结构T进行完美迷宫检验,当迷宫结构T不为完美迷宫时,退出;否则,进行T3;
T3:根据第二密钥生成长度为αl的且元素不重复的随机坐标位置序列P=((iu,ju))αl和随机方向序列dir=(ru)αl,ru∈{0,1,2,3},其中:(iu,ju)是随机坐标位置序列P第u个随机坐标位置,ru是随机方向序列dir中的第u个随机方向;
T4:遍历迷宫结构T=(ti,j)M×N,根据随机坐标位置序列P和随机方向序列dir得到备份加密序列B′=(b′u)αl
T5:根据第一密钥将备份加密序列B′=(b′u)αl恢复为二值秘密比特序列B=(bu)l,并检验其可靠性,得到认证比特序列A=(au)l,其中:b′u是备份加密序列B′中第u个备份比特,bu是二值秘密比特序列B中第u个二值秘密比特,au是认证比特序列A中的第u个认证比特;
所述T5的具体方法为:
定义认证比特序列A=(au)l,将得到的备份加密序列B′=(b′u)αl每l位划分一组,得到二值秘密比特序列B=(bu)l和第一到第α-1的二值比特序列
Figure FDA0003905781250000051
将第一密钥key1作为随机数种子,生成长度为α-1的随机数序列Ra=(Raz),z∈{1,2,…,α-1},将生成的每一个随机数Raz作为随机数种子,分别生成长度均为l的二值比特序列k1=(k1 u)l,k2=(k2 u)l,…,kα-1=(kα-1 u)l;通过式(10)验证二值秘密比特序列B=(bu)l是否遭受攻击:
Figure FDA0003905781250000052
其中,au=0表示未遭受攻击,au=1表示遭受攻击,
Figure FDA0003905781250000053
依次对应为二值比特序列B1,B2,…,Bα-1中u位置的二值比特,
Figure FDA0003905781250000054
依次对应为二值比特序列k1,k2,…,kα-1中u位置的二值比特。
5.根据权利要求4所述的迷宫生成式信息恢复方法,其特征在于,所述T2的具体方法为:
T201:初始化节点访问栈W=Φ;
T202:随机选取ti,j.v=0的点作为起始点,将ti,j.v的值置为1;
T203:若存在ti,j.dr=0,r∈{0,1,2,3},则从中随机选择一个dr作为
Figure FDA0003905781250000055
并将
Figure FDA0003905781250000056
的值置为3,通过式(8)计算得到ti,j
Figure FDA0003905781250000057
方向相邻节点ti′,j′的坐标(i′,j′):
Figure FDA0003905781250000058
若ti′,j′.v=0,则将ti′,j′.v的值置为1,将ti,j加入节点访问栈W;
若ti′,j′.v≠0,输出失败并退出;
T204:若不存在ti,j.dr=0,r∈{0,1,2,3},且节点访问栈W不为空时,选取节点访问栈W中最后加入的元素作为ti′,j′,并在节点访问栈W中移除该元素;
T205:更新ti′,j′作为ti,j,重复执行T203~T204,至节点访问栈W为空;
T206:若存在ti,j且ti,j.v=0,输出失败并退出;否则,进行T3。
6.根据权利要求4所述的迷宫生成式信息恢复方法,其特征在于,所述T3的具体方法为:
将第二密钥key2作为随机数种子,生成长度为αl的且元素不重复的随机坐标位置序列P=((iu,ju))αl和随机方向序列dir=(ru)αl,ru∈{0,1,2,3},且,随机坐标位置序列P=((iu,ju))αl满足如下约束:
Figure FDA0003905781250000061
为内部节点,对于
Figure FDA0003905781250000062
Figure FDA0003905781250000063
不位置相邻;
所述T4的具体方法为:
初始化备份加密序列B′=(b′u=0)αl,遍历迷宫结构T=(ti,j)M×N,根据随机坐标位置序列P和随机方向序列dir,通过式(9)得到备份加密序列B′=(b′u)αl
Figure FDA0003905781250000064
7.一种终端设备,其特征在于,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时,实现权利要求1至3任一项所述迷宫生成式信息隐藏方法的步骤,和/或实现权利要求4至6任一项所述迷宫生成式信息恢复方法的步骤。
8.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时,实现权利要求1至3任一项所述迷宫生成式信息隐藏方法的步骤,和/或实现权利要求4至6任一项所述迷宫生成式信息恢复方法的步骤。
CN202011308983.7A 2020-11-19 2020-11-19 迷宫生成式信息隐藏及恢复方法、设备及可读存储介质 Active CN112395628B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011308983.7A CN112395628B (zh) 2020-11-19 2020-11-19 迷宫生成式信息隐藏及恢复方法、设备及可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011308983.7A CN112395628B (zh) 2020-11-19 2020-11-19 迷宫生成式信息隐藏及恢复方法、设备及可读存储介质

Publications (2)

Publication Number Publication Date
CN112395628A CN112395628A (zh) 2021-02-23
CN112395628B true CN112395628B (zh) 2023-02-17

Family

ID=74606913

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011308983.7A Active CN112395628B (zh) 2020-11-19 2020-11-19 迷宫生成式信息隐藏及恢复方法、设备及可读存储介质

Country Status (1)

Country Link
CN (1) CN112395628B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114065245B (zh) * 2021-11-15 2024-02-20 陕西师范大学 一种基于局部微领域变精度的分形信息隐藏/恢复方法及系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104469079A (zh) * 2014-12-08 2015-03-25 陕西师范大学 一种基于2D随机Prim迷宫的数字置乱方法
CN110475039A (zh) * 2019-08-02 2019-11-19 陕西师范大学 线条艺术画隐藏和恢复的方法、设备及存储介质

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107040787B (zh) * 2017-03-30 2019-08-02 宁波大学 一种基于视觉感知的3d-hevc帧间信息隐藏方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104469079A (zh) * 2014-12-08 2015-03-25 陕西师范大学 一种基于2D随机Prim迷宫的数字置乱方法
CN110475039A (zh) * 2019-08-02 2019-11-19 陕西师范大学 线条艺术画隐藏和恢复的方法、设备及存储介质

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
An image encryption scheme based on constructing large permutation with chaotic sequence;Zhang XP et al.;《COMPUTERS & ELECTRICAL ENGINEERING》;20140618;第40卷(第3期);全文 *
基于迷宫置换和Logistic混沌映射的图像加密算法;杨璐等;《计算机应用》;20140710;第34卷(第7期);全文 *
隐藏图形信息迷宫自动生成研究;黄恩铭;《中国优秀硕士学位论文全文数据库社会科学Ⅱ辑》;20150115(第1期);全文 *

Also Published As

Publication number Publication date
CN112395628A (zh) 2021-02-23

Similar Documents

Publication Publication Date Title
Huang et al. Conditional cube attack on reduced-round Keccak sponge function
Wazirali et al. An optimized steganography hiding capacity and imperceptibly using genetic algorithms
Wang et al. A novel image encryption algorithm using chaos and reversible cellular automata
CN107239708B (zh) 一种基于量子混沌映射和分数域变换的图像加密方法
Bombin et al. Logical blocks for fault-tolerant topological quantum computation
CN106301760A (zh) 一种基于混沌映射的3d点云模型加密方法
CN112395628B (zh) 迷宫生成式信息隐藏及恢复方法、设备及可读存储介质
Li et al. Color image representation model and its application based on an improved FRQI
CN110475039A (zh) 线条艺术画隐藏和恢复的方法、设备及存储介质
Shi et al. Image encryption with quantum cellular neural network
Goodrich et al. Data-oblivious graph drawing model and algorithms
Bhuyan et al. Development of secrete images in image transferring system
Chen et al. Cyclic shift-based MQIR image encryption scheme
Berthé et al. Substitutive Arnoux-Rauzy sequences have pure discrete spectrum
Mohamed et al. Mixed multi-chaos quantum image encryption scheme based on Quantum Cellular Automata (QCA)
Song et al. Batch image encryption using cross image permutation and diffusion
Wang et al. RST invariant fragile watermarking for 2D vector map authentication
CN110474769B (zh) 一种基于修改方向的量子彩色图像加密方法
Ren et al. A zero-watermarking scheme based on spatial topological relations for vector dataset
CN113160028B (zh) 基于彩色字符画的信息隐藏及恢复方法、设备及存储介质
Alsuhibany Developing a visual cryptography tool for Arabic text
Mfungo et al. Fractal-based hybrid cryptosystem: Enhancing image encryption with RSA, homomorphic encryption, and chaotic maps
CN112288617B (zh) 基于马赛克拼图的信息隐藏及恢复方法、设备及介质
CN116523725A (zh) 一种神经网络模型的水印处理方法和装置
Jiang et al. Compressive-sensing-based double-image encryption algorithm combining double random phase encoding with Josephus traversing operation

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
CB03 Change of inventor or designer information
CB03 Change of inventor or designer information

Inventor after: Guo Xiaoqiang

Inventor after: Shao Liping

Inventor after: Ren Pingan

Inventor before: Shao Liping

Inventor before: Guo Xiaoqiang

Inventor before: Ren Pingan

GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20240123

Address after: 101400 Beijing city Huairou District Bohai town Huai Sha Road No. 536

Patentee after: Zhong Shanshan

Country or region after: China

Address before: 710119 No. 620 West Chang'an Street, Chang'an District, Xi'an City, Shaanxi Province

Patentee before: Shaanxi Normal University

Country or region before: China