基于i碼和cff碼的抗合謀指紋編碼方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種基于I碼和CFF碼的抗合謀指紋編碼方法,屬于信息安全技術(shù)領(lǐng)域。
【背景技術(shù)】
[0002]抗合謀指紋技術(shù)能夠從多用戶合謀偽造數(shù)字資源內(nèi)容中識(shí)別出參與者(稱為叛逆者),為依法懲治叛逆者提供法律證據(jù),保護(hù)數(shù)字資源信息安全。該技術(shù)是目前常用的數(shù)字資源盜版追蹤技術(shù),廣泛應(yīng)用于數(shù)字資源知識(shí)產(chǎn)權(quán)保護(hù)、數(shù)字資源分發(fā)控制、數(shù)字取證與追蹤等諸多領(lǐng)域。在信息安全上升為國家戰(zhàn)略和全面實(shí)施國家知識(shí)產(chǎn)權(quán)事業(yè)發(fā)展“十二五”規(guī)劃的大背景下,該技術(shù)擁有巨大的應(yīng)用潛力和商業(yè)價(jià)值,引起了國內(nèi)外廣泛的關(guān)注和研究。
[0003]抗合謀指紋技術(shù)研究分為抗合謀指紋編碼、指紋編碼嵌入提取、叛逆者追蹤三個(gè)方面??购现\指紋編碼是本技術(shù)的基礎(chǔ)和關(guān)鍵,其性能優(yōu)劣直接決定最終叛逆者追蹤效果。
[0004]抗合謀指紋編碼問題來源:衡量抗合謀指紋編碼的性能指標(biāo)主要有最大抗合謀人數(shù)r、指紋編碼效率n、編碼距離d。η為用戶數(shù)t和編碼長度η的比值,表示每個(gè)比特能區(qū)分的不同用戶數(shù)量,η值越大編碼效率越高;d為兩個(gè)編碼對(duì)應(yīng)位置上比特值不同的位數(shù),d值越大兩個(gè)編碼差異性越大。
[0005]常用抗合謀指紋有I碼、BIBD碼、CFF碼三種。I碼η =1,每個(gè)不同用戶需要一個(gè)不同比特表示,不適合大量用戶的場合,碼距始終為2,抗干擾能力差?;诮M合理論的BIBD碼和CFF碼的碼距大,抗干擾能力強(qiáng),能夠提高編碼效率,但隨著抗合謀參數(shù)值增大,由于排列組合數(shù)目快速增加,編碼算法時(shí)空效率下降,存在構(gòu)建大參數(shù)編碼困難的問題(BIBD構(gòu)造難度大于CFF),制約了其廣泛應(yīng)用。
【發(fā)明內(nèi)容】
[0006]發(fā)明目的:本發(fā)明提出了一種以小參數(shù)CFF碼為內(nèi)碼、I碼為外碼生成級(jí)聯(lián)編碼的新指紋編碼方法,有效降低了編碼難度、提高了編碼效率、解決了大參數(shù)CFF碼難于生成難題。新指紋編碼具有編碼長度短、編碼效率和檢測效率高的特點(diǎn),叛逆者追蹤成功率100%,未發(fā)生誤判、漏判現(xiàn)象,能為依法制裁叛逆者提供不可抵賴的法律證據(jù)。
[0007]技術(shù)方案:基于I碼和CFF碼的抗合謀指紋編碼方法應(yīng)用級(jí)聯(lián)編碼理論提出了 I碼和CFF碼級(jí)聯(lián)編碼生成算法,以小參數(shù)構(gòu)建的CFF碼為內(nèi)碼、I碼為外碼生成級(jí)聯(lián)編碼,編碼效率等同于嵌入CFF碼的編碼效率,降低了編碼難度;應(yīng)用組合數(shù)學(xué)知識(shí)提出了一種新的r-CFF(n, t)碼快速生成算法,通過計(jì)算和查找關(guān)聯(lián)表的方法部分替代傳統(tǒng)的排列組合方法,提高了編碼時(shí)空效率;其特殊之處在于本方法包括以下步驟。
[0008]1-1) r-CFF (n, t)碼快速生成算法。
[0009](I)選定編碼元素集合χ={1, 2,…,n }、最大抗合謀人數(shù)r,初始化關(guān)聯(lián)矩陣flag [η] [η]。flag第i行、第j列(I彡i, j彡η)值為O表示元素對(duì)<i, j>已出現(xiàn)在某一 CFF區(qū)組中,不能再次用于CFF區(qū)組設(shè)計(jì);為1表示元素對(duì)<i,j>可用于CFF區(qū)組設(shè)計(jì)。CFF區(qū)組設(shè)計(jì)定義要求<i,i>不能出現(xiàn)于CFF區(qū)組設(shè)計(jì)中,所以flag初始時(shí)對(duì)角線元素值為O,其余元素值為I。
[0010](2)生成基礎(chǔ)集,修改flag。根據(jù)組合數(shù)學(xué),集合{(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 基礎(chǔ)集,據(jù)此修改flag對(duì)應(yīng)值。
[0011](3)對(duì)集合X中的元素按(r + I)個(gè)元素一組依次進(jìn)行(r +1)階排列,遍歷每個(gè)排列構(gòu)成的所有排列,判斷每個(gè)排列中的元素對(duì)<i,j>是否已在flag中出現(xiàn)(flag對(duì)應(yīng)值為0),出現(xiàn)則舍棄該排列,結(jié)束遍歷;否則繼續(xù)遍歷其它元素對(duì)<i,j>直至該排列所有元素遍歷完。
[0012]遍歷結(jié)束后,若該排列的所有元素對(duì)<i,j>在flag中均未出現(xiàn)過(flag對(duì)應(yīng)值為I),則判斷該排列為一 CFF區(qū)組,將其加入CFF區(qū)組結(jié)果集中,同時(shí)修改flag對(duì)應(yīng)值。
[0013](4)根據(jù)CFF區(qū)組結(jié)果集構(gòu)造編碼矩陣cflag。規(guī)則為每行對(duì)應(yīng)一個(gè)CFF區(qū)組fi,每列對(duì)應(yīng)集合X的一個(gè)元素,fi中包含元素對(duì)應(yīng)位置記1,其余位置記O。
[0014](5)對(duì)cflag求補(bǔ)得到碼字矩陣C,生成對(duì)應(yīng)編碼。編碼規(guī)則為每行對(duì)應(yīng)一個(gè)CFF區(qū)組Ci,每列對(duì)應(yīng)集合X的一個(gè)元素,Ci中包含元素對(duì)應(yīng)位置記0,其余位置記I。
[0015]容易驗(yàn)證C中任意r個(gè)碼字之間做邏輯與、邏輯或的結(jié)果是唯一的,能有效抵抗任意r個(gè)用戶之間的與合謀攻擊、或合謀攻擊。
[0016]1-2) I碼和CFF碼級(jí)聯(lián)編碼生成算法。
[0017](I)根據(jù)r-CFF (n,t)區(qū)組生成算法設(shè)計(jì)r_CFF (n,t)區(qū)組集合f,得到區(qū)組數(shù)t和對(duì)應(yīng)的碼字矩陣C。
[0018](2)根據(jù)分發(fā)的用戶總數(shù)N,求I碼矩陣大小m的值,m =N/t向上取整。
[0019](3)構(gòu)造一個(gè)mXm的I碼矩陣(單位矩陣),擴(kuò)展每個(gè)碼字為tXn的子陣。其中,碼比特I擴(kuò)展為全I(xiàn)的tXn子陣;碼比特O擴(kuò)展為全O的tXn子陣。
[0020](4)將擴(kuò)展矩陣對(duì)角線上全I(xiàn)的tXn子陣替換為由CFF設(shè)計(jì)生成的tXn的碼字矩陣C,產(chǎn)生如圖1所示級(jí)聯(lián)編碼矩陣R。
[0021](5)為進(jìn)一步有效抵抗平均合謀攻擊,使用編碼擴(kuò)展技術(shù)對(duì)R進(jìn)行級(jí)聯(lián)編碼擴(kuò)展:用序列10和01對(duì)R所有C (t,η)塊中的I和O進(jìn)行擴(kuò)展為C (t,2n),對(duì)R中每個(gè)擴(kuò)展前的C(t,η)塊左邊的O (t,η)塊擴(kuò)展為O (t,2n),右邊的I (t, η)塊擴(kuò)展為I (t, 2n),得到如圖
2所示最終碼字矩陣COTd。
[0022]因此Cend中元素具有規(guī)律性:對(duì)角線上的CFF子塊同時(shí)含有碼比特O與碼比特I ;右上角I子塊不含碼比特O ;左下角O子塊不含碼比特I。所以通過對(duì)O與I同時(shí)出現(xiàn)區(qū)域定位就可以確定CFF子塊在級(jí)聯(lián)碼中的位置:統(tǒng)計(jì)每條指紋編碼中O的個(gè)數(shù)除以2n,其結(jié)果向上取整就是編碼所在子塊編號(hào)(從I開始)。
[0023]1-3) I碼和CFF碼級(jí)聯(lián)編碼檢測算法。
[0024](I)確定待檢編碼所在CFF子塊位置:統(tǒng)計(jì)編碼中O的個(gè)數(shù)除以2n,其結(jié)果向上取整就是編碼所在子塊編號(hào)(從I開始)。
[0025](2)確定叛逆者。在CFF子塊中任意不大于r個(gè)用戶合謀產(chǎn)生的向量都是唯一的,因此,確定CFF子塊位置后,對(duì)指紋特征碼字位置進(jìn)行跟蹤就可檢測出叛逆者。
[0026]具體做法為:從數(shù)據(jù)庫中取出對(duì)應(yīng)子塊的所有指紋編碼,逐條計(jì)算指紋編碼與被追蹤指紋編碼的漢明距離,判定漢明距離最小值對(duì)應(yīng)的指紋編碼用戶為叛逆者,漢明距離次小值對(duì)應(yīng)的指紋編碼用戶為叛逆者是大概率事件。當(dāng)最小值、次小值都為唯一值時(shí),可認(rèn)定對(duì)應(yīng)的指紋編碼用戶都是叛逆者。
[0027]級(jí)聯(lián)編碼檢測步驟是先選定特定子塊后進(jìn)行CFF碼遍歷檢測;由于縮寫了遍歷檢測范圍,參與檢測的CFF編碼碼長較短,因此特征編碼集存儲(chǔ)、檢測花費(fèi)的時(shí)間空間開銷以及運(yùn)算復(fù)雜度都大大降低,能有效提高了編碼檢測效率。
[0028]本發(fā)明的效果如下:本發(fā)明提出的r_CFF(n,t)碼快速生成算法通過計(jì)算和查找關(guān)聯(lián)表的方法部分替代傳統(tǒng)的排列組合方法,提高了編碼時(shí)空效率;1碼和CFF碼級(jí)聯(lián)編碼生成算法通過生成小參數(shù)CFF編碼級(jí)聯(lián)解決了大參數(shù)CFF編碼難于生成的難題,降低了編碼難度,提高了編碼效率;1碼和CFF碼級(jí)聯(lián)編碼檢測算法,采用分層檢測方法,先計(jì)算選定特定子塊后進(jìn)行CFF碼遍歷檢測,縮小了遍歷檢測范圍,提高了檢測效率。
[0029]測試表明經(jīng)各種合謀攻擊后提取的指紋編碼至少與一名叛逆者指紋編碼匹配率在90%以上,可據(jù)此追蹤出至少一名叛逆者,滿足抗合謀指紋編碼國際標(biāo)準(zhǔn)的要求。測試未發(fā)生誤判、漏判現(xiàn)象,說明本文級(jí)聯(lián)編碼能有效抵抗各種合謀攻擊,成功追蹤叛逆者。
【附圖說明】
[0030]圖1為本
【發(fā)明內(nèi)容】
的級(jí)聯(lián)編碼矩陣R。
[0031]圖2為本
【發(fā)明內(nèi)容】
的最終碼字矩陣COTd。
[0032]圖3為本發(fā)明實(shí)施例的關(guān)聯(lián)矩陣flagl。
[0033]圖4為本發(fā)明實(shí)施例的關(guān)聯(lián)矩陣flag2。
[0034]圖5為本發(fā)明實(shí)施例的編碼矩陣cflag。
[0035]圖6為本發(fā)明實(shí)施例的碼字矩陣C。
[0036]圖7為本發(fā)明實(shí)施例的級(jí)聯(lián)編碼矩陣R。
[0037]圖8為本發(fā)明實(shí)施例的最終碼字矩陣COTd。
[0038]圖9為本發(fā)明實(shí)施例的執(zhí)行流程。
[0039]圖10為本發(fā)明實(shí)施例的調(diào)制后碼字矩陣M。
【具體實(shí)施方式】
[0040]下面結(jié)合具體實(shí)施例,進(jìn)一步闡明本發(fā)明,應(yīng)理解這些實(shí)施例僅用于說明本發(fā)明而不用于限制本發(fā)明的范圍,在閱讀了本發(fā)明之后,本領(lǐng)域技術(shù)人員對(duì)本發(fā)明的各種等價(jià)
形式的修改均落于本申請所附權(quán)利要求所限定的范圍。
[0041]假定χ={1, 2,3,4,5,6,7,8,9,10,11,12}、r=2、n=12。
[0042]2-1) 2-CFF(12, 16)碼區(qū)組生成算法。
[0043](I)初始化關(guān)聯(lián)矩陣 flag[12] [12]。
[0044](2)生成基礎(chǔ)集,修改 flag。2-CFF(12, 16)的基礎(chǔ)集為{(I, 2,3) (4,5,6)(7,8,9) (1,5,9) (2,6, 10) (3,7,11) (4,8, 12) (10,11,12)},區(qū)組(1,2, 3)要求將 flag 的<1,2X1, 3X2, 3X2,1X3,1X3,2>位置修改為0,依此類推,修改各個(gè)區(qū)組后flag如圖3所示。
[0045](3)討論以I開頭的3階排列,由圖3第I行可知〈1,1X1,2X1,3X1,5X1,9>為0,所以11、12、13、15、19開頭的排列不是CFF區(qū)組;14開頭的可用3階排列有(1,4, 6), (1,4, 7), (1,4, 8), (1,4,10),(1,4,11),(1,4,12) 6 個(gè),由于(1,4,7)中〈1,4X1,7X4,7X4,1X7,1X7,4>均為1,因此(I, 4,7)是CFF區(qū)組,加入結(jié)果集中,同時(shí)修改圖 3 中〈1,4X1,7X4,7X4,1X7,1X7,4> 對(duì)應(yīng)值為 O。由于〈1,4>、〈1,7> 已為 0,其余14、17開頭的排列必然不是CFF區(qū)組;16開頭的可用3階排列有(1,6,8),(1,6, 10),(1,6, 11),(1,6, 12)4 個(gè),由于(1,6,8)中〈1,6X1,8X6,1X6,8X8,1X8,6> 均為 1,因此(I, 6,8)是CFF區(qū)組,加入結(jié)果集中,同時(shí)修改圖3中〈1,6X1,8X6,1