基于pdf交叉引用表的pdf文件信息嵌入和提取方法

文档序号:6365396阅读:300来源:国知局

专利名称::基于pdf交叉引用表的pdf文件信息嵌入和提取方法
技术领域
:本发明属于多媒体信号处理领域,具体涉及一种基于PDF交叉引用表的PDF文件信息嵌入和提取方法
背景技术
:近些年,随着网络技术的快速发展,人们开始越来越多地通过互联网传输和获取信息。与此同时,电子商务、电子政务等新型办公模式正被广泛应用,越来越多的行政、商业文件如授权书、注册单、合同、发票等开始以电子文档的形式进行流通和传输。但在互联网这个开放的环境中,拷贝、篡改等恶意行为时刻威胁着电子文档的版权归属问题,大量版权盗用、非法传输、信息伪造等问题层出不穷。基于这种情况,电子文档的数据隐藏技术日益成为版权认证、真伪鉴定、解决纠纷的主要手段。PDF(PortableDocumentFormat)文件格式是Adobe公司开发的电子文件格式。这种文件格式在Windows、Unix、Mac等操作系统中都是通用的,独立于操作系统平台。I3DF文件格式可以将文字、字型、格式、颜色及独立于设备和分辨率的图形图像等封装在一个文件中。该格式文件还可以包含超文本链接、声音和动态影像等电子信息,支持特长文件,集成度和安全可靠性都较高。再者,PDF文件使用了工业标准的压缩算法,易于传输与储存。上述特性使得PDF成为在Internet上进行电子文档发行和数字化信息传播的理想文档格式。因此,基于PDF文档的信息隐藏技术的研究,对当前的应用环境,是有十分重要的实际意义的。下面对现有技术中PDF文件的结构进行简要分析,以便对本发明进行理解。如图I所示是原始HF的文件结构图,包括四部分文件头(Header),文件体(Body),交叉引用表(Cross-referencetable)和文件尾(Trailer)。文件头标识PDF文件版本信息;文件体由一系列的间接对象组成,基本包含了PDF文件的内容;交叉引用表包含间接对象的地址信息,初始状态只有一个单元;文件尾记录PDF文件的根对象以及交叉引用表的起始地址等信息。如图2所示,是经过追加式更新操作的PDF文件结构。在一次追加更新操作中,任何新的对象或者被修改的对象都会被添加到原始PDF文件尾的后面,组成新的文件体,新文件体对应的新交叉引用单元和新文件尾也会随着被插入到末尾。如图3所不,是PDF文件交叉引用表不例图。每个交叉引用表包含一定范围内相邻对象号的对象词条。每个交叉引用表以关键字xref为一行开始,开始的一行包含由空格分开的两个数字,第一个数字表示该文件体中第一个对象的对象号,第二个数字表示该文件体中所有对象的数量。接下来的是对应PDF文件每个对象的每行一条的词条,词条结构是nnnnnnnnnngggggxy其中nnnnnnnnnn是10字节的偏移量,表示从PDF文件开头到该对象开头的字节数,字节数不够10字节的则偏移量前面的数字填零;ggggg是5字节的等级号,除去O号对象外,其它对象的交叉引用表中的初始等级号均为0,每次词条被重用,都会被赋予一个新的等级号,最大为65535。X为对象状态关键字,有n、f、eol三个状态关键字,η表示正在使用的词条,f表示已被废弃的词条。eol为结束符。图3中的示例中指示了O到5—共六个对象的相关信息。
发明内容本发明解决的技术问题是克服现有技术的不足,提供一种将嵌入信息嵌入到TOF文件的交叉引用表中并能从PDF文件中提取出嵌入信息以对PDF文件进行鉴定的基于TOF交叉引用表的PDF文件信息嵌入和提取方法。利用本发明对PDF嵌入信息后能够有效解决PDF版权认证、真伪辨别的问题,而且本发明对PDF文档的编辑行为具有很好的鲁棒性。为解决上述技术问题,本发明的技术方案如下一种基于PDF交叉引用表的PDF文件信息嵌入和提取方法,包括如下步骤(1)进行隐藏信息嵌入,其具体是读取原始PDF文件流;读入二进制隐藏信息并对其进行编码得到十进制置乱序列,记录解码信息;根据十进制置乱序列,生成数量等于十进制置乱序列长度加I的内容随机的新对象以追加更新的方式插入原始PDF文件中,其中第I个到倒数第2个新对象的长度依次等于十进制置乱序列中的各项数值;写新对象对应的新交叉引用表和新文件尾,完成一次追加更新,并同时生成新交叉引用表标志;输出含隐藏信息的PDF文件及输出解码信息和新交叉引用表标志作为密钥;(2)提取隐藏信息,其具体是读取带隐藏信息的PDF文件和密钥;在PDF文件的数据流中查找并确定密钥中的新交叉引用表标志所指示的新交叉引用表;获取新交叉引用表中的所有偏移量,并依次将后一个偏移量减去前一个偏移量,得到PDF文件所嵌入的新对象中第I个到倒数第2个新对象的长度值,组成一个十进制的长度值序列;将获取的长度值序列根据密钥中的解码信息进行解码,得到隐藏信息序列;将所述隐藏信息序列输出,即得到隐藏信息。上述方案中,所述读入二进制隐藏信息并对其进行编码得到十进制置乱序列,记录解码信息的具体步骤为读取二进制隐藏信息并对其进行分段得到隐藏信息段,记录隐藏信息长度、分段长度;将分段后的隐藏信息段从二进制值转换为十进制值,将所有十进制值分别加上一个设定的十进制阈值后顺序组合十进制序列;对十进制序列进行置乱得到十进制置乱序列,记录置乱参数,组合隐藏信息长度、分段长度、置乱参数和设定的十进制阈值作为解码信息。上述方案中,所述将获取的长度值序列根据密钥中的解码信息进行解码,得到隐藏信息序列的具体步骤为根据密钥中的置乱参数对获取的长度值序列进行反置乱,获取反置乱序列;将反置乱序列中的每个长度值减去密钥中的十进制阈值再转换为长度等于密钥中的分段长度的二进制片段;根据密钥中的隐藏信息长度将二进制片段进行顺序组合得到隐藏信息序列。上述方案中,所述将二进制隐藏信息进行分段时,若分割得到的最后一个隐藏信息段的长度小于分段长度,则在最后一个隐藏信息段的末尾补零至其长度等于分段长度;根据密钥中的隐藏信息长度将二进制片段进行顺序组合得到隐藏信息序列时,若所有二进制片段的总长度大于隐藏信息长度时,则将最后一个二进制片段末尾的零删除,再将所有二进制片段按顺序组合获取隐藏信息序列。上述方案中,所述对每个隐藏信息段进行置乱是利用混沌映射对每个隐藏信息段进行置乱,记录映射参数作为置乱参数。与现有技术相比,本发明技术方案的有益效果是本发明利用PDF文件追加式更新中添加的新交叉引用表作为隐藏信息的载体,隐藏信息在文件建立之初就不可见地被写入,对文件显示层面没有任何影响,可以随着文档内容的传输而在互联网上传输,可嵌入容量足够大,不会因为传输或常用的文档编辑行为而被破坏。对于攻击者,具有隐蔽性,不易查找破坏。本发明作为PDF文档认证的一种方法,可以不可见地在PDF文件中嵌入文件的作者、出处、版权等相关认证信息,对TOF文件的版权认证、真伪辨别等具有实用性。图I是原始PDF文件的结构示意图2是经过追加式更新操作后的PDF文件结构图3为PDF文件的交叉引用表具体实例效果图4为本发明中进行隐藏信息嵌入的流程图5为本发明中提取隐藏信息的流程图6为本发明具体实施例中原始PDF文件显示效果图7为本发明具体实施例中已嵌入隐藏信息的PDF文件显示效果图8为本发明具体实施例中已嵌入隐藏信息的PDF文件进行各种注释、标记操作的效果图9为本发明具体实施例中已嵌入隐藏信息的表单类PDF文件的显示效果图10为本发明具体实施例中对已嵌入隐藏信息的表单类PDF文件进行编辑后的显示效果图。具体实施例方式下面结合附图和实施例对本发明的技术方案做进一步的说明。如图4和图5所不,为本发明中一种基于PDF交叉引用表的PDF文件信息嵌入和提取方法的流程图,所述方法的具体步骤如下(SI)如图4所示,进行隐藏信息嵌入,其具体是(Sll)读取原始PDF文件流。(S12)读入二进制隐藏信息并对其进行编码得到十进制置乱序列,记录解码信息;其具体步骤是(5121)读取待嵌入的二进制隐藏信息串T,按分段长度对二进制隐藏信息串T进行分段,得到η个二进制隐藏信息段,分割得到的最后一个隐藏信息段的长度小于分段长度%时,则在最后一个隐藏信息段的末尾补零至其长度等于分段长度TJi,记录隐藏信息长度、分段长度;(5122)将每个隐藏信息段从二进制值转换为十进制值,并将所有经转换获得的十进制值各加上一个设定的十进制阈值组成一个长度为η的十进制序列;(S122)对长度为η的十进制序列进行置乱得到长度为η的十进制置乱序列使用混沌映射对长度为η的十进制序列Γ’进行置乱,记录映射参数为置乱参数,组合隐藏信息长度、分段长度%、置乱参数和设定的十进制阈值作为解码信息。(S13)根据长度为η的十进制置乱序列,生成n+l个内容随机的新对象以追加更新的方式插入原始PDF文件中,其中最后一个即第n+l个新对象的长度随机,第I个到倒数第2个即第I个到第η个新对象的长度依次等于十进制置乱序列中的第I到第η项的值。(S14)n+l个新对象嵌入完毕后,写新对象对应的新交叉引用表和新文件尾,完成一次追加更新,并同时生成新交叉引用表标志;至此,带有隐藏信息的PDF文件已经建立完毕,由于交叉引用表中的偏移量记录的是从PDF文件开头到交叉引用表所对应的对象的开头的字节数,因此,隐藏信息就被嵌入到新交叉引用表的偏移量中。(S15)输出含隐藏信息的PDF文件,以及输出隐藏信息长度、分段长度TJ)、置乱参数、设定的十进制阈值、新交叉引用表标志作为密钥。(S2)如图5所示,在带隐藏信息的PDF文件中进行检测并提取被嵌入的隐藏信息,其具体步骤是(S2)读取带隐藏信息的PDF文件和密钥;(521)在PDF文件的数据流中查找并确定密钥中的新交叉引用表标志所指示的新交叉引用表;(522)获取新交叉引用表中的所有偏移量,并依次将后一个偏移量减去前一个偏移量,n+l个偏移量按顺序操作得到η个数值,所得到的数值就是PDF文件所嵌入的新对象中第I个到倒数第2个新对象的长度值,组成一个长度为η的十进制的长度值序列;(523)将获取的长度值序列根据密钥中的解码信息进行解码,得到隐藏信息序列;其具体步骤是(5231)根据密钥中的置乱参数对获取的长度值序列S’进行反置乱,获取反置乱序列;(5232)将反置乱序列中的每个长度值减去密钥中的十进制阈值再转换为长度等于密钥中的分段长度%的二进制片段;(S234)根据密钥中的隐藏信息长度将二进制片段进行顺序组合得到隐藏信息序列。组合时,若所有二进制片段的总长度大于隐藏信息长度时,则将最后一个二进制片段末尾的零删除,再将所有二进制片段按顺序组合获取隐藏信息序列5。(S24)将隐藏信息序列S输出,即得到隐藏信息。如图6所示是原始PDF文件的显示效果图,图7是利用本发明得到的已嵌入隐藏信息的PDF文件的显示效果图,从图中可以看出嵌入隐藏信息后对PDF文件的显示没有带来任何影响,本发明对隐藏信息具有良好的视觉隐蔽性。图8是对已嵌入隐藏信息的PDF文件进行各种注释、标记操作后的效果图。该图是使用AdobeAcrobat9Professional软件对已嵌入隐藏信息的PDF文件进行注释、标记的结果。通过实验利用本发明对被编辑后的PDF文件提取隐藏信息,提取检测结果正确率为100%,本发明对一般编辑行为是鲁棒的。图9和图10是对已嵌入隐藏信息的表单类PDF文件进行的编辑行为前后图示,其中图9是嵌入隐藏信息但可以进行任何编辑操作的表单类PDF文件图示,图10是对图9进行了内容编辑保存后得到的文件图示。通过实验利用本发明对被编辑后的表单类文件进行隐藏信息的提取,提取检测结果正确率为100%。因此,本发明对所述编辑行为同样是鲁棒的。因此,本发明对PDF文件的版权认证、真伪辨别等具有很好的实用性。权利要求1.一种基于roF交叉引用表的TOF文件信息嵌入和提取方法,其特征在于,包括如下步骤进行隐藏信息嵌入,其具体是读取原始PDF文件流;读入二进制隐藏信息并对其进行编码得到十进制置乱序列,记录解码信息;根据十进制置乱序列,生成数量等于十进制置乱序列长度加I的内容随机的新对象以追加更新的方式插入原始PDF文件中,其中第I个到倒数第2个新对象的长度依次等于十进制置乱序列中的各项数值;写新对象对应的新交叉引用表和新文件尾,完成一次追加更新,并同时生成新交叉引用表标志;输出含隐藏信息的PDF文件及输出解码信息和新交叉引用表标志作为密钥;提取隐藏信息,其具体是读取带隐藏信息的PDF文件和密钥;在PDF文件的数据流中查找并确定密钥中的新交叉引用表标志所指示的新交叉引用表;获取新交叉引用表中的所有偏移量,并依次将后一个偏移量减去前一个偏移量,得到PDF文件所嵌入的新对象中第I个到倒数第2个新对象的长度值,组成一个十进制的长度值序列;将获取的长度值序列根据密钥中的解码信息进行解码,得到隐藏信息序列;将所述隐藏信息序列输出,即得到隐藏信息。2.根据权利要求I所述的基于PDF交叉引用表的PDF文件信息嵌入和提取方法,其特征在于,所述读入二进制隐藏信息并对其进行编码得到十进制置乱序列,记录解码信息的具体步骤为读取二进制隐藏信息并对其进行分段得到隐藏信息段,记录隐藏信息长度、分段长度;将分段后的隐藏信息段从二进制值转换为十进制值,将所有十进制值分别加上一个设定的十进制阈值后顺序组合十进制序列;对十进制序列进行置乱得到十进制置乱序列,记录置乱参数,组合隐藏信息长度、分段长度、置乱参数和设定的十进制阈值作为解码信息。3.根据权利要求2所述的基于PDF交叉引用表的PDF文件信息嵌入和提取方法,其特征在于,所述将获取的长度值序列根据密钥中的解码信息进行解码,得到隐藏信息序列的具体步骤为根据密钥中的置乱参数对获取的长度值序列进行反置乱,获取反置乱序列;将反置乱序列中的每个长度值减去密钥中的十进制阈值再转换为长度等于密钥中的分段长度的二进制片段;根据密钥中的隐藏信息长度将二进制片段进行顺序组合得到隐藏信息序列。4.根据权利要求3所述的基于PDF交叉引用表的PDF文件信息嵌入和提取方法,其特征在于,所述将二进制隐藏信息进行分段时,若分割得到的最后一个隐藏信息段的长度小于分段长度,则在最后一个隐藏信息段的末尾补零至其长度等于分段长度;根据密钥中的隐藏信息长度将二进制片段进行顺序组合得到隐藏信息序列时,若所有二进制片段的总长度大于隐藏信息长度时,则将最后一个二进制片段末尾的零删除,再将所有二进制片段按顺序组合获取隐藏信息序列。5.根据权利要求2至4任一项所述的基于PDF交叉引用表的PDF文件信息嵌入和提取方法,其特征在于,所述对每个隐藏信息段进行置乱是利用混沌映射对每个隐藏信息段进行置乱,记录映射参数作为置乱参数。全文摘要本发明属于多媒体信号处理领域,具体涉及一种基于PDF交叉引用表的PDF文件信息嵌入和提取方法。本发明利用PDF文件追加式更新中添加的新交叉引用表作为隐藏信息的载体,隐藏信息在文件建立之初就不可见地被写入,对文件显示层面没有任何影响,可以随着文档内容的传输而在互联网上传输,可嵌入容量足够大,不会因为传输或常用的文档编辑行为而被破坏。对于攻击者,具有隐蔽性,不易查找破坏。本发明作为PDF文档认证的一种方法,可以不可见地在PDF文件中嵌入文件的作者、出处、版权等相关认证信息,对PDF文件的版权认证、真伪辨别等具有实用性。文档编号G06F21/24GK102622562SQ20121004574公开日2012年8月1日申请日期2012年2月27日优先权日2012年2月27日发明者刘红梅,李雷申请人:中山大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1