CN108924380B - 一种基于Visio网络拓扑结构图自生成的隐写方法 - Google Patents
一种基于Visio网络拓扑结构图自生成的隐写方法 Download PDFInfo
- Publication number
- CN108924380B CN108924380B CN201810750231.2A CN201810750231A CN108924380B CN 108924380 B CN108924380 B CN 108924380B CN 201810750231 A CN201810750231 A CN 201810750231A CN 108924380 B CN108924380 B CN 108924380B
- Authority
- CN
- China
- Prior art keywords
- visio
- node
- network topology
- pel
- topology structure
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/32—Circuits 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/32101—Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title
- H04N1/32144—Display, 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/32149—Methods relating to embedding, encoding, decoding, detection or retrieval operations
- H04N1/32267—Methods relating to embedding, encoding, decoding, detection or retrieval operations combined with processing of the image
- H04N1/32272—Encryption or ciphering
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/12—Discovery or management of network topologies
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic 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/0643—Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Power Engineering (AREA)
- Computer Security & Cryptography (AREA)
- Multimedia (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Computer And Data Communications (AREA)
Abstract
一种基于Visio网络拓扑结构图自生成的隐写方法,包括:(1)准备步骤;(2)嵌入隐秘信息步骤;(3)提取隐秘信息步骤。本发明利用Visio网络拓扑结构图生成过程中各节点存在多个候选图元的特性,以基于自由树的Visio网络拓扑结构图生成规则为基础,以隐秘信息驱动Visio网络拓扑结构图的生成,实现了高透明性的信息隐藏;与现有方法相比,由于无需原始载体,因而本发明从源头上避免了对比攻击的可能,从而极大的提高了隐蔽通信的安全性。
Description
技术领域
本发明涉及安全通信领域,特别涉及一种基于Visio网络拓扑结构图自生成的隐写方法,适用于以Microsoft Office Visio为工具,以Visio网络拓扑结构图为对象的无载体隐蔽通信。
背景技术
随着互联网时代的到来,信息技术的发展越发迅速,人们的生活也越来越离不开互联网。但互联网给人们带来诸多便利的同时,也带来了很多安全问题。而其中的信息安全问题无论是个人还是国家都急需去面对和处理。隐写技术是解决信息安全问题的重要技术手段,它是将秘密信息以不可见的方式隐藏在宿主信号中,并在需要的时候将秘密信息提取出来,以达到隐蔽通信的目的。
传统信息隐藏方法是通过修改载体来嵌入秘密信息,载密文件总会或多或少留有修改痕迹,使得载密文件有被各类隐写分析方法识别出来的风险。为了从根本上抵抗隐写分析方法的检测,学术界提出了“无载体信息隐藏”这一全新的概念(见X.Chen,H.Sun,Y.Tobe,et al,Coverless Information Hiding Method Based on the ChineseMathematical Expression//International Conference on Cloud Computing andSecurity.Springer,Cham,2015:133-143)。与传统信息隐藏方法相比,无载体信息隐藏不再将秘密信息嵌入到载体中,而是根据隐秘信息来“生成/获取”载密文件,从根本上消除了“修改痕迹”,从而可有效抵抗现有的隐写分析方法。无载体信息隐藏自提出以来受到了越来越多研究者的关注,如Chen等先后提出基于中文数学表达式的无载体信息隐藏方法(X.Chen,H.Sun,Y.Tobe,et al,Coverless Information Hiding Method Based on theChinese Mathematical Expression//International Conference on Cloud Computingand Security.Springer,Cham,2015:133-143)和基于中文字符编码的无载体信息隐藏方法(见X.Chen,S.Chen,Y.Wu,Coverless Information Hiding Method Based on theChinese Character Encoding.Journal of Internet Technology,2017,18(2):91-98),周志立等提出了一种基于图像Bag-of-Words模型的无载体信息隐藏方法(见周志立,曹燚,孙星明,基于图像Bag-of-Words模型的无载体信息隐藏,应用科学学报,2016,34(5):527-536),以及Zhou等提出了一种基于文本的多关键字无载体信息隐藏方法(见Z.Zhou,Y.Mu,C.N.Yang,et al,Coverless Multi-keywords Information Hiding Method Based onText.International Journal of Security&Its Applications,2016,10(9):309-320)等。不同于现有的研究,本发明将隐秘信息的嵌入过程与Visio网络拓扑结构图生成过程相结合,提出了一种基于Visio网络拓扑结构图的无载体隐写方法,为隐蔽通信提供了一种新的有效技术。
发明内容
本发明提出一种基于Visio网络拓扑结构图自生成的隐写方法,其目的是在保证逻辑合理、结构恰当以及感官效果不违和的前提下,根据隐藏隐秘信息的需要自适应地生成一幅或多幅Visio网络拓扑结构图,实现具备高透明性(不可感知性)的隐蔽通信。
本发明采用如下技术方案:
一种基于Visio网络拓扑结构图自生成的隐写方法,包括:
(1)准备步骤:通信双方预先约定基于自由树的Visio网络拓扑结构图自生成规则,即确定树状的Visio网络拓扑结构图中可出现的所有网络设备图元集合S={s1,s2,…,sn},根节点的候选图元集合E0={e0,1,e0,2,..,e0,t(0)},以及对于sy(1≤y≤n),其子节点图元的候选集合Ey={ey,1,ey,2,..,ey,t(y)};约定标识载密Visio网络拓扑结构图生成顺序信息的位数为l1,且该信息隐藏于各载密Visio网络拓扑结构图前序遍历的第x个非根节点;约定嵌入信息的最初l2位标识隐秘信息的总长度L;约定用于确定各候选集合中图元排列顺序的伪随机数生成器;约定所采用的隐秘信息加密算法,隐写密钥key,以及用于生成隐秘信息加密密钥和伪随机数生成器种子的哈希算法H;
其中,n表示S中网络设备图元的个数;t(0)是E0中图元的个数,对于所有的z∈[1,t(0)],e0,z∈S;t(y)是Ey中图元的个数;
(2)嵌入隐秘信息步骤:发送方利用约定的哈希算法H生成密钥k1=H(key),并用以对隐秘信息M进行加密得到M*,再将加密的隐秘信息M*的长度L与密钥k1的前l2位g(k1,l2,1)作按位异或运算得到进而得到待嵌入信息M’=L*+M*;根据待嵌入信息M’的长度确定要生成的Visio网络拓扑结构图幅数为r,并根据待嵌入信息的需要,采用约定的基于自由树的Visio网络拓扑结构图自生成规则生成r幅载密Visio网络拓扑结构图,记作F={f1,f2,…,fr}:在每幅载密Visio网络拓扑结构图fi(i=1,2,…,r)的生成过程中,首先将其序号i与密钥k1的前l1位g(k1,l1,1)作按位异或运算得到网络拓扑结构图生成顺序标识序列再根据待嵌入的隐秘信息,按前序遍历的顺序依次确定各节点上的图元以实现信息隐藏,其中在第x个节点中隐藏的信息除按序选择的隐秘信息外还包括顺序标识序列I*;在所有信息嵌入完成后,将所有载密网络网络拓扑结构图发送给接收方;
其中,g(k1,l2,1)表示从k1的第1个比特开始连续取l2个比特;表示按位异或运算;g(k1,l1,1)表示从k1的第1个比特开始连续取l1个比特;
(3)提取隐秘信息步骤:接收方收到所有载密Visio网络拓扑结构图后,首先利用约定的哈希算法H生成密钥k1=H(key);从约定的各载密Visio网络拓扑结构图的第x个节点中提取出前l1位的载密Visio网络拓扑结构图生成顺序标识序列I*,并取密钥k1的前l1位g(k1,l1,1),与I*作按位异或运算得到嵌入顺序将各载密Visio网络拓扑结构图按其嵌入顺序进行排列得到载密Visio网络拓扑结构图序列F={f1,f2,…,fr};按顺序从各载密Visio网络拓扑结构图中提取嵌入的信息M’:对于每幅载密Visio网络拓扑结构图fi,利用前序遍历确定节点的生成顺序Oi={oi,1,oi,2,…,oi,a},并按此顺序提取所有节点隐藏的信息;提取结束后取M’前l2位信息L*=g(M’,l2,1)与密钥k1的前l2位g(k1,l2,1)作按位异或运算,得到加密隐秘信息M*的长度提取M’中的加密隐秘信息M*,即g(M’,L,l2+1),以密钥k1解密得到传递的隐秘信息M;
其中,r表示载密Visio网络拓扑结构图的幅数;a表示载体fi中节点的个数。
优选的,所述的嵌入隐秘信息步骤包括如下过程:
嵌入准备:发送方利用约定的哈希算法H生成密钥k1=H(key),并用以对隐秘信息M进行加密得到M*,再将加密的隐秘信息M*的长度L与密钥k1的前l2位g(k1,l2,1)作按位异或运算得到进而得到待嵌入信息 确定所需生成的载密Visio网络拓扑结构图幅数表示向上取整操作,T是每张载密Visio网络拓扑结构图可隐藏的最大比特数,记载密Visio网络拓扑结构图序列为F={f1,f2,…,fr};设定嵌入信息索引e初始值为0,即e=0;执行过程(2.2);
(2.2)确定载密Visio网络拓扑结构图生成顺序标识序列:对于序列F中的每幅载密Visio网络拓扑结构图fi(i=1,2,…,r),将其序号i与密钥k1的前l1位g(k1,l1,1)作按位异或运算得到该载体的嵌入顺序标识序列 执行过程(2.3);
(2.3)确定Visio网络拓扑结构图中节点的生成顺序:对各载密Visio网络拓扑结构图fi,利用先序遍历方法确定其节点的生成顺序序列Oi={oi,1,oi,2,…,oi,a},其中a为fi中节点的数目,oi,j(j=1,2,…,a)表示载体fi中第j个生成节点的序号;执行过程(2.4);
(2.4)生成载密Visio网络拓扑结构图:对于各载密Visio网络拓扑结构图fi,按照过程(2.3)得到的节点生成顺序序列Oi,并根据待嵌入的隐秘信息,依次确定各节点的图元:
对于第i幅载密Visio网络拓扑结构图fi的根节点,即j=1,其图元的候选集合为E0={e0,1,e0,2,..,e0,t(0)};利用约定的哈希算法H生成候选集合中图元排列顺序伪随机数生成器的种子再根据种子k2,0通过约定的伪随机数生成器生成候选集合中图元的排列顺序E* 0={e* 0,1,e* 0,2,..,e* 0,t(0)};该节点可隐藏的比特数表示向下取整操作;确定根节点实际隐藏的比特数η0为:
进一步,计算索引值λ如下:
则为该节点选择图元e* 0,λ,并更新嵌入信息索引e=e+η0;重复执行过程(2.4);
对于第i幅载密Visio网络拓扑结构图fi中用于隐藏载密Visio网络拓扑结构图生成顺序信息的第oi,x个节点,找到其父节点序号oi,p(1≤p<x),则该节点图元的候选集合为Ek={ek,1,ek,2,..,ek,t(k)};其中,k=oi,p,t(k)是Ek中图元的个数;利用约定的哈希算法H生成候选集合中图元排列顺序伪随机数生成器的种子 再根据种子k2,x通过约定的伪随机数生成器生成候选集合中图元的排列顺序该节点可隐藏的比特数确定第oi,x个节点实际隐藏的比特数ηx为
进一步,计算索引值λ如下:
则为该节点选择图元e* k,λ,并更新嵌入信息索引e=e+ηx;如果i=r且x=a,结束嵌入过程,执行过程(2.5),否则,重复执行过程(2.4);
对于第i幅载密Visio网络拓扑结构图fi中序号为oi,j(j≠1且j≠x)的其他各节点,找到其父节点序号oi,p(1≤p<j),则该节点图元的候选集合为Ek={ek,1,ek,2,..,ek,t(k)};利用约定的哈希算法H生成候选集合中图元排列顺序伪随机数生成器的种子再根据种子k2,j通过约定的伪随机数生成器生成候选集合中图元的排列顺序E* k={e* k,1,e* k,2,..,e* k,t(k)};该节点可隐藏的比特数确定第oi,j个节点实际隐藏的比特数ηj为
进一步,计算索引值λ如下:
则为该节点选择图元e* k,λ,并更新嵌入信息索引e=e+ηj;如果i=r且j=a,结束嵌入过程,执行过程(2.5),否则,重复执行过程(2.4)。
(2.5)发送载密Visio网络拓扑结构图:将生成完毕后的载密Visio网络拓扑结构图全部发送给接收方。
优选的,所述的提取隐秘信息步骤包括如下过程:
(3.1)提取准备:接收方收到所有载密Visio网络拓扑结构图后,利用约定的哈希算法H生成密钥k1=H(key);设定提取信息索引e初始值为0,即e=0;初始化提取的隐秘信息M’为空;执行过程(3.2);
(3.2)确定载密Visio网络拓扑结构图的提取顺序:对于各载密Visio网络拓扑结构图f,从约定的第x个节点中提取载密Visio网络拓扑结构图生成顺序标识序列,即对该节点找到其父节点序号op(1≤p<x),则该节点图元的候选集合为Ek={ek,1,ek,2,..,ek,t(k)},其中k=op,t(k)是Ek中图元的个数;同时可知该节点可隐藏的比特数表示向下取整操作;利用约定的哈希算法H生成候选集合中图元排列顺序伪随机数生成器的种子并通过约定的伪随机数生成器生成候选集合中图元的排列顺序E* k={e* k,1,e* k,2,..,e* k,t(k)};取当前节点图元在E* k中的索引值λ,λ=λ-1,并将λ转换为长度为ck的二进制比特序列Λ;将Λ的前l1个比特I*=g(Λ,l1,1)与载体密钥k1的前l1位g(k1,l1,1)作按位异或运算得到嵌入顺序将各载密Visio网络拓扑结构图按其嵌入顺序i进行从小到大排列得到载密Visio网络拓扑结构图序列F={f1,f2,…,fr},r为载密Visio网络拓扑结构图的幅数;执行过程(3.3);
(3.3)确定载密Visio网络拓扑结构图中节点的生成顺序:对各载密Visio网络拓扑结构图fi,利用先序遍历方法确定其节点的生成顺序序列Oi={oi,1,oi,2,…,oi,a},其中a为fi中节点的数目,oi,j(j=1,2,…,a)表示载体fi中第j个生成节点的序号;执行过程(3.4);
(3.4)提取载密Visio网络拓扑结构图中的隐秘信息:对于各载密Visio网络拓扑结构图fi,按照过程(3.3)得到的节点生成顺序序列Oi,依次从各节点图元中提取隐秘信息:
对于第i幅载密Visio网络拓扑结构图fi的根节点,即j=1,其图元的候选集合为E0={e0,1,e0,2,..,e0,t(0)};利用约定的哈希算法H生成候选集合中图元排列顺序伪随机数生成器的种子再根据种子k2,0通过约定的伪随机数生成器生成候选集合中图元的排列顺序E* 0={e* 0,1,e* 0,2,..,e* 0,t(0)};该节点可隐藏的比特数取当前节点图元在E* 0中的索引值λ,λ=λ-1,并将λ转换为长度为c0的二进制比特序列Λ,即为该节点所隐藏的隐秘信息,M’=M’||Λ,“||”表示二进制比特序列的连接操作;更新提取信息索引e=e+c0;重复执行过程(3.4);
对于第i幅载密Visio网络拓扑结构图fi中,用于隐藏载密Visio网络拓扑结构图生成顺序信息的第oi,x个节点,找到其父节点序号oi,p(1≤p<x),则该节点图元的候选集合为Ek={ek,1,ek,2,..,ek,t(k)},其中,k=oi,p,t(k)是Ek中图元的个数;利用约定的哈希算法H生成候选集合中图元排列顺序伪随机数生成器的种子再根据种子k2,x过约定的伪随机数生成器生成候选集合中图元的排列顺序E* k={e* k,1,e* k,2,..,e* k,t(k)};该节点可隐藏的比特数取当前节点图元在E* k中的索引值λ,λ=λ-1,并将λ转换为长度为ck的二进制比特序列Λ,取其中的后ck-l1位二进制比特即为该节点所隐藏的隐秘信息,则M’=M’||g(Λ,ck-l1,l1+1);更新提取信息索引e=e+ck-l1;如果i=r且x=a,结束隐秘信息提取过程,执行过程(3.5),否则,重复执行过程(3.4);
对于第i幅载密Visio网络拓扑结构图fi中序号为oi,j(j≠1且j≠x)的其他各节点,找到其父节点序号oi,p(1≤p<j),则该节点图元的候选集合为Ek={ek,1,ek,2,..,ek,t(k)};利用约定的哈希算法H生成候选集合中图元排列顺序伪随机数生成器的种子再根据种子k2,j过约定的伪随机数生成器生成候选集合中图元的排列顺序E* k={e* k,1,e* k,2,..,e* k,t(k)};该节点可隐藏的比特数取当前节点图元在E* k中的索引值λ,λ=λ-1,并将λ转换为长度为ck的二进制比特序列Λ,即为该节点所隐藏的隐秘信息,则M’=M’||Λ;更新提取信息索引e=e+ck;如果i=r且x=a,结束隐秘信息提取过程,执行过程(3.5),否则,重复执行过程(3.4);
(3.5)解密所提取的隐秘信息:对于过程(3.4)所提取得到的信息M’,取其前l2位得到L*=g(M’,l2,1),并与密钥k1的前l2位g(k1,l2,1)作按位异或运算,得到加密隐秘信息M*的长度再从M’中的取得加密隐秘信息M*,即g(M’,L,l2+1)以密钥k1解密,得到所传递隐秘信息的明文形式M。
由上述对本发明的描述可知,与现有技术相比,本发明具有如下有益效果:本发明以Visio网络拓扑结构图的一般规则为基础,根据隐藏隐秘信息的需要,自适应地产生一幅或多幅Visio网络拓扑结构图,实现了高透明性的信息隐藏;与现有方法相比,由于无需原始载体,因而本发明所提出的隐写方法从源头上避免了对比攻击的可能,从而极大的提高了隐蔽通信的安全性。
以下结合附图及实施例对本发明作进一步详细说明,但本发明的一种基于Visio网络拓扑结构图自生成的隐写方法不局限于实施例。
附图说明
图1为本发明的流程示意图;
图2为根据隐秘信息生成的载密Visio网络拓扑结构图1;
图3为根据隐秘信息生成的载密Visio网络拓扑结构图2。
具体实施方式
以下通过具体实施方式对本发明作进一步的描述。
以下结合附图对本发明进一步说明。
参见图1所示,一种基于Visio网络拓扑结构图自生成的隐写方法,包括:隐写准备步骤、嵌入隐秘信息步骤和提取隐秘信息步骤。
1.准备步骤:通信双方预先约定基于自由树的Visio网络拓扑结构图自生成规则,即确定树状的Visio网络拓扑结构图中可出现的所有网络设备图元集合S={s1,s2,…,sn}(n表示S中网络设备图元的个数),根节点的候选图元集合E0={e0,1,e0,2,..,e0,t(0)}(t(0)是E0中图元的个数,对于所有的z∈[1,t(0)],e0,z∈S),以及对于sy(1≤y≤n),其子节点图元的候选集合Ey={ey,1,ey,2,..,ey,t(y)}(t(y)是Ey中图元的个数)(详细规则参见如下表1所示);约定标识载密Visio网络拓扑结构图生成顺序信息的位数为l1=3,且该信息隐藏于各载体的第x=6个非根节点;约定嵌入信息的最初l2=32位标识隐秘信息的总长度L;约定用于确定各候选集合中图元排列顺序的伪随机数生成器,本实例采用基于Donald E.Knuth的减随机数生成器算法(见D.E.Knuth.The Art of Computer Programming,volume 2:Seminumerical Algorithms.Addision-Wesley,Reading,MA,second edition,1981);约定所采用的隐秘信息加密算法,隐写密钥key,以及用于生成隐秘信息加密密钥和伪随机数生成器种子的哈希算法H,本实例假设取密钥为key=“node”,加密算法采用高级加密标准(Advanced Encryption Standard,AES),哈希算法H采用安全散列算法SHA-256(SecureHash Algorithm)。
表1基于自由树的Visio网络拓扑结构图自生成规则
2.嵌入隐秘信息步骤包括如下过程:
2.1嵌入准备:发送方利用约定的哈希算法H生成密钥k1=H(key),并用以对隐秘信息M进行加密得到M*,再将加密的隐秘信息M*的长度L与密钥k1的前l2位(即g(k1,l2,1),表示从k1的第1个比特开始连续取l2个比特)作按位异或运算得到表示按位异或运算,进而得到待嵌入信息确定所需生成的载密Visio网络拓扑结构图幅数表示向上取整操作,T是每张载密Visio网络拓扑结构图可隐藏的最大比特数,记载密Visio网络拓扑结构图序列为F={f1,f2,…,fr};设定嵌入信息索引e初始值为0,即e=0;执行过程(2.2)。
本实例中通过哈希算法H生成的密钥k1=H(key)=“0101010001011110101001010011100001000110000100000000001111101111110111001000110010000001110000100100010001010011000110110000000000111111011011110010011011001111110011001111011011000000000001110011101100110010001110011111110111101101111101001001010001000110”;随机生成长度为248的二进制比特序列作为隐秘信息M(如:10111011111110011101001111011010010101100110100101110011011010010110111111001010101110001100000110111111110011011011110011010111110101001100100111111010101100111100100110110101110001001101001011111110110100001011010010110111101111011011011110101000),再以k1为密钥利用AES对其进行加密得到M*,同时将加密后的隐秘信息M*长度L=256与密钥k1的前32位(即“0101010001011110101001 0100111000”)进行按位异或运算得到L*=“0101010001011110101001000011100 0”;约定每幅载密Visio网络拓扑结构图可隐藏的最大比特数T=199,所需生成的载密Visio网络拓扑结构图幅数r=2,序列为F={f1,f2}。
2.2确定载密Visio网络拓扑结构图生成顺序标识序列:对于序列F中的每幅载密Visio网络拓扑结构图fi(i=1,2,…,r),将其序号i与密钥k1的前l1位(即g(k1,l1,1))作按位异或运算得到该载体的嵌入顺序标识序列 执行过程(2.3)。
例如,对于序列F,将其序号{1,2}与密钥k1的前3位(即“010”)分别进行按位异或操作得到各载体的嵌入顺序标识序列{“011”,“000”}。
2.3确定Visio网络拓扑结构图中节点的生成顺序:对各载密Visio网络拓扑结构图fi,利用先序遍历方法确定其节点的生成顺序序列Oi={oi,1,oi,2,…,oi,a},其中a为fi中节点的数目,oi,j(j=1,2,…,a)表示载体fi中第j个生成节点的序号;执行过程(2.4)。
接上例,约定每幅载密Visio网络拓扑结构图中节点的数目a=66;参见图2所示,对于载密Visio网络拓扑结构图1,利用先序遍历的方法确定节点的生成顺序序列O1={o1,1,o1,2,…,o1,66};参见图3所示,对于载密Visio网络拓扑结构图2,利用先序遍历的方法确定节点的的生成顺序序列O2={o2,1,o2,2,…,o2,66}。
2.4生成载密Visio网络拓扑结构图:对于各载密Visio网络拓扑结构图fi,按照过程(2.3)得到的节点生成顺序序列Oi,并根据待嵌入的隐秘信息,依次确定各节点的图元:
对于第i幅载密Visio网络拓扑结构图fi的根节点,即j=1,其图元的候选集合为E0={e0,1,e0,2,..,e0,t(0)};利用约定的哈希算法H生成候选集合中图元排列顺序伪随机数生成器的种子再根据种子k2,0通过约定的伪随机数生成器生成候选集合中图元的排列顺序E* 0={e* 0,1,e* 0,2,..,e* 0,t(0)};该节点可隐藏的比特数表示向下取整操作;确定根节点实际隐藏的比特数η0为
进一步,计算索引值λ如下:
则为该节点选择图元e* 0,λ,并更新嵌入信息索引e=e+η0;重复执行过程(2.4);
对于第i幅载密Visio网络拓扑结构图fi中用于隐藏载密Visio网络拓扑结构图生成顺序信息的第oi,x个节点,找到其父节点序号oi,p(1≤p<x),则该节点图元的候选集合为Ek={ek,1,ek,2,..,ek,t(k)};其中,k=oi,p,t(k)是Ek中图元的个数;利用约定的哈希算法H生成候选集合中图元排列顺序伪随机数生成器的种子 再根据种子k2,x通过约定的伪随机数生成器生成候选集合中图元的排列顺序E* k={e* k,1,e* k,2,..,e* k,t(k)};该节点可隐藏的比特数确定第oi,x个节点实际隐藏的比特数ηx为
进一步,计算索引值λ如下:
则为该节点选择图元e* k,λ,并更新嵌入信息索引e=e+ηx;如果i=r且x=a,结束嵌入过程,执行过程(2.5),否则,重复执行过程(2.4);
对于第i幅载密Visio网络拓扑结构图fi中序号为oi,j(j≠1且j≠x)的其他各节点,找到其父节点序号oi,p(1≤p<j),则该节点图元的候选集合为Ek={ek,1,ek,2,..,ek,t(k)};利用约定的哈希算法H生成候选集合中图元排列顺序伪随机数生成器的种子再根据种子k2,j通过约定的伪随机数生成器生成候选集合中图元的排列顺序E* k={e* k,1,e* k,2,..,e* k,t(k)};该节点可隐藏的比特数确定第oi,j个节点实际隐藏的比特数ηj为
进一步,计算索引值λ如下:
则为该节点选择图元e* k,λ,并更新嵌入信息索引e=e+ηj;如果i=r且j=a,结束嵌入过程,执行过程(2.5),否则,重复执行过程(2.4)。
延续上面的例子,对于载密Visio网络拓扑结构图1,生成根节点时,即j=1,该节点图元的候选集和为E0={"Switch","ATM/FastGB etherswitch","ISDN switch","ATMswitch","Workgroup switch"},利用约定的哈希算法H生成候选集合中图元排列顺序伪随机数生成器的种子k2,0=“101111011010100000010111011101”,生成候选集合中图元的排列顺序E* 0={"ATM/FastGB etherswitch","Workgroup switch","Switch","ATMswitch","ISDN switch"};该节点可隐藏的比特数c0=2,实际隐藏的比特数η0=2;索引值λ=2,该节点选择图元"Workgroup switch",并更新嵌入信息索引e=e+2=2;重复执行过程(2.4);当生成第x=6个节点时,其父节点序号为o1,5,即“Firewall”,所以该节点图元的候选集和Ek={"Server","File server","Email server","Web server","Real-timecommunications server","E-Commerce server","Database server","Contentmanagement server","Ftp server","Streaming media server","Managementserver","Directory server","Print server","Mobile information server","Application server","Proxy server"}(其中k=o1,5),利用约定的哈希算法H生成候选集合中图元排列顺序伪随机数生成器的种子k2,6=“101111011010100000010111011000”,生成候选集合中图元的排列顺序E* k={"Server","File server","Email server","Webserver","E-Commerce server","Content management server","Proxy server","Database server","Application server","Streaming media server","Real-timecommunications server","Directory server","Ftp server","Management server","Print server","Mobile information server"};该节点可隐藏的比特数c6=4,前3位隐藏载密Visio网络拓扑结构图1生成顺序标识序列“011”,实际隐藏的比特数η6=1;索引值λ=2,该节点选择图元"Database server",并更新嵌入信息索引e=e+1=4;重复执行过程(2.4);当生成其他节点时,如j=33,其父节点序号为o2,32,即“Switch2”,所以该节点图元的候选集和Ek={"PC","Laptop computer","LCD monitor","Terminal","PDA","iMac","New iMac","CRT monitor","CRT projector","Printer","Plotter","Scanner","Copier","Fax","Multi-function device","User"}(其中k=o1,32),利用约定的哈希算法H生成候选集合中图元排列顺序伪随机数生成器的种子k2,32=“101111011010100000010111011000”,生成候选集合中图元的排列顺序E* k={"PC","Laptop computer","LCDmonitor","Terminal","PDA","CRT monitor","iMac","New iMac","Fax","User","CRTprojector","Multi-function device","Scanner","Copier","Printer","Plotter"};该节点可隐藏的比特数c32=4,实际隐藏的比特数η32=4;索引值λ=9,该节点选择图元"Fax",并更新嵌入信息索引e=e+4=91;重复执行过程(2.4)。
对于载密Visio网络拓扑结构图2,生成根节点时,即j=1,该节点图元的候选集和为E0={"Switch","ATM/FastGB etherswitch","ISDN switch","ATM switch","Workgroup switch"},利用约定的哈希算法H生成候选集合中图元排列顺序伪随机数生成器的种子k2,0=“101111011010100000010111011101”,生成候选集合中图元的排列顺序E* 0={"ATM/FastGB etherswitch","Workgroup switch","Switch","ATM switch","ISDNswitch"};该节点可隐藏的比特数c0=2,实际隐藏的比特数η0=2;索引值λ=3,该节点选择图元"Switch",并更新嵌入信息索引e=e+2=201;重复执行过程(2.4);当生成第x=6个节点时,其父节点序号为o2,5,即“Firewall”,所以该节点图元的候选集和Ek={"Server","File server","Email server","Web server","Real-time communications server","E-Commerce server","Database server","Content management server","Ftpserver","Streaming media server","Management server","Directory server","Print server","Mobile information server","Application server","Proxyserver"}(其中k=o2,5),利用约定的哈希算法H生成候选集合中图元排列顺序伪随机数生成器的种子k2,6=“101111011010100000010111011000”,生成候选集合中图元的排列顺序E* k={"Server","File server","Email server","Web server","E-Commerce server","Content management server","Proxy server","Database server","Applicationserver","Streaming media server","Real-time communications server","Directoryserver","Ftp server","Management server","Print server","Mobile informationserver"};该节点可隐藏的比特数c6=4,前3位隐藏载密Visio网络拓扑结构图2生成顺序标识序列“000”,实际隐藏的比特数η6=1;索引值λ=2,该节点选择图元"Databaseserver",并更新嵌入信息索引e=e+1=203;重复执行过程(2.4);当生成其他节点时,如j=66,其父节点序号为o1,64,即“Switch2”,所以该节点图元的候选集和Ek={"PC","Laptopcomputer","LCD monitor","Terminal","PDA","iMac","New iMac","CRT monitor","CRTprojector","Printer","Plotter","Scanner","Copier","Fax","Multi-functiondevice","User"}(其中k=o1,64),利用约定的哈希算法H生成候选集合中图元排列顺序伪随机数生成器的种子k2,66=“101111011101000000010111011000”,生成候选集合中图元的排列顺序E* k={"PC","Laptop computer","LCD monitor","Terminal","PDA","Fax","Scanner","User","iMac","New iMac","CRT projector","Multi-function device","CRT monitor","Copier","Plotter","Printer"};该节点可隐藏的比特数c64=4,实际隐藏的比特数η64=0;索引值λ=1,该节点选择图元"PC",并更新嵌入信息索引e=e+0=288;结束嵌入过程,执行过程(2.5)。
2.5发送载密Visio网络拓扑结构图:将嵌入完成后的载密Visio网络拓扑结构图全部发送给接收方。
接上例,将嵌入完成后的载密Visio网络拓扑结构图1、2(见附图2、附图3)全部发送给接收方。
本发明的嵌入隐秘信息步骤中,对于节点图元全排列组合的选择由伪随机数生成器产生,提高了信息的安全性,同时Visio网络拓扑结构图都是用自生成算法生成的,没有原始文件对照,所以具有良好的不可检测性。
3.提取隐密信息步骤包括如下过程:
3.1提取准备:接收方收到所有载密Visio网络拓扑结构图后,利用约定的哈希算法H生成密钥k1=H(key);设定提取信息索引e初始值为0,即e=0;初始化提取的隐秘信息M’为空;执行过程(3.2);
延续前面的例子,密钥key=“node”,通过约定的哈希算法H生成的密钥k1=H(key)=“01010100010111101010 01010011100001000110000100000000001111101111110111001000110010000001110000100100010001010011000110110000000000111111011011110010011011001111110011001111011011000000000001110011101100110010001110011111110111101101111101001001010001000110”。
3.2确定载密Visio网络拓扑结构图的提取顺序:对于各载密Visio网络拓扑结构图f,从约定的第x个节点中提取载密Visio网络拓扑结构图生成顺序标识序列,即对该节点找到其父节点序号op(1≤p<x),则该节点图元的候选集合为Ek={ek,1,ek,2,..,ek,t(k)},其中k=op,t(k)是Ek中图元的个数;同时可知该节点可隐藏的比特数表示向下取整操作;利用约定的哈希算法H生成候选集合中图元排列顺序伪随机数生成器的种子并通过约定的伪随机数生成器生成候选集合中图元的排列顺序E* k={e* k,1,e* k,2,..,e* k,t(k)};取当前节点图元在E* k中的索引值λ,λ=λ-1,并将λ转换为长度为ck的二进制比特序列Λ;将Λ的前l1个比特I*=g(Λ,l1,1)与载体密钥k1的前l1位g(k1,l1,1)作按位异或运算得到嵌入顺序将各载密Visio网络拓扑结构图按其嵌入顺序i进行从小到大排列得到载密Visio网络拓扑结构图序列F={f1,f2,…,fr},r为载密Visio网络拓扑结构图的幅数;执行过程(3.3)。
接上例,对于载密Visio网络拓扑结构图1,从约定的第6个节点中提取其生成顺序标识序列,其父节点序号为o5,即“Firewall”,所以该节点图元的候选集和Ek={"Server","File server","Email server","Web server","Real-time communications server","E-Commerce server","Database server","Content management server","Ftpserver","Streaming media server","Management server","Directory server","Print server","Mobile information server","Application server","Proxyserver"}(其中k=o1,5),利用约定的哈希算法H生成候选集合中图元排列顺序伪随机数生成器的种子k2,6=“101111011010100000010111011000”,生成候选集合中图元的排列顺序E* k={"Server","File server","Email server","Web server","E-Commerce server","Content management server","Proxy server","Database server","Applicationserver","Streaming media server","Real-time communications server","Directoryserver","Ftp server","Management server","Print server","Mobile informationserver"};该节点的图元为"Database server",所以其索引值λ为8,隐藏信息为7,转换为二进制比特序列Λ=“0111”,提取Λ前3比特的生成顺序标识序列I*=“011”,与密钥k1的前3位(即“010”)进行按位异或运算得到载密Visio网络拓扑结构图1的嵌入顺序i=1;对于载密Visio网络拓扑结构图2,从约定的第6个节点中提取其生成顺序标识序列,其父节点为o5,即“Firewall”,所以该节点图元的候选集和Ek={"Server","File server","Emailserver","Web server","Real-time communications server","E-Commerce server","Database server","Content management server","Ftp server","Streaming mediaserver","Management server","Directory server","Print server","Mobileinformation server","Application server","Proxy server"}(其中k=o1,5),利用约定的哈希算法H生成候选集合中图元排列顺序伪随机数生成器的种子k2,6=“101111011010100000010111011000”,生成候选集合中图元的排列顺序E* k={"Server","File server","Email server","Web server","E-Commerce server","Contentmanagement server","Proxy server","Database server","Application server","Streaming media server","Real-time communications server","Directoryserver","Ftp server","Management server","Print server","Mobile informationserver"};该节点的图元为"File server",所以其索引值λ为2,隐藏信息为1,转换为二进制比特序列Λ=“0001”,提取Λ前3比特的生成顺序标识序列I*=“000”,与密钥k1的前3位(即“010”)进行按位异或运算得到载密Visio网络拓扑结构图1的嵌入顺序i=2;继而得出载密Visio网络拓扑结构图序列F*={1,2}。
3.3确定载密Visio网络拓扑结构图中节点的生成顺序:对各载密Visio网络拓扑结构图fi,利用先序遍历方法确定其节点的生成顺序序列Oi={oi,1,oi,2,…,oi,a},其中a为fi中节点的数目,oi,j(j=1,2,…,a)表示载体fi中第j个生成节点的序号;执行过程(3.4)。
接上例,对于载密Visio网络拓扑结构图1,利用先序遍历的方法确定节点的的生成顺序序列O1={o1,1,o1,2,…,o1,66},;对于载密Visio网络拓扑结构图2,利用先序遍历的方法确定节点的的生成顺序序列O2={o2,1,o2,2,…,o2,66}。
3.4提取载密Visio网络拓扑结构图中的隐秘信息:对于各载密Visio网络拓扑结构图fi,按照过程(3.3)得到的节点生成顺序序列Oi,依次从各节点图元中提取隐秘信息:
对于第i幅载密Visio网络拓扑结构图fi的根节点,即j=1,其图元的候选集合为E0={e0,1,e0,2,..,e0,t(0)};利用约定的哈希算法H生成候选集合中图元排列顺序伪随机数生成器的种子再根据种子k2,0通过约定的伪随机数生成器生成候选集合中图元的排列顺序E* 0={e* 0,1,e* 0,2,..,e* 0,t(0)};该节点可隐藏的比特数取当前节点图元在E* 0中的索引值λ,λ=λ-1,并将λ转换为长度为c0的二进制比特序列Λ,即为该节点所隐藏的隐秘信息,M’=M’||Λ,“||”表示二进制比特序列的连接操作;更新提取信息索引e=e+c0;重复执行过程(3.4);
对于第i幅载密Visio网络拓扑结构图fi中,用于隐藏载密Visio网络拓扑结构图生成顺序信息的第oi,x个节点,找到其父节点序号oi,p(1≤p<x),则该节点图元的候选集合为Ek={ek,1,ek,2,..,ek,t(k)},其中,k=oi,p,t(k)是Ek中图元的个数;利用约定的哈希算法H生成候选集合中图元排列顺序伪随机数生成器的种子再根据种子k2,x通过约定的伪随机数生成器生成候选集合中图元的排列顺序E* k={e* k,1,e* k,2,..,e* k,t(k)};该节点可隐藏的比特数取当前节点图元在E* k中的索引值λ,λ=λ-1,并将λ转换为长度为ck的二进制比特序列Λ,取其中的后ck-l1位二进制比特即为该节点所隐藏的隐秘信息,则M’=M’||g(Λ,ck-l1,l1+1);更新提取信息索引e=e+ck-l1;如果i=r且x=a,结束隐秘信息提取过程,执行过程(3.5),否则,重复执行过程(3.4);
对于第i幅载密Visio网络拓扑结构图fi中序号为oi,j(j≠1且j≠x)的其他各节点,找到其父节点序号oi,p(1≤p<j),则该节点图元的候选集合为Ek={ek,1,ek,2,..,ek,t(k)};利用约定的哈希算法H生成候选集合中图元排列顺序伪随机数生成器的种子再根据种子k2,j通过约定的伪随机数生成器生成候选集合中图元的排列顺序E* k={e* k,1,e* k,2,..,e* k,t(k)};该节点可隐藏的比特数取当前节点图元在E* k中的索引值λ,λ=λ-1,并将λ转换为长度为ck的二进制比特序列Λ,即为该节点所隐藏的隐秘信息,则M’=M’||Λ;更新提取信息索引e=e+ck;如果i=r且x=a,结束隐秘信息提取过程,执行过程(3.5),否则,重复执行过程(3.4)。
接上例,对于载密Visio网络拓扑结构图1,提取根节点时,即j=1,该节点图元的候选集和为E0={"Switch","ATM/FastGB etherswitch","ISDN switch","ATM switch","Workgroup switch"},利用约定的哈希算法H生成候选集合中图元排列顺序伪随机数生成器的种子k2,0=“10111101101010000001011101 1101”,生成候选集合中图元的排列顺序E* 0={"ATM/FastGB etherswitch","Workgroup switch","Switch","ATM switch","ISDNswitch"};该节点可隐藏的比特数c0=2,该节点的图元为"Workgroup switch",所以其索引值λ为2,隐藏信息为1,转换为二进制比特序列Λ=“01”,M’=M’||“01”,更新提取信息索引e=e+2=2;重复执行过程(3.4);当提取第x=6个节点时,其父节点序号为o1,5,即“Firewall”,所以该节点图元的候选集和Ek={"Server","File server","Emailserver","Web server","Real-time communications server","E-Commerce server","Database server","Content management server","Ftp server","Streaming mediaserver","Management server","Directory server","Print server","Mobileinformation server","Application server","Proxy server"}(其中k=o1,5),利用约定的哈希算法H生成候选集合中图元排列顺序伪随机数生成器的种子k2,6=“1011110110101000000101110110 00”,生成候选集合中图元的排列顺序E* k={"Server","File server","Email server","Web server","E-Commerce server","Contentmanagement server","Proxy server","Database server","Application server","Streaming media server","Real-time communications server","Directoryserver","Ftp server","Management server","Print server","Mobile informationserver"};该节点可隐藏的比特数c6=4,该节点的图元为"Database server",所以其索引值λ为8,隐藏信息为7,转换为二进制比特序列Λ=“0111”,取其中的后1位二进制比特“1”,M’=M’||“1”,更新提取信息索引e=e+1=4;重复执行过程(3.4);当提取其他节点时,如j=33,其父节点序号为o2,32,即“Switch2”,所以该节点图元的候选集和Ek={"PC","Laptopcomputer","LCD monitor","Terminal","PDA","iMac","New iMac","CRT monitor","CRTprojector","Printer","Plotter","Scanner","Copier","Fax","Multi-functiondevice","User"}(其中k=o1,32),利用约定的哈希算法H生成候选集合中图元排列顺序伪随机数生成器的种子k2,33=“10111101101010000 0010111011000”,生成候选集合中图元的排列顺序E* k={"PC","Laptop computer","LCD monitor","Terminal","PDA","CRTmonitor","iMac","New iMac","Fax","User","CRT projector","Multi-functiondevice","Scanner","Copier","Printer","Plotter"};该节点可隐藏的比特数c32=4,该节点的图元为"Fax",所以其索引值λ为9,隐藏信息为8,转换为二进制比特序列Λ=“1000”,M’=M’||“1000”,更新提取信息索引e=e+4=91;重复执行过程(3.4)。
对于载密Visio网络拓扑结构图2,提取根节点时,即j=1,该节点图元的候选集和为E0={"Switch","ATM/FastGB etherswitch","ISDN switch","ATM switch","Workgroup switch"},利用约定的哈希算法H生成候选集合中图元排列顺序伪随机数生成器的种子k2,0=“10111101101010000001011101 1101”,生成候选集合中图元的排列顺序E* 0={"ATM/FastGB etherswitch","Workgroup switch","Switch","ATM switch","ISDNswitch"};该节点可隐藏的比特数c0=2,该节点的图元为"Switch",所以其索引值λ为3,隐藏信息为2,转换为二进制比特序列Λ=“10”,M’=M’||“10”,更新提取信息索引e=e+2=201;重复执行过程(3.4);当提取第x=6个节点时,其父节点序号为o2,5,即“Firewall”,所以该节点图元的候选集和Ek={"Server","File server","Email server","Webserver","Real-time communications server","E-Commerce server","Databaseserver","Content management server","Ftp server","Streaming media server","Management server","Directory server","Print server","Mobile informationserver","Application server","Proxy server"}(其中k=o2,5),利用约定的哈希算法H生成候选集合中图元排列顺序伪随机数生成器的种子k2,6=“101111011010100000010111011000”,生成候选集合中图元的排列顺序E* k={"Server","File server","Email server","Web server","E-Commerce server","Contentmanagement server","Proxy server","Database server","Application server","Streaming media server","Real-time communications server","Directoryserver","Ftp server","Management server","Print server","Mobile informationserver"};该节点可隐藏的比特数c6=4,该节点的图元为"File server",所以其索引值λ为2,隐藏信息为1,转换为二进制比特序列Λ=“0001”,取其中的后1位二进制比特“1”,M’=M’||“1”,更新提取信息索引e=e+1=203;重复执行过程(3.4);当提取其他节点时,如j=66,其父节点序号为o1,64,即“Switch2”,所以该节点图元的候选集和Ek={"PC","Laptopcomputer","LCD monitor","Terminal","PDA","iMac","New iMac","CRT monitor","CRTprojector","Printer","Plotter","Scanner","Copier","Fax","Multi-functiondevice","User"}(其中k=o1,64),利用约定的哈希算法H生成候选集合中图元排列顺序伪随机数生成器的种子k2,66=“101111011101000000010111011000”,生成候选集合中图元的排列顺序E* k={"PC","Laptop computer","LCD monitor","Terminal","PDA","Fax","Scanner","User","iMac","New iMac","CRT projector","Multi-function device","CRT monitor","Copier","Plotter","Printer"};该节点可隐藏的比特数c64=4,该节点的图元为"PC",所以其索引值λ为1,隐藏信息为0,转换为二进制比特序列Λ=“0000”,M’=M’||“0000”,更新提取信息索引e=e+4=398;结束嵌入过程,执行过程(2.5)。
3.5解密所提取的隐秘信息:对于过程(3.4)所提取得到的信息M’,取其前l2位得到L*=g(M’,l2,1),并与密钥k1的前l2位(即g(k1,l2,1))作按位异或运算,得到加密隐秘信息M*的长度再从M’中的取得加密隐秘信息M*(即g(M’,L,l2+1))以密钥k1解密,得到所传递隐秘信息的明文形式M。
接上例,对于提取得到的398位信息M’={01010100010111101010010000111000011011010101000010010011011011111101010010110000010100110001110101100100010001000101011011000000110100011010011101011111011111101101011111010111010011101111100110000011011010110100100001011101100111110011010111111011111011000111101100000001011010010100011000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000},取前32位长度得到L*={01010100010111101010010000111000000},并与密钥k1的前32位(即“01010100010111101010010100111000”)进行按位异或运算,得到加密隐秘信息M*的长度L=256;再从M’的第33个比特开始取256个比特组成加密隐秘信息M*={0110110101010000100100110110111111010100101100000101001100011101011001000100010001010110110000001101000110100111010111110111111011010111110101110100111011111001100000110110101101001000010111011001111100110101111110111110110001111011000000010110100101000110},以密钥k1解密,得到所传递隐秘信息的明文形式M。
为了验证本发明中基于Visio网络拓扑结构图自生成的隐写方法的有效性,对方法进行了测试。在测试中,根据隐秘信息生成了载密Visio网络拓扑结构图1和2,见附图2和附图3,通过观察生成的载密Visio网络拓扑结构图可知,本发明的基于Visio网络拓扑结构图自生成的隐写方法在保证结构合理、感官不违和的前提下根据隐秘信息自动生成Visio网络拓扑结构图,可实现具有高透明性(不可感知性)的隐蔽通信。
上述仅为本发明的具体实施方式,但其设计构思并不局限于此,凡利用此构思对本发明进行非实质性的改动,均应属于侵犯本发明保护范围的行为。
Claims (2)
1.一种基于Visio网络拓扑结构图自生成的隐写方法,其特征在于,包括:
(1)准备步骤:通信双方预先约定基于自由树的Visio网络拓扑结构图自生成规则,即确定树状的Visio网络拓扑结构图中可出现的所有网络设备图元集合S={s1,s2,…,sn},根节点的候选图元集合E0={e0,1,e0,2,..,e0,t(0)},以及对于sy(1≤y≤n),其子节点图元的候选集合Ey={ey,1,ey,2,..,ey,t(y)};约定标识载密Visio网络拓扑结构图生成顺序信息的位数为l1,且该信息隐藏于各载密Visio网络拓扑结构图前序遍历的第x个非根节点;约定嵌入信息的最初l2位标识隐秘信息的总长度L;约定用于确定各候选集合中图元排列顺序的伪随机数生成器;约定所采用的隐秘信息加密算法,隐写密钥key,以及用于生成隐秘信息加密密钥和伪随机数生成器种子的哈希算法H;
其中,n表示S中网络设备图元的个数;t(0)是E0中图元的个数,对于所有的z∈[1,t(0)],e0,z∈S;t(y)是Ey中图元的个数;
(2)嵌入隐秘信息步骤:发送方利用约定的哈希算法H生成密钥k1=H(key),并用以对隐秘信息M进行加密得到M*,再将加密的隐秘信息M*的长度L与密钥k1的前l2位g(k1,l2,1)作按位异或运算得到进而得到待嵌入信息M’=L*+M*;根据待嵌入信息M’的长度确定要生成的Visio网络拓扑结构图幅数为r,并根据待嵌入信息的需要,采用约定的基于自由树的Visio网络拓扑结构图自生成规则生成r幅载密Visio网络拓扑结构图,记作F={f1,f2,…,fr}:在每幅载密Visio网络拓扑结构图fi(i=1,2,…,r)的生成过程中,首先将其序号i与密钥k1的前l1位g(k1,l1,1)作按位异或运算得到网络拓扑结构图生成顺序标识序列再根据待嵌入的隐秘信息,按前序遍历的顺序依次确定各节点上的图元以实现信息隐藏,其中在第x个节点中隐藏的信息除按序选择的隐秘信息外还包括顺序标识序列I*;在所有信息嵌入完成后,将所有载密网络网络拓扑结构图发送给接收方;
其中,g(k1,l2,1)表示从k1的第1个比特开始连续取l2个比特;表示按位异或运算;g(k1,l1,1)表示从k1的第1个比特开始连续取l1个比特;
(3)提取隐秘信息步骤:接收方收到所有载密Visio网络拓扑结构图后,首先利用约定的哈希算法H生成密钥k1=H(key);从约定的各载密Visio网络拓扑结构图的第x个节点中提取出前l1位的载密Visio网络拓扑结构图生成顺序标识序列I*,并取密钥k1的前l1位g(k1,l1,1),与I*作按位异或运算得到嵌入顺序将各载密Visio网络拓扑结构图按其嵌入顺序进行排列得到载密Visio网络拓扑结构图序列F={f1,f2,…,fr};按顺序从各载密Visio网络拓扑结构图中提取嵌入的信息M’:对于每幅载密Visio网络拓扑结构图fi,利用前序遍历确定节点的生成顺序Oi={oi,1,oi,2,…,oi,a},并按此顺序提取所有节点隐藏的信息;提取结束后取M’前l2位信息L*=g(M’,l2,1)与密钥k1的前l2位g(k1,l2,1)作按位异或运算,得到加密隐秘信息M*的长度提取M’中的加密隐秘信息M*,即g(M’,L,l2+1),以密钥k1解密得到传递的隐秘信息M;
其中,r表示载密Visio网络拓扑结构图的幅数;a表示载体fi中节点的个数;
所述的嵌入隐秘信息步骤包括如下过程:
(2.1)嵌入准备:发送方利用约定的哈希算法H生成密钥k1=H(key),并用以对隐秘信息M进行加密得到M*,再将加密的隐秘信息M*的长度L与密钥k1的前l2位g(k1,l2,1)作按位异或运算得到进而得到待嵌入信息确定所需生成的载密Visio网络拓扑结构图幅数 表示向上取整操作,T是每张载密Visio网络拓扑结构图可隐藏的最大比特数,记载密Visio网络拓扑结构图序列为F={f1,f2,…,fr};设定嵌入信息索引e初始值为0,即e=0;执行过程(2.2);
(2.2)确定载密Visio网络拓扑结构图生成顺序标识序列:对于序列F中的每幅载密Visio网络拓扑结构图fi(i=1,2,…,r),将其序号i与密钥k1的前l1位g(k1,l1,1)作按位异或运算得到该载体的嵌入顺序标识序列 执行过程(2.3);
(2.3)确定Visio网络拓扑结构图中节点的生成顺序:对各载密Visio网络拓扑结构图fi,利用先序遍历方法确定其节点的生成顺序序列Oi={oi,1,oi,2,…,oi, a},其中a为fi中节点的数目,oi,j(j=1,2,…,a)表示载体fi中第j个生成节点的序号;执行过程(2.4);
(2.4)生成载密Visio网络拓扑结构图:对于各载密Visio网络拓扑结构图fi,按照过程(2.3)得到的节点生成顺序序列Oi,并根据待嵌入的隐秘信息,依次确定各节点的图元:
对于第i幅载密Visio网络拓扑结构图fi的根节点,即j=1,其图元的候选集合为E0={e0,1,e0,2,..,e0,t(0)};利用约定的哈希算法H生成候选集合中图元排列顺序伪随机数生成器的种子再根据种子k2,0通过约定的伪随机数生成器生成候选集合中图元的排列顺序E* 0={e* 0,1,e* 0,2,..,e* 0,t(0)};该节点可隐藏的比特数 表示向下取整操作;确定根节点实际隐藏的比特数η0为:
进一步,计算索引值λ如下:
则为该节点选择图元e* 0,λ,并更新嵌入信息索引e=e+η0;重复执行过程(2.4);
对于第i幅载密Visio网络拓扑结构图fi中用于隐藏载密Visio网络拓扑结构图生成顺序信息的第oi,x个节点,找到其父节点序号oi,p(1≤p<x),则该节点图元的候选集合为Ek={ek,1,ek,2,..,ek,t(k)};其中,k=oi,p,t(k)是Ek中图元的个数;利用约定的哈希算法H生成候选集合中图元排列顺序伪随机数生成器的种子 再根据种子k2,x通过约定的伪随机数生成器生成候选集合中图元的排列顺序E* k={e* k,1,e* k,2,..,e* k,t(k)};该节点可隐藏的比特数确定第oi,x个节点实际隐藏的比特数ηx为
进一步,计算索引值λ如下:
则为该节点选择图元e* k,λ,并更新嵌入信息索引e=e+ηx;如果i=r且x=a,结束嵌入过程,执行过程(2.5),否则,重复执行过程(2.4);
对于第i幅载密Visio网络拓扑结构图fi中序号为oi,j(j≠1且j≠x)的其他各节点,找到其父节点序号oi,p(1≤p<j),则该节点图元的候选集合为Ek={ek,1,ek,2,..,ek,t(k)};利用约定的哈希算法H生成候选集合中图元排列顺序伪随机数生成器的种子再根据种子k2,j通过约定的伪随机数生成器生成候选集合中图元的排列顺序E* k={e* k,1,e* k,2,..,e* k,t(k)};该节点可隐藏的比特数确定第oi,j个节点实际隐藏的比特数ηj为
进一步,计算索引值λ如下:
则为该节点选择图元e* k,λ,并更新嵌入信息索引e=e+ηj;如果i=r且j=a,结束嵌入过程,执行过程(2.5),否则,重复执行过程(2.4) ;
(2.5)发送载密Visio网络拓扑结构图:将生成完毕后的载密Visio网络拓扑结构图全部发送给接收方。
2.如权利要求1所述的基于Visio网络拓扑结构图自生成的隐写方法,其特征在于:所述的提取隐秘信息步骤包括如下过程:
(3.1)提取准备:接收方收到所有载密Visio网络拓扑结构图后,利用约定的哈希算法H生成密钥k1=H(key);设定提取信息索引e初始值为0,即e=0;初始化提取的隐秘信息M’为空;执行过程(3.2);
(3.2)确定载密Visio网络拓扑结构图的提取顺序:对于各载密Visio网络拓扑结构图f,从约定的第x个节点中提取载密Visio网络拓扑结构图生成顺序标识序列,即对该节点找到其父节点序号op(1≤p<x),则该节点图元的候选集合为Ek={ek,1,ek,2,..,ek,t(k)},其中k=op,t(k)是Ek中图元的个数;同时可知该节点可隐藏的比特数 表示向下取整操作;利用约定的哈希算法H生成候选集合中图元排列顺序伪随机数生成器的种子并通过约定的伪随机数生成器生成候选集合中图元的排列顺序E* k={e* k,1,e* k,2,..,e* k,t(k)};取当前节点图元在E* k中的索引值λ,λ=λ-1,并将λ转换为长度为ck的二进制比特序列Λ;将Λ的前l1个比特I*=g(Λ,l1,1)与载体密钥k1的前l1位g(k1,l1,1)作按位异或运算得到嵌入顺序将各载密Visio网络拓扑结构图按其嵌入顺序i进行从小到大排列得到载密Visio网络拓扑结构图序列F={f1,f2,…,fr},r为载密Visio网络拓扑结构图的幅数;执行过程(3.3);
(3.3)确定载密Visio网络拓扑结构图中节点的生成顺序:对各载密Visio网络拓扑结构图fi,利用先序遍历方法确定其节点的生成顺序序列Oi={oi,1,oi,2,…,oi,a},其中a为fi中节点的数目,oi,j(j=1,2,…,a)表示载体fi中第j个生成节点的序号;执行过程(3.4);
(3.4)提取载密Visio网络拓扑结构图中的隐秘信息:对于各载密Visio网络拓扑结构图fi,按照过程(3.3)得到的节点生成顺序序列Oi,依次从各节点图元中提取隐秘信息:
对于第i幅载密Visio网络拓扑结构图fi的根节点,即j=1,其图元的候选集合为E0={e0,1,e0,2,..,e0,t(0)};利用约定的哈希算法H生成候选集合中图元排列顺序伪随机数生成器的种子再根据种子k2,0通过约定的伪随机数生成器生成候选集合中图元的排列顺序E* 0={e* 0,1,e* 0,2,..,e* 0,t(0)};该节点可隐藏的比特数取当前节点图元在E* 0中的索引值λ,λ=λ-1,并将λ转换为长度为c0的二进制比特序列Λ,即为该节点所隐藏的隐秘信息,M’=M’||Λ,“||”表示二进制比特序列的连接操作;更新提取信息索引e=e+c0;重复执行过程(3.4);
对于第i幅载密Visio网络拓扑结构图fi中,用于隐藏载密Visio网络拓扑结构图生成顺序信息的第oi,x个节点,找到其父节点序号oi,p(1≤p<x),则该节点图元的候选集合为Ek={ek,1,ek,2,..,ek,t(k)},其中,k=oi,p,t(k)是Ek中图元的个数;利用约定的哈希算法H生成候选集合中图元排列顺序伪随机数生成器的种子再根据种子k2,x过约定的伪随机数生成器生成候选集合中图元的排列顺序E* k={e* k,1,e* k,2,..,e* k,t(k)};该节点可隐藏的比特数取当前节点图元在E* k中的索引值λ,λ=λ-1,并将λ转换为长度为ck的二进制比特序列Λ,取其中的后ck-l1位二进制比特即为该节点所隐藏的隐秘信息,则M’=M’||g(Λ,ck-l1,l1+1);更新提取信息索引e=e+ck-l1;如果i=r且x=a,结束隐秘信息提取过程,执行过程(3.5),否则,重复执行过程(3.4);
对于第i幅载密Visio网络拓扑结构图fi中序号为oi,j(j≠1且j≠x)的其他各节点,找到其父节点序号oi,p(1≤p<j),则该节点图元的候选集合为Ek={ek,1,ek,2,..,ek,t(k)};利用约定的哈希算法H生成候选集合中图元排列顺序伪随机数生成器的种子再根据种子k2,j过约定的伪随机数生成器生成候选集合中图元的排列顺序E* k={e* k,1,e* k,2,..,e* k,t(k)};该节点可隐藏的比特数取当前节点图元在E* k中的索引值λ,λ=λ-1,并将λ转换为长度为ck的二进制比特序列Λ,即为该节点所隐藏的隐秘信息,则M’=M’||Λ;更新提取信息索引e=e+ck;如果i=r且x=a,结束隐秘信息提取过程,执行过程(3.5),否则,重复执行过程(3.4);
(3.5)解密所提取的隐秘信息:对于过程(3.4)所提取得到的信息M’,取其前l2位得到L*=g(M’,l2,1),并与密钥k1的前l2位g(k1,l2,1)作按位异或运算,得到加密隐秘信息M*的长度再从M’中的取得加密隐秘信息M*,即g(M’,L,l2+1)以密钥k1解密,得到所传递隐秘信息的明文形式M。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810750231.2A CN108924380B (zh) | 2018-07-10 | 2018-07-10 | 一种基于Visio网络拓扑结构图自生成的隐写方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810750231.2A CN108924380B (zh) | 2018-07-10 | 2018-07-10 | 一种基于Visio网络拓扑结构图自生成的隐写方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108924380A CN108924380A (zh) | 2018-11-30 |
CN108924380B true CN108924380B (zh) | 2019-08-30 |
Family
ID=64411209
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810750231.2A Active CN108924380B (zh) | 2018-07-10 | 2018-07-10 | 一种基于Visio网络拓扑结构图自生成的隐写方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108924380B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110677552B (zh) * | 2019-08-30 | 2021-06-08 | 绍兴聚量数据技术有限公司 | 一种基于完备分组基的无载体信息隐藏方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1889560A (zh) * | 2005-08-03 | 2007-01-03 | 华为技术有限公司 | 网际协议多媒体子系统中面向用户的网络拓扑隐藏方法 |
CN1898899A (zh) * | 2004-09-14 | 2007-01-17 | 索尼株式会社 | 信息处理方法、解密处理方法、信息处理装置和计算机程序 |
CN107612678A (zh) * | 2017-08-18 | 2018-01-19 | 华侨大学 | 一种基于网络拓扑结构图的隐写方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9519776B2 (en) * | 2013-08-06 | 2016-12-13 | Duquesne University Of The Holy Spirit | Computer security system and method |
-
2018
- 2018-07-10 CN CN201810750231.2A patent/CN108924380B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1898899A (zh) * | 2004-09-14 | 2007-01-17 | 索尼株式会社 | 信息处理方法、解密处理方法、信息处理装置和计算机程序 |
CN1889560A (zh) * | 2005-08-03 | 2007-01-03 | 华为技术有限公司 | 网际协议多媒体子系统中面向用户的网络拓扑隐藏方法 |
CN107612678A (zh) * | 2017-08-18 | 2018-01-19 | 华侨大学 | 一种基于网络拓扑结构图的隐写方法 |
Also Published As
Publication number | Publication date |
---|---|
CN108924380A (zh) | 2018-11-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Ogiela et al. | On using cognitive models in cryptography | |
CN109818739A (zh) | 一种基于对抗网络的生成式图像隐写方法 | |
CN109840425B (zh) | 一种文件加密的方法和装置 | |
Torkaman et al. | Innovative approach to improve hybrid cryptography by using DNA steganography | |
Liu et al. | A novel data hiding method based on deoxyribonucleic acid coding | |
CN106254074A (zh) | 一种基于混合加密的宋词载体文本信息隐藏技术 | |
CN110008723B (zh) | 一种基于词嵌入技术的加解密方法 | |
CN115378693A (zh) | 一种用于纵向联邦学习数据对齐的隐匿集合求交方法 | |
Blesswin et al. | Enhanced semantic visual secret sharing scheme for the secure image communication | |
CN111027081B (zh) | 基于特征映射的文本无载体信息隐藏方法 | |
CN108924380B (zh) | 一种基于Visio网络拓扑结构图自生成的隐写方法 | |
Liu et al. | Encryption method and security analysis of medical images based on stream cipher enhanced logical mapping | |
Moyou Metcheka et al. | Distributed data hiding in multi-cloud storage environment | |
CN107612678B (zh) | 一种基于网络拓扑结构图的隐写方法 | |
CN108735223B (zh) | 音频文件数字水印的嵌入及提取方法及系统 | |
CN117640069A (zh) | 基于马尔可夫链的多方区块链隐蔽通信生成模型 | |
Torvi et al. | An unique data security using text steganography | |
Wu et al. | New graph-theoretic approach to social steganography | |
Tang et al. | Design and implementation of information hiding system based on RGB | |
Wei et al. | A novel quantum steganography protocol based on probability measurements | |
CN108460023B (zh) | 合法区间双认证全密钥依赖无载体试题伪装、恢复方法 | |
Nechta | Steganography in social networks | |
Khan et al. | Steganography gan: Cracking steganography with cycle generative adversarial networks | |
Kouser et al. | A novel content-based feature extraction approach: Text steganography | |
CN108156136B (zh) | 一种非直接传输和随机码本的密图无载体试题伪装方法 |
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 |