基于i码和cff码的抗合谋指纹编码方法

文档序号:9472184阅读:599来源:国知局
基于i码和cff码的抗合谋指纹编码方法
【技术领域】
[0001]本发明涉及一种基于I码和CFF码的抗合谋指纹编码方法,属于信息安全技术领域。
【背景技术】
[0002]抗合谋指纹技术能够从多用户合谋伪造数字资源内容中识别出参与者(称为叛逆者),为依法惩治叛逆者提供法律证据,保护数字资源信息安全。该技术是目前常用的数字资源盗版追踪技术,广泛应用于数字资源知识产权保护、数字资源分发控制、数字取证与追踪等诸多领域。在信息安全上升为国家战略和全面实施国家知识产权事业发展“十二五”规划的大背景下,该技术拥有巨大的应用潜力和商业价值,引起了国内外广泛的关注和研究。
[0003]抗合谋指纹技术研究分为抗合谋指纹编码、指纹编码嵌入提取、叛逆者追踪三个方面。抗合谋指纹编码是本技术的基础和关键,其性能优劣直接决定最终叛逆者追踪效果。
[0004]抗合谋指纹编码问题来源:衡量抗合谋指纹编码的性能指标主要有最大抗合谋人数r、指纹编码效率n、编码距离d。η为用户数t和编码长度η的比值,表示每个比特能区分的不同用户数量,η值越大编码效率越高;d为两个编码对应位置上比特值不同的位数,d值越大两个编码差异性越大。
[0005]常用抗合谋指纹有I码、BIBD码、CFF码三种。I码η =1,每个不同用户需要一个不同比特表示,不适合大量用户的场合,码距始终为2,抗干扰能力差。基于组合理论的BIBD码和CFF码的码距大,抗干扰能力强,能够提高编码效率,但随着抗合谋参数值增大,由于排列组合数目快速增加,编码算法时空效率下降,存在构建大参数编码困难的问题(BIBD构造难度大于CFF),制约了其广泛应用。

【发明内容】

