CN111489278B - 一种基于置乱扩散的文本水印嵌入提取方法 - Google Patents

一种基于置乱扩散的文本水印嵌入提取方法 Download PDF

Info

Publication number
CN111489278B
CN111489278B CN202010262948.XA CN202010262948A CN111489278B CN 111489278 B CN111489278 B CN 111489278B CN 202010262948 A CN202010262948 A CN 202010262948A CN 111489278 B CN111489278 B CN 111489278B
Authority
CN
China
Prior art keywords
watermark
bmp
scrambling
image
row
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
CN202010262948.XA
Other languages
English (en)
Other versions
CN111489278A (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.)
Guizhou University
Original Assignee
Guizhou 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 Guizhou University filed Critical Guizhou University
Priority to CN202010262948.XA priority Critical patent/CN111489278B/zh
Publication of CN111489278A publication Critical patent/CN111489278A/zh
Application granted granted Critical
Publication of CN111489278B publication Critical patent/CN111489278B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/0021Image watermarking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2201/00General purpose image data processing
    • G06T2201/005Image watermarking
    • G06T2201/0065Extraction of an embedded watermark; Reliable detection
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Editing Of Facsimile Originals (AREA)
  • Image Processing (AREA)

Abstract

本发明公开了一种基于置乱扩散的文本水印嵌入提取方法,所述方法包括步骤:一、水印嵌入,实现水印图像到宿主载体的均匀扩散;二、水印提取,实现确权水印图像的还原。通过基于置乱扩散思想的嵌入提取方法,将水印信息通过置乱扩散的方式多轮地、均匀地嵌入水印载体,提高鲁棒性。采用水印信息的编码方式,通过ASCII码中部分不可见字符的编码,将位置信息和水印信息编码成一个水印单元,实现嵌入大量水印信息,取得了很好的效果。

Description

