利用新型正交码构建防伪图形码的方法、防伪图形码及生成装置与流程

文档序号:22917006发布日期:2020-11-13 15:59阅读:160来源:国知局
利用新型正交码构建防伪图形码的方法、防伪图形码及生成装置与流程
本发明涉及防伪
技术领域
,特别是一种利用新型正交码构建防伪图形码的方法、防伪图形码及其生成装置。
背景技术
:二维码是用某种特定的几何图形按一定规律在平面(二维方向上)分布的、黑白相间的、记录数据符号信息的图形。由于其具备可识别的特性,具有一定的校验功能,所以已开始应用于防伪领域。cn106599761a公开了一种提取纹理图像细节特征的防伪识别方法,用专用软件生成包含码值信息的原始纹理图像,纹理图像中包括识别码区,每个识别码区包含一个细节特征区域,在细节特征区域中包含若干个墨点,使用普通打印设备或印刷设备将原始纹理图像植入到承印物表面,用专用识别仪器进行扫描和数据录入,该方法在识别码区中植入了微观纹理图像,可以在一定程度上实现防伪识别。但是cn106599761a公开的方法仍然存在很多缺陷。第一,该文献中对编码和微观纹理/编码结构没有任何具体说明,在因伪造、仿制或自然磨损,出现纹理模糊的情况下有可能发生混淆,难以达到该文献中声称的防伪性能。第二,该方法需要用专用的识别仪器进行识别,增加了硬件成本,灵活性差。第三,该文献是依靠提高纹理印刷的可重复性来克服识别的误判,仅依赖于印刷技术和图案设计的差别,没有在编码结构上做出数学上的深入考量,防伪性能的上限仅受限于印刷技术和图案设计。总之,该专利公开文献中的技术是一种很普通的技术,完全依赖于图像识别技术,仅考虑了图案中墨点的排列精度,这样设计出来的微观纹理结构是“被动的”,完全受限于图像识别硬件性能和印刷精度,在技术构思上缺少突破性。因鉴于此,特提出本发明。技术实现要素:本发明的目的在于提供一种利用新型正交码构建防伪图形码的方法、防伪图形码及生成装置,具有优良的正交性,抗共谋、抗噪声性能好,可以用于一物一码的防伪领域。为解决上述问题,第一方面,本发明实施例提供一种利用新型正交码构建防伪图形码的方法,包括如下步骤:在图形码上构造细微结构;将正交码作为数字指纹嵌入所述细微结构;其中,所述正交码的构造方法为:一级构造:构造码长为n、码距为d的正交码,即该正交码中的每个编码均由c1-cn这n个不同符号组成,且任意两个编码之间至少有d个位置上的符号不同,最多有n-d个位置上的符号相同;二级构造:构造一组具有正交性的子码,子码的个数是n,每个子码的码长为l;用n个子码分别替换一级构造中的n个符号,使得码长扩展到n·l,得到嵌入所述细微结构的正交码。第二方面,本发明实施例还提供了基于上述方法得到的防伪图形码,该防伪图形码具有细微结构,细微结构中嵌入有作为数字指纹的正交码,该正交码的构造方法同上。第三方面,本发明还提供了上述图形码的生成装置。与现有技术相比,本发明的具有如下有益效果:1、构造出来的正交码数量可以达到o(n3)甚至更高,作为数字指纹嵌入到图形码后,各个图形码之间具有很好的区分度,能够实现一物一码的防伪应用,且能够经受相当程度的模糊(噪声)攻击,以及共谋攻击;2、正交码构造由两级构造方式得到,使得进制、码数与分布都可以灵活设置,扩展了图形码生成系统的灵活度;3、码长n越大,最终生成的正交码的正交性能越理想,作为防伪应用时的区分度就更高,不容易导致混淆;4、防伪图形码宏观相同、微观不同,不妨碍手机等识别设备对其做一般性扫描,同时还能通过微观结构起到一物一码的防伪作用。附图说明图1为本发明实施例提供的防伪用新型正交码抗噪声攻击性能测试结果图;图2为本发明实施例提供的防伪用新型正交码抗共谋+抗噪声攻击性能测试结果图;(5拷贝平均+噪声)图3为本发明实施例提供的防伪用新型正交码抗共谋+抗噪声攻击性能测试结果图(2拷贝平均+噪声);图4为本发明实施例提供的防伪用新型正交码抗共谋+抗噪声攻击性能测试结果图(3拷贝平均+噪声);图5为本发明实施例提供的防伪用新型正交码抗共谋+抗噪声攻击性能测试结果图(8拷贝平均+噪声);图6为本发明实施例提供的防伪用新型正交码抗共谋+抗噪声攻击性能测试结果图(10拷贝平均+噪声);图7为本发明实施例提供的防伪用新型正交码抗共谋+抗噪声攻击性能测试结果图(12拷贝平均+噪声);图8为本发明实施例提供的防伪用新型正交码抗共谋+抗噪声攻击性能测试结果图(15拷贝平均+噪声);图9为本发明实施例提供的防伪用新型正交码抗共谋+抗噪声攻击性能测试结果图(18拷贝平均+噪声);图10为具有一致分布形式的正交二进制数字指纹方案抗共谋+抗噪声攻击性能测试结果图(单拷贝平均+噪声);图11为具有一致分布形式的正交二进制数字指纹方案抗共谋+抗噪声攻击性能测试结果图(2拷贝平均+噪声);图12为具有一致分布形式的正交二进制数字指纹方案抗共谋+抗噪声攻击性能测试结果图(3拷贝平均+噪声);图13为具有一致分布形式的正交二进制数字指纹方案抗共谋+抗噪声攻击性能测试结果图(5拷贝平均+噪声);图14为具有一致分布形式的正交二进制数字指纹方案抗共谋+抗噪声攻击性能测试结果图(6拷贝平均+噪声);图15为具有一致分布形式的正交二进制数字指纹方案抗共谋+抗噪声攻击性能测试结果图(8拷贝平均+噪声);图16为本发明实施例提供的防伪二维码的结构示意图;图17为图16在细微结构处的放大示意图;图18为n!个不同的码的序写示意图;图19为n!个不同的码中差异度最大的码的序写示意图;图20为n!个不同的码中要求任意两个码在相同位置上的符号最多可以有1次相同的码的序写示意图。具体实施方式下面将参考附图中示出的若干示例性实施方式来描述本发明的原理和精神。应当理解,描述这些实施方式仅仅是为了使本领域技术人员能够更好地理解进而实现本发明,而并非以任何方式限制本发明的范围。首先,发明人结合作出本发明创造的历程,介绍本发明实施例提供的一种利用新型正交码构建防伪图形码的方法及防伪图形码,应当理解的是,下文中述及的创造历程也是发明人经过长期研究,付出了巨大的创造性劳动得到的,其和本发明实施例提供的新型正交码构建防伪图形码的方法及防伪图形码作为一个整体,突显出本发明的创造性。正交码是应用非常广泛的编码。目前有几种技术可以生成正交或准正交码,如m序列、gold序列、以及walsh码。这些技术已经在现代数字通信系统中得到广泛应用,关于这些码的性能也有很多研究。但诞生于数字通信领域的这些码在新的应用场景下存在严重缺陷,如码的数量、进制、分布、相关性,等等。一般来说,不考虑移动通信的新应用场景通常不考虑自相关性(移动相关性),具备良好自相关性的意义不大。在码长为n的前提下,m序列若要保持优良的正交性,或者说互相关性,码的数量严重不足。glod序列从m序列中导出,正交性良好,能提供数量更多的码,但2n+1的数量仍然严重不足。walsh码则是正交性完美的码,但是n的数量同样严重不足。此外应注意到这三种码都是面向二进制的,并且都是均匀分布的(gold序列除外,有一部分非均匀分布)。如果我们在码的数量、进制或者分布等方面有更高或更灵活的要求,我们就很难利用上述编码。因此,本发明考虑一种新的正交码构建方法。<新型正交码设计方案>考虑n个不同符号构成的n位码,要求每个符号刚好出现一次。显然它们能构成n!个不同的码,按照字典序写出如图18所示。出于正交性的考虑,发明人希望在n!个不同的码中寻找到彼此之间差异度足够大的一组码。所谓码之间的差异度,就是任意两个码在相同位置上的符号的相同度的累加。差异度最大的码是所有位置上的符号都不相同,对于n位码来说,此时码的最大数量为n(这样的数量不够充足),如这样的一组顺序移位而形成的码如图19所示。如果将差异度的要求降低一些,要求任意两个码在相同位置上的符号最多可以有1次相同,若码长n足够大,差异度也将足够好,而此时码的最大数量为n•(n-1),相当于提升了一个幂次。在略微牺牲差异度的情况下得到升幂的数量,发明人认为这是有吸引力的。如这样的一组码(固定首个符号之后依然进行顺序移位)如图20所示。至此已经发现,上面的由顺序移位方式形成的码仅仅在局部具有符合要求——最多只有一个位置上的符号相同——的差异度,整体看完全不符合所要求的较好的差异度。这意味着这种简单移位的方式并不能帮我们找到符合要求的较大差异度的码。寻找这样的码需要利用置换群的知识。如果将差异度的要求再降低一些,要求任意两个码在相同位置上的符号最多可以有2次相同,若码长n足够大,差异度也是足够好的,而此时码的最大数量为n•(n-1)•(n-2),又提升了一个幂次。在差异度损失不大的情况下得到升二次幂的数量,这可能有更大的吸引力。然而正如上面所看到,必须利用比较复杂的如置换群的知识才能得到这样的码。下面举例说明。当n=5时,以不同数字代表符号种类,一共有5!=120个不同的码:12345、12354、12435、…、54321。如果要求码距d=n=5,即要求任意两个码之间没有任何位置上的符号相同。则满足此要求的编码的数量最多是5。如以下某个具体的编码构造:{12345,23451,34512,45123,51234}如果要求码距d=n-1=4,即至少有4个位置上的符号不同,最多有1个位置上的符号相同,则最多有5•4=20个编码满足此要求。如以下某个具体的构造:{12345,13452,14523,15234,21354,23541,25413,24135,31425,34251,32514,35142,41532,45321,43215,42153,51243,52431,54312,53124}如果要求码距d=n-2=3,即至少有3个位置上的符号不同,最多有2个位置上的符号相同,则最多有5•4•3=60个编码满足此要求。如以下某个具体的构造:{12345,12453,12534,13254,13542,13425,14523,14235,14352,15432,15324,15243,21354,21543,21435,23145,23451,23514,24153,24531,24315,25134,25341,25413,31245,31452,31524,32154,32541,32415,34512,34125,34251,35421,35214,35142,41532,41325,41253,45123,45231,45312,43215,43152,43521,42351,42513,42135,51423,51234,51342,54132,54321,54213,52314,52143,52431,53241,53412,53124}显然,如果n比较大(n>30),将发生组合数量爆炸,利用stirling近似公式可知n!是一个极为巨大的数,符合特定码距要求的编码很难穷举寻找。需要注意的是,如果n比较大并且d也比较大接近于n时,这样的编码很适合用于生成准正交编码。例如,考虑n=100、d=98,则意味着由100个不同符号组成的码长为100的编码{c1c2c3…c100,c1c2c4…c100c3,…,},其编码的数量可能高达100•99•98=98万,并且其中任意两个编码之间,在100个符号的码长规模里最多只有两个位置上的符号相同,如此之大的差异度可以满足许多应用需求。在此编码基础上,可以这样构造二进制(或者其它任何进制)的准正交编码:首先,采用传统的m序列或者walsh码或者其它任何方式生成100个彼此之间具有极佳正交性的长度一致为l的子码{a1,a2,…,a100};然后,利用前面的编码序列,用ai子码替换ci符号,使得上述的100•99•98个准正交的编码,每个编码都有a1、a2、…、a100以不同的次序各出现一次。显然,最终编码的长度将扩展为100•l,并且任意两组编码之间的正交性相当理想,因为同一个ci位置上的子码以超过98%的概率做到了彼此正交。如果我们令子码是超正交的(即它们的内积不是0而是负数),我们还可以构造出具有超正交性的编码。综上,可以归纳出正交码的构造方法:一级构造:构造码长为n、码距为d的正交码,即该正交码中的每个编码均由c1-cn这n个不同符号组成,且任意两个编码之间至少有d个位置上的符号不同,最多有n-d个位置上的符号相同;二级构造:构造一组具有正交性的子码,子码的个数是n,每个子码的码长为l;用n个子码分别替换一级构造中的n个符号,使得码长扩展到n·l,得到嵌入所述细微结构的正交码。具体可以将上述正交码的构造方法编写成函数库,并提供api,在生成图形码的细微结构时,编写相应的细微结构生成程序,同时调用该函数库,将正交码嵌入到细微结构中,生成图形码。上述方法的显著优点包括:1、构造出来的正交码数量可以达到o(n3)甚至更高;2、两级构造方式使得进制、码数与分布都可以灵活设置;3、n越大,正交性能越理想。特别注意的是,该编码最终呈现的正交性能严重依赖于初始子码的正交性。如果初始子码子码是精确正交的,最终的n•(n-1)(此时码距d=n-1)或n•(n-1)•(n-2)(此时码距d=n-2)个正交码将具有比精确正交略差的正交性。如果初始子码有恰当的超正交性,最终的n•(n-1)或n•(n-1)•(n-2)个正交码将具有相当理想的正交性。子码的选取是十分灵活的。为了下文方便描述,发明人将此新型正交码命名为格林码(greencode)。码距d=n的格林码称之为格林1码,其数量为n。码距d=n-1的格林码称之为格林2码,其数量为n•(n-1)。码距d=n-2的格林码称之为格林3码,其数量为n•(n-1)•(n-2)。考虑到子码具有l长度,格林码最终码长并非为n,而是n•l。从数量上考虑,格林1码不如m序列、gold序列或walsh码,很可能不具有应用价值,有价值的是格林2码和格林3码。当n比较大时,格林4码或更高码,在继续略微牺牲正交性的基础上应该会具有更多的数量,因此也是有价值的。后面将会解释为何格林4码或更高码不是本发明讨论的重点。下面给出一个关于该编码正交性的粗略估算,子码利用寻常已知的正交码。首先,正交性能(其绝对值大于等于0小于1)大体可以定义为:向量的内积除以向量的长度。然后,假设这种编码由n个不同符号构成,其每个符号(即ci)用码长为n的walsh码(即子码ai)来表示,每个walsh码之间显然可以做到完全正交。该编码最终扩展成长度为l=n•n的二进制形式,其正交性能<=2/n,与二进制的长度同样为l的gold码的正交性一致。如果对这些码长为n的walsh码稍加裁剪,去掉每个码的第一个元素,令walsh码之间具有内积为-1的超正交性并作为编码的子码,则该编码最终扩展成长度为l=n•(n-1)的二进制形式,其正交性能<=1/(n-1),明显优于同样码长的gold码的正交性。<新型正交码构建实例>下面给出一个新型正交码设计实例。令符号种类n=4{c1、c2、c3、c4},子码长l=3。如果要求码距d=n-1=3,可以得到码长为4•3=12、数量为4•3=12的格林2码。如果要求码距d=n-2=2,可以得到码长同样为4•3=12、但数量增大至4•3•2=24的格林3码。显然格林3码的正交性弱于格林2码。在这个实验中选择格林2码。当符号种类n较大时,找到格林码必须使用某种数学技巧,后面将有详细说明。这个实例n很小,使用穷举搜索即可。第一步,得到格林2码的全部4•3=12个正交码如下:{c1c2c3c4,c1c3c4c2,c1c4c2c3,c2c1c4c3,c2c3c1c4,c2c4c3c1,c3c1c2c4,c3c2c4c1,c3c4c1c2,c4c1c3c2,c4c2c1c3,c4c3c2c1}。可验证其正交性(码距)。第二步,根据符号数n=4以及子码长度l=3,构造子码ci。对于子码的要求是:相互之间需要保持尽可能好的正交性,并且子码的权重之和满足特定要求,例如此情况下的均值为0的要求。利用码长为4、数量为4的walsh码:1,1,1,1,1,0,1,0,1,1,0,0,1,0,0,1,每个码去掉首位元素正好可以满足上面关于子码的要求:c1:1,1,1,c2:0,1,0,c3:1,0,0,c4:0,0,1,以具体的子码替换ci,最终得到的格林2码如下:c1c2c3c4:1,1,1,0,1,0,1,0,0,0,0,1,c1c3c4c2:1,1,1,1,0,0,0,0,1,0,1,0,c1c4c2c3:1,1,1,0,0,1,0,1,0,1,0,0,c2c1c4c3:0,1,0,1,1,1,0,0,1,1,0,0,c2c3c1c4:0,1,0,0,0,1,1,0,0,1,1,1,c2c4c3c1:0,1,0,1,0,0,1,1,1,0,0,1,c3c1c2c4:1,0,0,1,1,1,0,1,0,0,0,1,c3c2c4c1:1,0,0,0,1,0,0,0,1,1,1,1,c3c4c1c2:1,0,0,0,0,1,1,1,1,0,1,0,c4c1c3c2:0,0,1,1,1,1,1,0,0,0,1,0,c4c2c1c3:0,0,1,1,0,0,0,1,0,1,1,1,c4c3c2c1:0,0,1,0,1,0,1,1,1,1,0,0,为了进行对比,选择同样码长为12的walsh码。walsh码是从12阶hadamard矩阵中导出的:1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,0,1,1,1,0,0,0,1,0,1,0,0,1,0,1,1,1,0,0,0,1,1,1,0,0,1,0,1,1,1,0,0,0,1,0,1,0,0,1,0,1,1,1,0,0,1,0,0,1,0,0,1,0,1,1,1,0,1,0,0,0,1,0,0,1,0,1,1,1,1,1,0,0,0,1,0,0,1,0,1,1,1,1,1,0,0,0,1,0,0,1,0,1,1,1,1,1,0,0,0,1,0,0,1,0,1,0,1,1,1,0,0,0,1,0,0,1,1,1,0,1,1,1,0,0,0,1,0,0,为了保持权重的一致性,去掉上面walsh码表的第一行,这样有11个码长为12的walsh码作为对照码。与前面所构造的格林2码具有相同的码长与权重。在相同的并发数量以及噪声尺度下,测试格林2码与walsh码的误检测率与检出率。典型地,可以令码的并发数量为5,噪声尺度<=8,得到如下结果:误检率green2码检出率walsh码检出率误检率green2码检出率walsh码检出率误检率green2码检出率walsh码检出率误检率green2码检出率walsh码检出率………0.010.0780.0710.110.3630.3440.210.5280.5070.0010.0160.0140.020.1240.1140.120.3840.3630.220.5420.5210.0020.0260.0230.030.1610.1490.130.4020.3810.230.5550.5340.0030.0340.0300.040.1940.1800.140.4200.3990.240.5680.5470.0040.0420.0370.050.2250.2090.150.4370.4150.250.5800.5590.0050.0490.0430.060.2510.2350.160.4530.4320.260.5920.5720.0060.0550.0490.070.2770.2600.170.4690.4470.270.6040.5830.0070.0620.0550.080.3000.2830.180.4840.4630.280.6160.5950.0080.0680.0610.090.3220.3040.190.4990.4780.290.6280.6060.0090.0730.0650.100.3440.3240.200.5140.4930.300.6390.617可以看到格林2码的性能优于walsh码。这并不令人惊讶,因为所构造的格林2码相互之间除了完全正交的部分外,其它部分能够达到超正交,而相同码长和权重的walsh码仅能够做到完全正交。需要说明的是,此实例的检出率很低且误检率很高,仅仅是因为码长太低(n=12)的原因,如果码长足够长(相当于拥有很高的带宽),将有足够高的检出率和足够低的误检率。另外,数量为n•(n-1)、码长为n•l的格林2码通常具有与walsh码(码长与码数相当)相近似的数量。此实例仅仅为了证明格林2码性能略优于walsh码。如果使用格林3码,在正交性略微下降的情况下得到n•(n-1)•(n-2)的数量,将远远高于walsh码,从而获得更多的实用性。<利用置换群理论寻找新型正交码>为了抵抗典型的多拷贝共谋+噪声攻击,只有足够的码长(意味着足够的带宽)才有实用价值。当然码之间也需要保持足够好的正交性。因此,如何寻找n较大时的新型正交码是必须解决的技术问题。如前所述,如果n比较大(如n>30),将发生组合数量爆炸,不可能在n!中通过穷举搜索找到数量多达n•(n-1)或n•(n-1)•(n-2)的符合特定码距要求的新型正交码。发明人已经证明,精确1重传递群恰好是我们所需要的编码数量为n、码距d=n的正交码集合,精确2重传递群恰好是我们所需要的编码数量为n•(n-1)、码距d>=n-1的正交码集合,精确3重传递群恰好是我们所需要的编码数量为n•(n-1)•(n-2)、码距d>=n-2的正交码集合。精确多重传递群与我们所寻求的高差异度的编码集合有密切的关系,这个能够证明的较为高级的数学事实并不难理解,但以往尚未有人注意到。从应用的角度来说,必须注意到这样一个数学上的事实,即有无穷多个精确2重和3重传递群,但精确的4重和5重传递群却只各有一个(甚至不精确的也只有一两个),它们的阶分别是m11=11•10•9•8和m12=12•11•10•9•8(由于n太小,正交性显然不理想不实用),大于等于6重的传递群则已被证明并不存在。所幸的是,一般而言精确3重传递群(即d=n-2)所提供的编码数量已经比较充分。这时编码数量可以达到m=n•(n-1)•(n-2),当n比较大时,m的数值可以满足实际需求。如同证明素数有无穷多个和尽可能巨大一样,数学家们喜欢证明一个规律的存在并常常到此为止。发明人从工程领域考虑,为了能够投入应用,还必须获得具体的精确2重或3重传递群,就像必须获得具体的素数一样。当这种新型的正交编码与精确多重传递群联系在一起以后,发明人就有真正的手段来获得这种新型编码。发明人此时面临的主要问题是,由于这种编码方式所固有的结构,为了获得足够好的正交性和足够多的编码数量,我们需要得到n比较大时的精确2重或3重传递群。根据可能的应用性,按照保守的估计,n需要在103量级。这样我们可以得到数以百亿计的编码。数学家已经证明,精确2重传递群的次数是pm,精确3重传递群的次数是pm+1,p是素数。也就是说,精确2重传递群的元素码长一定是pm,而精确3重传递群的元素码长一定是pm+1。次数为pm意味着精确2重传递群很可能与有限域概念发生联系。事实上正是如此。已经证明了在有限域上存在精确2重传递群。利用有限域,我们能够完全确定n个符号下(即n=pm)精确2重传递群的具体构成。例如这样一种方法:利用有限域可以构造有限几何,其上的点和线为有限域所确定的仿射平面,其中关于各种斜率的线平行类即构成一个精确2重传递群。事实上这也是pm-1个正交拉丁方的一种构造方法。如果将该正交拉丁方组的每一行视为一个置换,那么全部n-1个n阶拉丁方刚好构成一个精确2重传递群。具体利用有限域构造线平行类涉及到有限域下的不可约多项式。目前并没有完美的数学方法能够确定任意次的不可约多项式(就如同没有完美的方法确定任意大的素数一样),但已经寻找到的不可约多项式(至少就2m而言)是极为够用的。同样,精确3重传递群也可以由几种方法构造产生。一个典型的方法是,射影一般线性群pgl(2,q)在一维射影平面即射影直线pg(1,q)上q+1个点上的作用是精确3重传递的。这个已经被证明的定理从根本上为我们提供了寻找精确3重传递群的思路。无论如何构造,精确多重传递群的特点是所有群元素都可以由很少几个生成元通过置换乘法得到。具体来说,精确2重传递群有2个生成元{g1,g2},精确3重传递群有3个生成元{g1,g2,g3}。可以证明精确2重传递群的生成元{g1,g2}具有这样的形式:g1=(1)(n-1轮换)g2=(2轮换)(2轮换)…(2轮换)。如果n为奇数将有一个不动点。可以证明精确3重传递群的生成元{g1,g2,g3}具有这样的形式:g1=(1)(2)(n-2轮换)g2=(2轮换)(2轮换)…(2轮换)。如果n为奇数将有一个不动点。g3=(2轮换)(n-2轮换)可以证明如果g1中的n-2轮换设置成顺序递增的形式,即g1=(1)(2)(3456…n)时,则g3具有除2轮换(21)之外顺序循环递减的形式,即g3=21n[n-1][n-2]…43。与码距d=n-1、n-2的情况类似,如果令d=n-3,意味着新型正交码的数量可能继续增大n-3倍,达到m=n•(n-1)•(n-2)•(n-3)。但前面已经说到,精确4重传递群只有n很小的1个,寻找更多新型正交码的企图无法以精确多重传递群的方式实现。不过,继续寻找正交性略微损失而数量得以扩张的新型正交码,应该是有意义的。<抵抗共谋+噪声攻击的新型正交码设计实例与性能实验>根据前述方案,本发明给出一个更有实用性的正交码设计实例。第一步,寻找n=33、d>=31情况下的新型正交码,即n=25+1=33精确3重传递群。我们将有33*32*31=32736个正交码。根据stirling近似公式可以知道,这些编码的搜索空间是33!≈14*1233≈1036,完全是无法穷举搜索的。根据前面提出的正交码构建思想,我们只需找到3个生成元{g1,g2,g3},就可以生成全部32736个准正交码。本文找到3个生成元(以数字代替符号表示)如下:g1:123456789101112131415161718192021222324252627282930313233124567891011121314151617181920212223242526272829303132333g2:123456789101112131415161718192021222324252627282930313233132173182861319222792623334251021201115301814127322452916g3:123456789101112131415161718192021222324252627282930313233213332313029282726252423222120191817161514131211109876543使用这3个生成元进行前面提出的多重置换运算,生成全部32736个正交码。任意两个码字之间最多只有两个位置上的元素相同。第二步,为了体现该编码适合多进制的特点,根据高斯分布的要求,构建一组子码。子码的个数是33,码长17。这个码长是满足高斯分布的最简形式,包括7个0、4个1、4个-1、1个2、1个-2。本实施例构造的33个子码的正交性只能说是尚可,应该还有很多改进机会。第三步,用33个子码代表第一步的33个元素,扩展成码长为33*17=561、数量为32736的准正交码。这就是我们所需要的最终的多进制正交码。这种多进制正交码很适合作为数字指纹嵌入到任何图像中,对于图像只有轻微的几乎不可感知的扰动。由于良好的正交性,类似于多用户的扩频通信,可以预期它具有抗共谋、抗噪声的品质。测试抗噪声攻击性能。在32736个正交码数字指纹{f1(l)、f2(l)、…fx(l)…、fn(l)}中,随机选取一个数字指纹序列fr(l),r=15000,对其施加一个随机的呈正态分布n(0,1)的噪声n(l),得到一个新的扰动过的数字指纹fp(1)=fr(l)+n(l)。使用最简单的相关性运算进行检测:fp(l)*fx(l),*表示两个指纹向量的内积。相关性测试得到图1中的结果:测试抗共谋+噪声攻击性能。多拷贝平均是一种典型的共谋攻击类型:攻击者将同一多媒体产品的多个嵌入不同数字指纹的拷贝的内容数据进行算数平均,从而产生混淆过的文档。为了增强指纹的擦除效果,通常还附加一个噪声信号。在数字指纹库{f1(l)、f2(l)、…、fn(l)}中,随机选取5个数字指纹序列f5000(l)、f12000(l)、f16000(l)、f21000(l)、f29000(l),将它们分别与模拟的原始内容数据h相加后进行算数平均,再施加一个随机的呈正态分布n(0,1)的噪声n(l),得到一个新的扰动过的数字指纹:fp(l)=[h+f5000(l)+h+f12000(l)+h+f16000(l)+h+f21000(l)+h+f29000(l)]/5+n(l)。进行相关性运算时,首先需要去除原始内容数据,然后进行如下检测:[fp(l)-h]*fx(l),*表示两个指纹向量的内积。相关性测试得到结果如图2所示。抗共谋规模测试。虽然高斯分布的正交数字指纹是最优的,但发明人注意到既有的理论研究结论,如果共谋的规模超过o(sqr(n/logn)),n为指纹长度,在多拷贝平均附加噪声的攻击模式下,无论采用何种编码方案,共谋者都有可能击败数字指纹——检测不到,或者在某个不太低的概率下错误指证了某个清白的用户。如果检测方案无法检测出盗版者,这种结果固然不幸,而对于严肃的法律追究来说,不太低概率下的误指证更是灾难性的,将动摇整个应用基础。因此,研究共谋的规模很有价值和必要。假设共谋攻击仍然采用多拷贝平均附带噪声的方式,实验分别模拟了(a)2拷贝平均+噪声(r1=5000,r2=21000);(b)3拷贝平均+噪声((a)样本点,16000);(c)5拷贝平均+噪声((b)样本点,12000,29000,见图2);(d)8拷贝平均+噪声((c)样本点,2000,22000,27000)(e)10拷贝平均+噪声((d)样本点,6000,18000)(f)12拷贝平均+噪声((e)样本点,3000,8000)(g)15拷贝平均+噪声((f)样本点,4000,11000,25000)(h)18拷贝平均+噪声((g)样本点,13000,22000,26000)等多种尺度下的抗共谋性能。结果见图3-9。作为对比,本实施例对具有一致分布形式的正交二进制数字指纹方案也进行了实验检测。检测方法与前面描述的关于高斯分布的数字指纹的检测类似。本文采用walsh码作为检测对象,walsh码具有最好的正交性,并且除了一个码字之外,其余所有码字都具有一致性分布[-1,1]的形式。为了与前面的高斯分布的码长保持大体相等,选用码长为512的walsh码,码的数量是511,均值和方差同样是(0,1)。共谋攻击类型仍然采用多拷贝平均+噪声攻击的形式。实验分别模拟了:(a)单拷贝+噪声(r=80);(b)2拷贝平均+噪声(r1=80,r2=324);(c)3拷贝平均+噪声((b)样本点,428);(d)5拷贝平均+噪声((c)样本点,203,501);(e)6拷贝平均+噪声((d)样本点,246)(f)8拷贝平均+噪声((e)样本点,37,115)等多种尺度下的抗共谋性能。结果见图10-15:结论:无论从进制灵活性、信噪比还是编码数量,walsh码性能不及本实施例提供的格林码。<新型正交码用于二维码防伪>通常,正交码在防伪领域的应用场景为音视频等多媒体。在音视频内容上嵌入正交码作为数字指纹,是之前的防伪缉盗、版权保护的方式。在手机互联时代,二维码是非常流行的关键性应用,几乎出现在一切有包装盒或表面印刷的产品中。二维码原本只是一个容量大大高于条形码的二维条码,不像多媒体那样天然拥有丰富的内容。但二维码毕竟是可视的,若能用二维码实现防伪,将大大扩展防伪的应用领域。若能在二维码中嵌入一物一码的数字指纹,将有助于二维码实现防伪功用。本发明的设计的二维码防伪方案是这样的。对于同一款产品,它们将拥有宏观上统一的二维码,方便检索共同的商品信息。但在二维码的精细微观结构上,我们对诸多纯黑色的码块进行一定程度的改造,使其只是大概看起来是黑色(不妨碍手机对其做一般性扫描),而实际上黑色码块拥有丰富而彼此不同的细微结构,细微结构可以是边缘不同尺度的锯齿,可以是内部黑白点阵。如图16所示,然后用前文的方法构造出正交码(如格林2码、格林3码),作为数字指纹嵌入到细微结构中。作为示例,仅在二维码的最上面七行设置了精细结构,实际上精细结构应该充满所有黑色码块。理论上二维码这样的精细结构是可以实现的。一般精细程度的印刷品是300dpi,即每英寸长度容纳300个像素点,平均每毫米容纳10-12个点。虽然肉眼很难发现如此精细的结构,但摄像头可以轻易辨认。这是二维码可设置微观精细结构的基础。二维码精细结构局部放大图如图17所示。二维码在容量上有多种尺度,行列从21*21到177*177不等,黑色码块和白色码块大约各占一半。一物一码的数字指纹只嵌入到黑色码块。考虑到二维码的黑色码块需要维持足够的黑色,一个典型的一英寸见方的二维码,能够容纳的有效像素点至少是100*100。如果设置成非黑即白的二进制信息,码长则>=10000。以此码长设计并嵌入正交码。如果令子码的长度为大约100,子码的数量为大约100,将得到长度约为10000的最终码长。如果使用精确3重传递群,将有大约1003=100万个正交码作为数字指纹供产品使用。如本文之前的分析,这些宏观相同、微观不同的二维码,用于一物一码,必然能够经受相当程度的模糊(噪声)攻击,以及共谋攻击。<防伪图形码生成装置>本发明实施例还提供了一种防伪图形码生成装置,包括:编码模块,所述编码模块用于构造正交码。编码模块具体包括:一级构造模块:构造码长为n、码距为d的正交码,即该正交码中的每个编码均由c1-cn这n个不同符号组成,且任意两个编码之间至少有d个位置上的符号不同,最多有n-d个位置上的符号相同;二级构造模块:构造一组具有正交性的子码,子码的个数是n,每个子码的码长为l;替换模块:用n个子码分别替换一级构造中的n个符号,使得码长扩展到n·l,得到用于嵌入所述细微结构的正交码。进一步,防伪图形码生成装置还包括:正交码嵌入模块,用于在图形码(如二维码)上构造出细微结构,并将正交码嵌入到所述细微结构中,以便图形码能够被识别设备识别出来。应当理解的是,上述各模块的功能和执行流程与上文中防伪图形码构建方法的步骤一一对应,具体的技术细节可以采用上文中对应方法中的内容,于此不再赘述。<用于生成防伪图形码的存储介质>本发明实施例还提供防伪图形码生成的存储介质,其中存储有能够被处理器执行的计算机程序,计算机程序在运行执行如下步骤:在图形码上构造细微结构;将正交码作为数字指纹嵌入所述细微结构;其中,所述正交码的构造方法为:一级构造:构造码长为n、码距为d的正交码,即该正交码中的每个编码均由c1-cn这n个不同符号组成,且任意两个编码之间至少有d个位置上的符号不同,最多有n-d个位置上的符号相同;二级构造:构造一组具有正交性的子码,子码的个数是n,每个子码的码长为l;用n个子码分别替换一级构造中的n个符号,使得码长扩展到n·l,得到嵌入所述细微结构的正交码。应当理解的是,上述程序的执行流程与上文中防伪图形码构建方法的步骤一一对应,具体的技术细节可以采用上文中对应方法中的内容,于此不再赘述。本发明的实现和本文中提供的所有功能操作可以用数字电子电路、或者用计算机软件、固件或硬件,包括本说明书及其结构等同方案中所公开的结构、或者其中的一个或多个的组合来实现。本公开的实现可以实现为一个或多个计算机程序产品,即在计算机可读介质上编码的计算机程序指令的一个或多个模块,这些指令由数据处理装置来执行或者用以控制数据处理装置的操作。该计算机可读介质可以是机器可读存储设备、机器可读存储基片、存储器设备、影响机器可读传播信号的组合物或者其中的一个或多个的组合。术语“数据处理装置”涵盖用于处理数据的所有装置、设备和机器,包括例如可编程处理器、计算机或者多个处理器或计算机。除了硬件之外,该装置可以包括为所描述的计算机程序创建执行环境的代码,例如构成处理器固件、协议栈、数据库管理系统、操作系统或者其中的一个或多个的组合的代码。计算机程序(也称为程序、软件、软件应用、脚本或代码)可以用任何形式的编程语言(包括编译语言或解释语言)来编写,并且计算机程序可以用任何形式来部署,包括作为独立程序或者作为模块、部件、子例程或者适合在计算环境中使用的其他单元。计算机程序并非必须对应于文件系统中的文件。程序可以存储在保持其他程序或数据(例如标记语言文档中所存储的一个或多个脚本)的文件的部分中,存储在专用于所描述的程序的单个文件中,或者存储在多个协同文件(例如存储一个或多个模块、子程序或者代码的部分的文件)中。计算机程序可以被部署成在一个计算机上来执行,或者在位于一个站点处或分布在多个站点处且通过通信网络互连的多个计算机上来执行。本发明中所描述的过程和逻辑流可以由执行一个或多个计算机程序的一个或多个可编程处理器来执行以通过操作输入数据并且生成输出来执行功能。该过程和逻辑流也可以由专用逻辑电路来执行,并且装置也可以实现为该专用逻辑电路,该专用逻辑电路例如为fpga(现场可编程门阵列)或者asic(专用集成电路)。适合执行计算机程序的处理器包括例如通用和专用微处理器二者、以及任何种类的数字计算机的任何一个或多个处理器。通常,处理器从只读存储器或者随机存取存储器或者二者接收指令和数据。计算机的元件可以包括用于执行指令的处理器以及用于存储指令和数据的一个或多个存储器设备。通常,计算机还将包括一个或多个海量存储设备以便存储数据,或者该计算机在操作上耦合以从海量存储设备接收或向海量存储设备传送数据或者二者,该海量存储设备例如是磁盘、磁光盘或者光盘。然而,计算机不需要具有这样的设备。此外,计算机可以嵌入在另一设备中,该另一设备例如为移动电话、个人数字助理(pda)、移动音频播放器、全球定位系统(gps)接收器等。适合存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、介质和存储器设备,包括例如:半导体存储器设备,如eprom、eeprom和闪存设备;磁盘,如内置硬盘或可移除盘;磁光盘;以及cdrom和dvd-rom盘。该处理器和存储器可以用专用逻辑电路来补充或者并入该专用逻辑电路中。为了提供与用户的交互,本发明实施例的实现可以在具有用于向用户显示信息的显示设备(例如crt(阴极射线管)或lcd(液晶显示器)监视器)以及键盘和定点设备(例如鼠标或跟踪球,通过其用户可以向计算机提供输入)的计算机上来实现。也可以使用其他种类的设备来提供与用户的交互;例如,向用户提供的反馈可以是任何形式的感觉反馈,例如视觉反馈、听觉反馈或者触觉反馈;并且来自用户的输入可以以任何形式来接收,包括听觉、语音或触觉输入。本文中应用了具体个例对发明构思进行了详细阐述,以上实施例的说明只是用于帮助理解本发明的核心思想。应当指出,对于本
技术领域
的普通技术人员来说,在不脱离该发明构思的前提下,所做的任何显而易见的修改、等同替换或其他改进,均应包含在本发明的保护范围之内。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1