[0006]发明目的:本发明提出了一种以小参数CFF码为内码、I码为外码生成级联编码的新指纹编码方法,有效降低了编码难度、提高了编码效率、解决了大参数CFF码难于生成难题。新指纹编码具有编码长度短、编码效率和检测效率高的特点,叛逆者追踪成功率100%,未发生误判、漏判现象,能为依法制裁叛逆者提供不可抵赖的法律证据。
[0007]技术方案:基于I码和CFF码的抗合谋指纹编码方法应用级联编码理论提出了 I码和CFF码级联编码生成算法,以小参数构建的CFF码为内码、I码为外码生成级联编码,编码效率等同于嵌入CFF码的编码效率,降低了编码难度;应用组合数学知识提出了一种新的r-CFF(n, t)码快速生成算法,通过计算和查找关联表的方法部分替代传统的排列组合方法,提高了编码时空效率;其特殊之处在于本方法包括以下步骤。
[0008]1-1) r-CFF (n, t)码快速生成算法。
[0009](I)选定编码元素集合χ={1, 2,…,n }、最大抗合谋人数r,初始化关联矩阵flag [η] [η]。flag第i行、第j列(I彡i, j彡η)值为O表示元素对<i, j>已出现在某一 CFF区组中,不能再次用于CFF区组设计;为1表示元素对<i,j>可用于CFF区组设计。CFF区组设计定义要求<i,i>不能出现于CFF区组设计中,所以flag初始时对角线元素值为O,其余元素值为I。
[0010](2)生成基础集,修改flag。根据组合数学,集合{(I,…,r +1), (r +2,…,2r + 2),…,(n -r,…,η)}和{(1,n/(r +1) +1,…,(r X n) / (r +1)+1), (2, n/ (r+1)+2,…,(rXn)/(r +1) +2),…,(n /(r +l),2n/(r +1),…,η)}为 CFF 基础集,据此修改flag对应值。
[0011](3)对集合X中的元素按(r + I)个元素一组依次进行(r +1)阶排列,遍历每个排列构成的所有排列,判断每个排列中的元素对<i,j>是否已在flag中出现(flag对应值为0),出现则舍弃该排列,结束遍历;否则继续遍历其它元素对<i,j>直至该排列所有元素遍历完。
[0012]遍历结束后,若该排列的所有元素对<i,j>在flag中均未出现过(flag对应值为I),则判断该排列为一 CFF区组,将其加入CFF区组结果集中,同时修改flag对应值。
[0013](4)根据CFF区组结果集构造编码矩阵cflag。规则为每行对应一个CFF区组fi,每列对应集合X的一个元素,fi中包含元素对应位置记1,其余位置记O。
[0014](5)对cflag求补得到码字矩阵C,生成对应编码。编码规则为每行对应一个CFF区组Ci,每列对应集合X的一个元素,Ci中包含元素对应位置记0,其余位置记I。
[0015]容易验证C中任意r个码字之间做逻辑与、逻辑或的结果是唯一的,能有效抵抗任意r个用户之间的与合谋攻击、或合谋攻击。
[0016]1-2) I码和CFF码级联编码生成算法。
[0017](I)根据r-CFF (n,t)区组生成算法设计r_CFF (n,t)区组集合f,得到区组数t和对应的码字矩阵C。
[0018](2)根据分发的用户总数N,求I码矩阵大小m的值,m =N/t向上取整。
[0019](3)构造一个mXm的I码矩阵(单位矩阵),扩展每个码字为tXn的子阵。其中,码比特I扩展为全I的tXn子阵;码比特O扩展为全O的tXn子阵。
[0020](4)将扩展矩阵对角线上全I的tXn子阵替换为由CFF设计生成的tXn的码字矩阵C,产生如图1所示级联编码矩阵R。
[0021](5)为进一步有效抵抗平均合谋攻击,使用编码扩展技术对R进行级联编码扩展:用序列10和01对R所有C (t,η)块中的I和O进行扩展为C (t,2n),对R中每个扩展前的C(t,η)块左边的O (t,η)块扩展为O (t,2n),右边的I (t, η)块扩展为I (t, 2n),得到如图
2所示最终码字矩阵COTd。
[0022]因此Cend中元素具有规律性:对角线上的CFF子块同时含有码比特O与码比特I ;右上角I子块不含码比特O ;左下角O子块不含码比特I。所以通过对O与I同时出现区域定位就可以确定CFF子块在级联码中的位置:统计每条指纹编码中O的个数除以2n,其结果向上取整就是编码所在子块编号(从I开始)。
[0023]1-3) I码和CFF码级联编码检测算法。
[0024](I)确定待检编码所在CFF子块位置:统计编码中O的个数除以2n,其结果向上取整就是编码所在子块编号(从I开始)。
[0025](2)确定叛逆者。在CFF子块中任意不大于r个用户合谋产生的向量都是唯一的,因此,确定CFF子块位置后,对指纹特征码字位置进行跟踪就可检测出叛逆者。
[0026]具体做法为:从数据库中取出对应子块的所有指纹编码,逐条计算指纹编码与被追踪指纹编码的汉明距离,判定汉明距离最小值对应的指纹编码用户为叛逆者,汉明距离次小值对应的指纹编码用户为叛逆者是大概率事件。当最小值、次小值都为唯一值时,可认定对应的指纹编码用户都是叛逆者。
[0027]级联编码检测步骤是先选定特定子块后进行CFF码遍历检测;由于缩写了遍历检测范围,参与检测的CFF编码码长较短,因此特征编码集存储、检测花费的时间空间开销以及运算复杂度都大大降低,能有效提高了编码检测效率。
[0028]本发明的效果如下:本发明提出的r_CFF(n,t)码快速生成算法通过计算和查找关联表的方法部分替代传统的排列组合方法,提高了编码时空效率;1码和CFF码级联编码生成算法通过生成小参数CFF编码级联解决了大参数CFF编码难于生成的难题,降低了编码难度,提高了编码效率;1码和CFF码级联编码检测算法,采用分层检测方法,先计算选定特定子块后进行CFF码遍历检测,缩小了遍历检测范围,提高了检测效率。
[0029]测试表明经各种合谋攻击后提取的指纹编码至少与一名叛逆者指纹编码匹配率在90%以上,可据此追踪出至少一名叛逆者,满足抗合谋指纹编码国际标准的要求。测试未发生误判、漏判现象,说明本文级联编码能有效抵抗各种合谋攻击,成功追踪叛逆者。
【附图说明】
[0030]图1为本
【发明内容】
的级联编码矩阵R。
[0031]图2为本
【发明内容】
的最终码字矩阵COTd。
[0032]图3为本发明实施例的关联矩阵flagl。
[0033]图4为本发明实施例的关联矩阵flag2。
[0034]图5为本发明实施例的编码矩阵cflag。
[0035]图6为本发明实施例的码字矩阵C。
[0036]图7为本发明实施例的级联编码矩阵R。
[0037]图8为本发明实施例的最终码字矩阵COTd。
[0038]图9为本发明实施例的执行流程。
[0039]图10为本发明实施例的调制后码字矩阵M。
【具体实施方式】
[0040]下面结合具体实施例,进一步阐明本发明,应理解这些实施例仅用于说明本发明而不用于限制本发明的范围,在阅读了本发明之后,本领域技术人员对本发明的各种等价
形式的修改均落于本申请所附权利要求所限定的范围。
[0041]假定χ={1, 2,3,4,5,6,7,8,9,10,11,12}、r=2、n=12。
[0042]2-1) 2-CFF(12, 16)码区组生成算法。
[0043](I)初始化关联矩阵 flag[12] [12]。
[0044](2)生成基础集,修改 flag。2-CFF(12, 16)的基础集为{(I, 2,3) (4,5,6)(7,8,9) (1,5,9) (2,6, 10) (3,7,11) (4,8, 12) (10,11,12)},区组(1,2, 3)要求将 flag 的<1,2X1, 3X2, 3X2,1X3,1X3,2>位置修改为0,依此类推,修改各个区组后flag如图3所示。
[0045](3)讨论以I开头的3阶排列,由图3第I行可知〈1,1X1,2X1,3X1,5X1,9>为0,所以11、12、13、15、19开头的排列不是CFF区组;14开头的可用3阶排列有(1,4, 6), (1,4, 7), (1,4, 8), (1,4,10),(1,4,11),(1,4,12) 6 个,由于(1,4,7)中〈1,4X1,7X4,7X4,1X7,1X7,4>均为1,因此(I, 4,7)是CFF区组,加入结果集中,同时修改图 3 中〈1,4X1,7X4,7X4,1X7,1X7,4> 对应值为 O。由于〈1,4>、〈1,7> 已为 0,其余14、17开头的排列必然不是CFF区组;16开头的可用3阶排列有(1,6,8),(1,6, 10),(1,6, 11),(1,6, 12)4 个,由于(1,6,8)中〈1,6X1,8X6,1X6,8X8,1X8,6> 均为 1,因此(I, 6,8)是CFF区组,加入结果集中,同时修改图3中〈1,6X1,8X6,1
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1