一种基于置乱扩散的文本水印嵌入提取方法
技术领域
本发明涉及一种文本水印嵌入提取方法,尤其涉及一种基于置乱扩散的文本水印嵌入提取方法,属于图像加密技术领域。
背景技术
大数据随着全球信息化的不断推进以及互联网的高速发展,已经成为重要的生产因素并渗透到了各个领域。文本数据作为信息交流与传递的重要载体,是大数据平台存储、计算及应用最广泛的数据类型。而文本数据被窃取和篡改会造成多种严重后果,因此保证文本文件泄露后的可追溯性成为研究的焦点。
面向文本文档的数字水印技术是将特定标识信息以某种方式嵌入文档作品中,且不影响文档载体使用价值的一种信息隐藏技术,是完成版权保护、实现防伪溯源的有效方法。根据嵌入方式的不同,人们分别提出基于文本图像的水印算法、基于文本格式的水印算法、基于文本内容的水印算法。基于文本图像的信息隐藏算法一般应用于纸质文本的打印扫描场景,该类算法大多对图像噪声攻击较为敏感,稳健性通常要高于普通文本嵌入算法。但此算法的水印载体一旦受到噪声攻击,水印信息的准确度将受到严重破坏。基于文档结构的水印算法一般适用于具有格式功能的文档,如WORD、XML和PDF。该水印技术利用轻微改变文本格式不易被察觉的特点嵌入水印信息,如修改文档排版属性、添加不可见字符、修改字符属性、同形字符替换等。其编码简单、易于实现。但此算法对于文本格式稍加变换就有可能使嵌入的水印遭到破坏。基于文本内容的文本水印方法一般通过自然语言处理技术对语法、语义以及文字特征进行分析,在不改变原文意思的情况下,对部分文本实施等价替换和语序修改等操作,进而实现水印信息的隐藏。但文本中的同型内容毕竟有限,对于水印信息量较大的应用场景难免显得嵌入空间不足。零水印技术是一种可以把水印信息很好地隐藏,对于用户来说是不可感知的,而且不会影响原文档使用价值的一种技术。但零水印技术在提取时不能很好地与原文档对应,且无法实现盲提取。
目前文本水印方案主要将ASCII码特殊控制符、行置换算法、干扰列、图像Arnold变换结合起来,实现数字水印的嵌入。利用ASCII码特殊控制符的不可见性达到嵌入水印信号的不可感知的效果。通过行置换算法,将元组映射到文本数据的秘密位置上,实现嵌入位与元组结构无关,提高算法的鲁棒性。通过Arnold算法对版权图像进行变换,使水印信息具有隐私性和抗攻击性。同时辅助以数值型的数据生成干扰列,在干扰列中嵌入水印信息,加强所嵌水印的鲁棒性。
上述现有技术的缺点主要表现在以下方面:
(1)现有技术方案中,通过行置换算法嵌入水印信息,即使加入了干扰列,但由于嵌入时过度依靠浮点数据的精度,一个单元格只能嵌入一位比特信息,存在无法有效利用文档空间,无法嵌入大量信息等问题。
(2)现有技术方案中,利用hash函数对元组字段处理并排序,通过哈希值与待嵌入属性字段长度相运算,将元组映射到不同分组中实现行置换,从而确定嵌入的位置,但由于每个比特信息只嵌入一次,一旦受到水印载体稍微变动,原水印信息就会受到较大的影响,鲁棒性低。
发明内容
本发明要解决的技术问题是:提供一种基于置乱扩散的文本水印嵌入提取方法,通过对原水印图像进行二值化和Arnold置乱处理,实现图片像素点的均匀扩散。其次,基于部分ASCII码的不可见特性设计水印信息编码,实现大量信息的隐蔽嵌入。然后,基于随机置乱思想设计行列扩散算法,实现水印信息的均匀嵌入和高效盲提取,提高鲁棒性。通过上步骤,最终得到能隐蔽嵌入大量水印信息的强鲁棒性算法,有效的解决了上述存在的嵌入信息量小、鲁棒性弱及隐蔽性差等问题。
本发明的技术方案为:一种基于置乱扩散的文本水印嵌入提取方法,所述方法包括步骤:一、水印嵌入,实现水印图像到宿主载体的均匀扩散;二、水印提取,实现确权水印图像的还原。
所述步骤一中,具体包括步骤:A、生成水印信息表;B、获取行列映射表;C、水印扩散。
步骤一,水印嵌入,f:bmpw×D→T':水印嵌入的过程中,首先对水印图像进行二值化处理,再对处理后的二值化图像进行Arnold置乱得到bmpb,此步骤为水印图像的预处理。然后对bmpb进行编码,得到水印信息表bmpw。通过读取水印载体T得到嵌入位索引表,置乱后再从中截取与水印信息表的同型矩阵,形成行列映射表D。最后水印信息表bmpw通过行列映射表D的映射得到嵌入后的水印载体T',至此完成水印嵌入,实现水印图像到宿主载体的均匀扩散。
所述步骤二中,具体包括步骤:D、水印位点提取;E、还原置乱水印;F、水印信息还原。
步骤二,水印提取,f-1:T'→bmp':水印信息的提取还原过程中,还原映射f-1:T'→bmp',首先按顺序扫描含水印文档T'={c+w}n×n,得到载体中的所有水印信号bmp'w={w'}n×n,其中,w′ij=(i',j',b),(i',j')∈[1,2,...,m]2;然后根据w′ij拥有的坐标行列信息(i',j')将水印信号b逆映射到水印图像对应的位置,得到确权水印图像bmp'b,实现确权水印图像的还原。
所述步骤A为:首先对原图像进行二值化处理,得到二值图像;再通过Arnold置乱公式和用户密钥k对二值化图像进行Arnold置乱得到bmpb={b}m×m,其中b∈{0,1},然后对bmpb的每一个像素以行i∈[1,2,...,m]、列j∈[1,2,...,m]及水印信号值b∈{0,1}进行编码,得到水印信息表bmpw={w}m×m,其中wij=(i,j,b)。
其中,Arnold置乱公式为:
Figure GDA0002553889770000031
所述步骤B为:首先对T={c}n×n进行行列扫描,读取嵌入位水印位置的行列值(i,j),生成可嵌入位索引表Tp={p}n×n,其中p=(i,j)∈[1,2,...,n]2;然后对Tp内的元素进行随机置乱,形成均匀置乱的索引置乱表T′p={p'}n×n;最后以bmpw为基础在T′p内随机选取多个不重复的同型矩阵,形成多个行列映射表D={d}m×m,其中dij=p′i′,j'
所述步骤C为:根据水印信息表与行列映射表之间元素的对应关系,通过f:bmp×D→T将wij∈bmpw映射到dij∈D下宿主载体T对应的i'行j'列中,并重复此步骤,直到所有行列映射表均完成映射,最终得到含水印载体T'={c+w}n×n,其中,“+”为字符串连接符。
所述步骤D为:首先按顺序扫描含水印文档T'={c+w}n×n,得到载体中的所有水印信号bmp'w={w'}n×n,其中,w′ij=(i',j',b),(i',j')∈[1,2,...,m]2;然后根据w′ij拥有的坐标行列信息(i',j')将水印信号b逆映射到水印图像对应的位置,得到多值水印信息集Wm×m={wij=(i,j,b1,b2,...bn)}i,j∈[1,2,...,m]
所述步骤E为:对(i,j)位上的水印信号wij=(i,j,b1,b2,...bn)进行取众数处理b'←MaxFreq(b1,b2,...,bn),若众数不唯一,则该点信息提取失败,生成置乱的二值水印矩阵bmp'm×m
所述步骤F为:通过用户密钥k对bmp'm×m进行k轮Arnold逆置乱,还原出可识别的二值水印图像bmp',最终完成确权水印的重现。
其中,Arnold逆置乱公式为:
Figure GDA0002553889770000041
本发明的有益效果是:与现有技术相比,采用本发明的技术方案,通过基于置乱扩散思想的嵌入提取方法,将水印信息通过置乱扩散的方式多轮地、均匀地嵌入水印载体,提高了鲁棒性。采用水印信息的编码方式,通过ASCII码中部分不可见字符的编码,将位置信息和水印信息编码成一个水印单元,实现嵌入大量水印信息。
附图说明
图1为本发明的总体流程图;
图2为本发明生成水印信息表流程图;
图3为本发明嵌入水印流程图;
图4为本发明提取水印流程图;
图5为本发明的实施例图像一;
图6为本发明的实施例图像二。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将参照本说明书附图对本发明作进一步的详细描述。
一种基于置乱扩散的文本水印嵌入提取方法,所述方法包括步骤:一、水印嵌入,实现水印图像到宿主载体的均匀扩散;二、水印提取,实现确权水印图像的还原。
所述步骤一中,具体包括步骤:A、生成水印信息表;B、获取行列映射表;C、水印扩散。
步骤一,水印嵌入,f:bmpw×D→T':水印嵌入的过程中,首先对水印图像进行二值化处理,再对处理后的二值化图像进行Arnold置乱得到bmpb,此步骤为水印图像的预处理。然后对bmpb进行编码,得到水印信息表bmpw。通过读取水印载体T得到嵌入位索引表,置乱后再从中截取与水印信息表的同型矩阵,形成行列映射表D。最后水印信息表bmpw通过行列映射表D的映射得到嵌入后的水印载体T',至此完成水印嵌入,实现水印图像到宿主载体的均匀扩散。
所述步骤二中,具体包括步骤:D、水印位点提取;E、还原置乱水印;F、水印信息还原。
步骤二,水印提取,f-1:T'→bmp':水印信息的提取还原过程中,还原映射f-1:T'→bmp',首先按顺序扫描含水印文档T'={c+w}n×n,得到载体中的所有水印信号bmp'w={w'}n×n,其中,w′ij=(i',j',b),(i',j')∈[1,2,...,m]2;然后根据w′ij拥有的坐标行列信息(i',j')将水印信号b逆映射到水印图像对应的位置,得到确权水印图像bmp'b,实现确权水印图像的还原。
所述步骤A为:首先对原图像进行二值化处理,得到二值图像;再通过Arnold置乱公式和用户密钥k对二值化图像进行Arnold置乱得到bmpb={b}m×m,其中b∈{0,1},然后对bmpb的每一个像素以行i∈[1,2,...,m]、列j∈[1,2,...,m]及水印信号值b∈{0,1}进行编码,得到水印信息表bmpw={w}m×m,其中wij=(i,j,b)。
其中,Arnold置乱公式为:
Figure GDA0002553889770000051
所述步骤B为:首先对T={c}n×n进行行列扫描,读取嵌入位水印位置的行列值(i,j),生成可嵌入位索引表Tp={p}n×n,其中p=(i,j)∈[1,2,...,n]2;然后对Tp内的元素进行随机置乱,形成均匀置乱的索引置乱表T′p={p'}n×n;最后以bmpw为基础在T′p内随机选取多个不重复的同型矩阵,形成多个行列映射表D={d}m×m,其中dij=p′i′,j'
所述步骤C为:根据水印信息表与行列映射表之间元素的对应关系,通过f:bmp×D→T将wij∈bmpw映射到dij∈D下宿主载体T对应的i'行j'列中,并重复此步骤,直到所有行列映射表均完成映射,最终得到含水印载体T'={c+w}n×n,其中,“+”为字符串连接符。
所述步骤D为:首先按顺序扫描含水印文档T'={c+w}n×n,得到载体中的所有水印信号bmp'w={w'}n×n,其中,w′ij=(i',j',b),(i',j')∈[1,2,...,m]2;然后根据w′ij拥有的坐标行列信息(i',j')将水印信号b逆映射到水印图像对应的位置,得到多值水印信息集Wm×m={wij=(i,j,b1,b2,...bn)}i,j∈[1,2,...,m]
所述步骤E为:对(i,j)位上的水印信号wij=(i,j,b1,b2,...bn)进行取众数处理b'←MaxFreq(b1,b2,...,bn),若众数不唯一,则该点信息提取失败,生成置乱的二值水印矩阵bmp'm×m
所述步骤F为:通过用户密钥k对bmp'm×m进行k轮Arnold逆置乱,还原出可识别的二值水印图像bmp',最终完成确权水印的重现。
其中,Arnold逆置乱公式为:
Figure GDA0002553889770000061
基于置乱扩散的文本水印嵌入提取方案主要分为两大模块,分别为:嵌入水印模块和提取水印模块。在嵌入过程中,由水印图像生成的水印信息表通过由待嵌入文件生成的行列映射表,实现把水印信息多轮地、均匀地嵌入水印载体中。在提取过程中,通过扫描水印载体获取所有地不可见信息,解码后,实现把水印信息还原成确权水印图像。
下面结合说明书附图和实施例对本发明做进一步的说明。
实施例1:步骤一:水印嵌入,嵌入水印伪代码描述:
Figure GDA0002553889770000071
在步骤一中,输入待嵌入水印文档File、水印图像Pic和图像进行Arnold置乱的次数rounds,其中,水印文档File是CSV格式,输出含水印信息的文档File_Water。水印图像在picBrush(Pic)中二值化,二值化后生成的图像根据置乱的次数在doArnold(sbmap,rounds)中进行Arnold置乱,置乱后的图像在createPDT(arnoldbmap)中生成未进行编码的水印信息表pdt,pdt通过WaterCodingPDT(pdt)进行ASCII不可见字符的编码,生成水印信息表wpdt。输入文件File,通过getDT(File)把文件的内容保存在内存中,命名为cdt,cdt可看作一张二维表。根据createDT(cdt),读取表的行数和列数,并按顺序列出坐标,以此生成嵌入位索引表qdt,通过scrambleDT(qdt)进行所有行和所有列的随机置乱,生成索引置乱表hdt。在索引置乱表中以选取最多的原则,选取多个与水印信息表同型的矩阵,得到一组行列映射表sdt[]。循环依次读取行列映射表,每一次都把一张行列映射表存储在d中,读取d的每一个单元格的信息,把映射信息中的行号和列号分别存入r、c中,r、c组成一组坐标,根据映射坐标,依次把水印信息嵌入对应坐标的cdt中。由于行列映射表有n个,则嵌入步骤执行n次。最后,把内存中已含有水印信息的cdt表写入文件File_Water,得到水印载体。
步骤二:水印提取,提取水印伪代码描述:
输入:File_Water、rounds
输出:Pic_Water
wdt←getPDT(File_Water);
ddt←reWaterCodingPDT(wdt);
bmap_Water_Arnold←restorePic(ddt);
bmap_Water←reArnold(bmap_Water_Arnold,rounds);
return bmap_Water.toPic();
在步骤二中,输入水印载体File_Water和嵌入时用户输入的图像置乱次数rounds,通过提取水印算法得到确权水印图像Pic_Water。输入File_Water,getPDT(File_Water)遍历水印文件获取所有嵌入的水印信息,以二位表的结构存入内存中得到wdt。把wdt传进reWaterCodingPDT(wdt)进行解码,生成未编码的水印信息表ddt,其中,当同一个位置有多个值时,取众数,当有多个众数,该位置不进行处理。在restorePic(ddt)中,通过水印信息表还原图像,此时,还原后的图像是置乱的。将置乱的图像bmap_Water_Arnold和用户输入的置乱次数rounds,在reArnold(bmap_Water_Arnold)中进行逆置乱,最终,得到还原的确权水印图像Pic_Water。
运用C#编程语言将本发明所述的数据溯源算法进行实现。
步骤一中,生成的数据如下:
将选择的水印图像进行二值化后,得到如附图5所示的图像picBrush(pic)→sbmap:
将二值化图像进行Arnold置乱,得到如附图6所示的图像,doArnold(sbmap,rounds)→arnoldbmap:
将置乱后的图像生成水印信息表,以坐标的方式输出,坐标中第一位数表示横坐标X,第二位数表示纵坐标Y,第三位数表示此位置的像素点的颜色,如果是1表示黑色,如果是0表示白色,数据如下,createPDT(arnoldbmap)→pdt:
"(19 6 0)(42 16 0)(13 42 0)(26 17 1)(63 32 0)(18 61 0)(49 38 1)(53 220)(16 13 0)(27 14 0)(1 18 0)(8 12 1)(34 56 0)(57 25 0)(27 31 0)(0 33 0)(42 21 0)(42 52 0)(46 60 0)(56 35 0)(17 10 1)(29 19 0)(58 49 0)(21 5 0)(7 11 1)(47 41 1)(13 30 0)(51 62 0)(5 27 0)(12 63 0)(38 15 0)(26 40 0)(10 48 1)(49 26 1)(55 55 0)(13 51 1)(57 45 0)(13 43 0)(17 50 1)(52 47 0)(60 24 0)(51 8 0)(22 1 0)(23 58 1)(44 9 0)(4 46 0)(57 4 0)(41 0 1)(2 36 1)(47 39 0)(58 20 0)(22 29 0)(46 59 1)(3823 0)(33 34 0)(3 3 0)(60 28 0)(52 54 0)(3 57 0)(42 7 0)(29 37 0)(63 2 0)(46 440)(28 53 0)\n(19 6 0)(42 16 0)(13 42 0)(26 17 1)(63 32 0)(18 61 0)(49 38 1)(53 22 0)(16 13 0)(27 14 0)(1 18 0)(8 12 1)(34 56 0)(57 25 0)(27 31 0).....”
下面是根据待嵌入文件生成的其中一张行列映射表,第一位数字是映射之后的横坐标,第二位数字是映射之后的纵坐标,
第一张行列映射表:decompsoDT(hdt)→sdt[0]:
"(46 30)(11 31)(61 34)(59 45)(15 3)(18 50)(43 8)(41 62)(39 61)(61 40)(13 51)(52 19)(42 46)(32 36)(18 55)(50 59)(19 19)(60 53)(8 38)(49 3)(19 61)(21 63)(17 28)(15 55)(30 2)(61 33)(57 50)(58 55)(44 11)(19 30)(20 4)(59 8)(415)(57 35)(12 9)(61 51)(24 18)(44 26)(44 30)(50 4)(6 63)(27 7)(16 2)(60 34)(2427)(53 42)(55 19)(28 22)(55 55)(29 44)(25 14)(17 38)(40 3)(20 20)(28 23)(4825)(59 29)(31 13)(11 0)(8 21)(29 36)(22 30)(35 13)(51 48)\n(15 5)(3 14)(4633)(31 52)(13 55)(1 37)(33 51)(12 21)(55 8)(19 60)(33 20)(42 50)(26 44)(3926)(48 51)(32 33)(33 13)(29 10)....”
第二张行列映射表:decompsoDT(hdt)→sdt[1]:
“(36 56)(31 33)(42 6)(24 42)(57 0)(35 9)(10 56)(8 12)(38 35)(47 55)(28 15)(49 28)(35 5)(39 17)(19 23)(50 4)(61 50)(7 44)(50 43)(28 37)(7 32)(1435)(10 6)(50 20)(9 44)(3 17)(4 56)(0 59)(3 24)(54 0)(14 29)(36 20)(0 5)(5311)(20 57)(54 25)(41 41)(40 18)(27 9)(0 14)(6 11)(39 26)(17 19)(33 63)(12 22)(25 61)(47 15)(25 43)(33 52)(11 0)(36 3)(22 35)(26 46)(14 11)(53 50)(29 44)(56 1)(28 40)(12 2)(44 53)\n(16 52)(43 10)(46 38)(41 25)(37 54)(53 28)(31 3)(63 44)(1 2)(22 31)(11 12)(54 44)(18 51)(3 8)(52 41)(59 52)(47 11)(43 39)(2814)(28 36)(52 23)(24 28)(43 19)(31 26)(34 48)(48 60)(9 8)(59 41)(22 41)(3418)(63 21)(7 39)(53 32)(59 11)(4 14)(45 55)(45 62)(11 2)(21 39)(22 22)(62 60)(54 5)(5 27)...”
第三张行列映射表:decompsoDT(hdt)→sdt[2]:
“(42 43)(56 50)(57 25)(20 20)(56 35)(51 11)(33 23)(0 47)(8 32)(5834)\n(61 9)(10 30)(23 47)(31 48)(1 13)(49 18)(5 47)(61 59)(34 44)(27 53)(2629)(18 29)(39 11)(59 31)(16 33)(41 2)(8 14)(4 29)(15 49)(52 1)(28 27)(33 12)(26 23)(22 36)(52 5)(27 47)(59 12)(13 16)(41 31)(63 63)(12 49)(42 22)(52 28)(24 62)(39 45)(11 36)(43 2)(14 53)(55 31)(36 42)(35 60)(23 26)(0 0)(32 37)(1815)(58 53)(47 42)(10 18)(17 23)(29 37)(33 25)(7 56)(56 26)(39 39)(15 55)(140)(34 16)(29 46)(15 42)(42 20)(40 29)(30 60)(5 40)(35 41)\n(22 59)(26 62)(3112)(45 20)(54 11)(3 10)(50 50)(2 27)(41 30)(40 39)(29 12)(26 51)(55 55)(3746)...”
第四张行列映射表:decompsoDT(hdt)→sdt[3]:
“(28 45)(20 38)(2 13)(45 5)(33 55)(41 55)(56 40)(35 25)(38 57)(42 9)(35 12)(49 17)(10 21)(56 41)(2 43)(51 53)(1 1)(4 21)(62 15)(25 58)(55 38)(572)(52 11)(57 31)(41 56)(60 39)(6 51)(26 42)(62 54)(10 11)(41 20)(41 54)(57 4)(52 35)(12 31)(21 50)(50 37)(24 1)\n(49 5)(48 24)(42 48)(63 11)(15 9)(44 34)(0 7)(10 7)(18 40)(20 47)(3 22)(32 46)(41 36)(13 9)(43 29)(33 43)(33 53)(2124)(29 8)(61 52)(31 20)(61 39)(62 43)(32 52)(49 44)(60 45)(20 22)(61 30)(1113)(7 45)(17 46)(48 37)(14 14)(32 13)(15 26)(62 29)(42 7)(39 10)(58 35)(3217)(48 56)(45 28)(43 42)(47 54)(2 51)(47 62)(51 51)(19 53)(20 51)(13 36)(3750)(58 1)(28 13)(52 53)...”
步骤二中提取水印生成的水印信息表,根据水印信息表,可直接还原成水印图像,此时还原出来的图像是经过Arnold置乱的,reWaterCodingPDT(wdt)→ddt:
"(19 6 0)(42 16 0)(13 42 0)(26 17 1)(63 32 0)(18 61 0)(49 38 1)(53 220)(16 13 0)(27 14 0)(1 18 0)(8 12 1)(34 56 0)(57 25 0)(27 31 0)(0 33 0)(42 210)(42 52 0)(46 60 0)(56 35 0)(17 10 1)(29 19 0)(58 49 0)(21 5 0)(7 11 1)(4741 1)(13 30 0)(51 62 0)(5 27 0)(12 63 0)(38 15 0)(26 40 0)(10 48 1)(49 26 1)(55 55 0)(13 51 1)(57 45 0)(13 43 0)(17 50 1)(52 47 0)(60 24 0)(51 8 0)(22 10)(23 58 1)(44 9 0)(4 46 0)(57 4 0)(41 0 1)(2 36 1)(47 39 0)(58 20 0)(22 290)(46 59 1)(38 23 0)(33 34 0)(3 3 0)(60 28 0)(52 54 0)(3 57 0)(42 7 0)(29 370)(63 2 0)(46 44 0)(28 53 0)\n(19 6 0)(42 16 0)(13 42 0)(26 17 1)(63 32 0)(1861 0)(49 38 1)(53 22 0)(16 13 0)(27 14 0)(1 18 0)(8 12 1)(34 56 0)(57 25 0)(27 31 0)..."
根据生成的水印信息表,还原出水印图像,即为附图6所示,此时的图像是经过Arnold置乱的,restorePic(ddt)→bmap_Water_Arnold:
根据用户输入的在嵌入时候输入的Arnold置乱次数rounds,对还原的图像进行Arnold逆置乱,得到最终的确权水印图像,即为附图5所示,图像如下reArnold(bmap_Water_Arnold,rounds)→bmap_Water:
本发明提出的方法解决了背景技术中存在的上述问题,具体表现在:
(1)基于ASCII码中28、29、30、31的4个不可见字符对水印信息的编码,使得编码后的信息能够同时包含水印图像的二值水印信号和每个水印信号的位置信息,解决水印载体无法被嵌入大量信息的问题。
(2)提出基于置乱扩散的水印嵌入提取算法。基于随机置乱思想对文本载体的嵌入位索引表进行置乱,通过行列映射算法将水印信息映射到文档载体中,实现水印信息到文档载体的均匀扩散,大大提高了鲁棒性。
通过基于置乱扩散思想的嵌入提取方法,将水印信息通过置乱扩散的方式多轮地、均匀地嵌入水印载体,提高鲁棒性。采用水印信息的编码方式,通过ASCII码中部分不可见字符的编码,将位置信息和水印信息编码成一个水印单元,实现嵌入大量水印信息。
本发明的主要参数说明如表1所示,行列扩散主要用表如表2所示。
表1主要参数表
Figure GDA0002553889770000111
表2行列扩散主要用例表
Figure GDA0002553889770000121
本发明未详述之处,均为本技术领域技术人员的公知技术。最后说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明技术方案的宗旨和范围,其均应涵盖在本发明的权利要求范围当中。

Claims (2)

1.一种基于置乱扩散的文本水印嵌入提取方法,其特征在于:所述方法包括步骤:一、水印嵌入,实现水印图像到宿主载体的均匀扩散;二、水印提取,实现确权水印图像的还原;
所述步骤一中,具体包括步骤:A、生成水印信息表;B、获取行列映射表;C、水印扩散;
所述步骤A为:首先对原图像进行二值化处理,得到二值图像;再通过Arnold置乱公式和用户密钥k对二值化图像进行Arnold置乱得到bmpb={b}m×m,其中b∈{0,1},然后对bmpb的每一个像素以行i∈[1,2,...,m]、列j∈[1,2,...,m]及水印信号值b∈{0,1}进行编码,得到水印信息表bmpw={w}m×m,其中wij=(i,j,b);所述步骤B为:首先对T={c}n×n进行行列扫描,读取嵌入位水印位置的行列值(i,j),生成可嵌入位索引表Tp={p}n×n,其中p=(i,j)∈[1,2,...,n]2;然后对Tp内的元素进行随机置乱,形成均匀置乱的索引置乱表T′p={p'}n×n;最后以bmpw为基础在T′p内随机选取多个不重复的同型矩阵,形成多个行列映射表D={d}m×m,其中dij=p′i′,j',T表示n×n的水印载体,c表示文档载体中的字符型数据;
所述步骤C为:根据水印信息表与行列映射表之间元素的对应关系,通过f:bmp×D→T将wij∈bmpw映射到dij∈D下宿主载体T对应的i'行j'列中,并重复此步骤,直到所有行列映射表均完成映射,最终得到含水印载体T'={c+w}n×n,其中,“+”为字符串连接符;
所述步骤二中,具体包括步骤:D、水印位点提取;E、还原置乱水印;F、水印信息还原;
所述步骤D为:首先按顺序扫描含水印文档T'={c+w}n×n,得到载体中的所有水印信号bmp'w={w'}n×n,其中,wi'j=(i',j',b),(i',j')∈[1,2,...,m]2;然后根据w′ij拥有的坐标行列信息(i',j')将水印信号b逆映射到水印图像对应的位置,得到多值水印信息集Wm×m={wij=(i,j,b1,b2,...bn)}i,j∈[1,2,...,m];所述步骤E为:对(i,j)位上的水印信号wij=(i,j,b1,b2,...bn)进行取众数处理b'←MaxFreq(b1,b2,...,bn),若众数不唯一,则该点信息提取失败,生成置乱的二值水印矩阵bmp'm×m
2.根据权利要求1所述的基于置乱扩散的文本水印嵌入提取方法,其特征在于:所述步骤F为:通过用户密钥k对bmp'm×m进行k轮Arnold逆置乱,还原出可识别的二值水印图像bmp',最终完成确权水印的重现。
CN202010262948.XA 2020-04-07 2020-04-07 一种基于置乱扩散的文本水印嵌入提取方法 Active CN111489278B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010262948.XA CN111489278B (zh) 2020-04-07 2020-04-07 一种基于置乱扩散的文本水印嵌入提取方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010262948.XA CN111489278B (zh) 2020-04-07 2020-04-07 一种基于置乱扩散的文本水印嵌入提取方法

Publications (2)

Publication Number Publication Date
CN111489278A CN111489278A (zh) 2020-08-04
CN111489278B true CN111489278B (zh) 2023-05-16

Family

ID=71810885

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010262948.XA Active CN111489278B (zh) 2020-04-07 2020-04-07 一种基于置乱扩散的文本水印嵌入提取方法

Country Status (1)

Country Link
CN (1) CN111489278B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109657426B (zh) * 2019-01-30 2023-08-15 贵州大学 一种基于数字签名和数字水印的数据溯源方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102306369A (zh) * 2011-07-13 2012-01-04 西安电子科技大学 基于行空间和字空间的抗打印扫描的二值文本图像水印算法
CN102880997A (zh) * 2011-05-26 2013-01-16 江苏技术师范学院 水印图像的嵌入方法
CN109191360A (zh) * 2018-08-17 2019-01-11 河南工业大学 基于置乱加密二维码的sar图像数字水印生成与解析方法及装置

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2001255445A1 (en) * 2000-04-17 2001-10-30 Digimarc Corporation Authentication of physical and electronic media objects using digital watermarks
CN100492401C (zh) * 2003-06-13 2009-05-27 上海师范大学 一种在二值图像上嵌入水印以及提取水印的方法
US20050063562A1 (en) * 2003-08-07 2005-03-24 Brunk Hugh L. Conveying fingerprint minutiae with digital watermarks
US8127137B2 (en) * 2004-03-18 2012-02-28 Digimarc Corporation Watermark payload encryption for media including multiple watermarks
US20120327450A1 (en) * 2006-07-19 2012-12-27 Advanced Track & Trace Methods and devices for securing and authenticating documents
CN101119429A (zh) * 2006-08-01 2008-02-06 北京北大方正电子有限公司 一种数字水印嵌入与提取的方法及装置
US9477884B2 (en) * 2012-06-14 2016-10-25 Digimarc Corporation Methods and systems for signal processing
CN109859093B (zh) * 2019-01-29 2022-12-27 中国民航大学 一种基于变参数混沌映射的混合变换域图像零水印方法
CN110084733B (zh) * 2019-04-19 2021-02-02 中国科学院自动化研究所 文本图像水印的嵌入方法及系统、提取方法及系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102880997A (zh) * 2011-05-26 2013-01-16 江苏技术师范学院 水印图像的嵌入方法
CN102306369A (zh) * 2011-07-13 2012-01-04 西安电子科技大学 基于行空间和字空间的抗打印扫描的二值文本图像水印算法
CN109191360A (zh) * 2018-08-17 2019-01-11 河南工业大学 基于置乱加密二维码的sar图像数字水印生成与解析方法及装置

Also Published As

Publication number Publication date
CN111489278A (zh) 2020-08-04

Similar Documents

Publication Publication Date Title
Alotaibi et al. Arabic text watermarking: A review
CN109840576A (zh) 基于分段嵌入的防复制二维码的生成方法及解码方法
Huang et al. Efficient scheme for secret hiding in QR code by improving exploiting modification direction
CN111489278B (zh) 一种基于置乱扩散的文本水印嵌入提取方法
CN110516775B (zh) 基于qr码用户秘密信息隐藏方法
Huang et al. Sudoku-based secret sharing approach with cheater prevention using QR code
CN116681098A (zh) 一种基于二维码生成的防伪标识图像的生成方法及系统
CN114817873A (zh) 基于形变的水印生成、读取方法及装置
CN112926087B (zh) 基于二维码具有验证功能与高嵌入容量的秘密共享方法
Yu et al. A message-based cocktail watermarking system
CN112184841B (zh) 块替换生成式信息隐藏及恢复方法、设备及介质
Tripathi et al. Invertible secret sharing: Using meaningful shadows based on Sorted Indexed Code
Zhang et al. Chinese text watermarking based on occlusive components
CN109840574B (zh) 一种二维码信息的隐藏方法、装置、电子设备及存储介质
Zhou et al. A QR data hiding method based on redundant region and BCH
Abdallah et al. An efficient SVD image steganographic approach
Abohamra et al. Hide Text within Image Watermarks by Employing the Least Significant Bit (LSB) Technique for Enhanced Data Security
Htun et al. Image Steganography using Bit Plane Complexity Segmentation
Salomon et al. Data hiding in text
CN115134142B (zh) 一种基于文件分割的信息隐藏方法及系统
Niu et al. Reference Sharing Mechanism‐Based Self‐Embedding Watermarking Scheme with Deterministic Content Reconstruction
Dong et al. Robust image data hiding method based on multiple backups and pixel bit weight
Najeeb Steganography Technique for Embedding a Variety of Binary Images inside a Grayscale Image
Yang et al. A Data Hiding Method Based on Partition Variable Block Size with Exclusive-or Operation on Binary Image
Abbass et al. American standard code for information interchange mapping technique for text hiding in the RGB and gray images

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