主权项 |
一种以PDF文本作为掩体的信息嵌入方法,包括:步骤1)、对嵌入信息做单向散列函数SHA操作以及MOD(16)运算,得到20个范围在“0‑15”间的整数,所得到的结果标记为标识串FlagStr1;将嵌入信息的每4Bit转化成一个“范围在0‑15的整数”;对隐写密钥做单向散列函数SHA操作以及MOD(16)运算,得到20个范围在“0‑15”间的整数,所得到的结果标记为标识串FlagStr2;由所述FlagStr1、所述一个“范围在0‑15的整数”、所述FlagStr2得到“范围在0‑15的整数库”;步骤2)、在所述标识串FlagStr2前加“0.”,将该标识串转化为(0,1)间的实数;步骤3)、构造两个Logistic混沌序列密码生成器Chao1和Chao2,所述Chao1、Chao2的迭代初值ChaoKey都设置为步骤2)所得到的由标识串FlagStr2转化而来的实数,所述Chao1、Chao2的迭代值分别标记为Chao1Num,Chao2Num;步骤4)、遍历PDF文件的所有TJ操作对象中的数字,若所遇数字的绝对值在1到16之间,且所述Chao2Num的值大于用户预先设定的“冗余度参数”,则从所述步骤1)所生成的“范围在0‑15的整数库”中顺序选取一未曾选取的数字,将该数字加“1”后替换TJ操作对象中当前所遇数字;若所遇数字的绝对值在1到16之间,但所述Chao2Num的值小于或等于所述“冗余度参数”,则将所述Chao1Num转化成范围在0到15之间的一整数后,将该整数加“1”后替换TJ操作对象中当前所遇数字;若所遇数字的绝对值大于16或小于1,则保持该数字不变;步骤5)、由Chao1和Chao2迭代生成Chao1Num、Chao2Num,若“范围在015的整数库”已取完,则当所遇TJ操作对象中的数字的绝对值在1到16之间时,将所述Chao1Num转化成范围在0到15之间的一整数后,将该整数加“1”后替换TJ操作对象中当前所遇数字,然后执行下一步;若所述“范围在015的整数库”还有未被选取的数字,则重新执行步骤4);步骤6)、将包含完整嵌入信息的PDF文件转换为隐写文件;其中,所述TJ是指PDF文档中包括的文本显示操作符TJ。 |