專利名稱:用于加密和/或解密數(shù)據(jù)的可追蹤方法和系統(tǒng),及用于實(shí)現(xiàn)該方法的記錄介質(zhì)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種用于加密和/或解密廣播數(shù)據(jù)的可追蹤方法和系統(tǒng),以及用于實(shí)現(xiàn)該方法的記錄介質(zhì)。
更明確地,本發(fā)明涉及一種可追蹤方法,其中當(dāng)加密廣播數(shù)據(jù)時(shí),發(fā)送器使用至少一個(gè)第一秘密密碼函數(shù),以及當(dāng)解密所述廣播數(shù)據(jù)時(shí),所有解碼器應(yīng)用至少一個(gè)同樣的等同于所述第一函數(shù)或其反函數(shù)的第二秘密密碼函數(shù),用于這個(gè)目的的每個(gè)解碼器使用記錄在存儲(chǔ)器中的所述第二函數(shù)的數(shù)學(xué)描述。
背景技術(shù):
可追蹤加密方法是一種在其中可以實(shí)現(xiàn)追蹤叛徒的方法的方法。
叛徒追蹤方法被用來對抗對服務(wù)的盜用,所述服務(wù)在廣播信道上分發(fā)加密的多媒體內(nèi)容,例如視頻,電視,圖像,音樂,文本,網(wǎng)頁,電子圖書,程序等等。叛徒追蹤方法的目的是防止由于一個(gè)或多個(gè)所述服務(wù)的合法用戶重新分發(fā)根據(jù)嵌入在他們的解密設(shè)備中的密鑰和解密算法推導(dǎo)出的數(shù)據(jù),而導(dǎo)致非法用戶(盜用者)能夠無障礙訪問所述內(nèi)容。這些方法保證,如果出現(xiàn)這種欺騙,那么至少一個(gè)引起欺騙的合法用戶的身份可以被分發(fā)該內(nèi)容的服務(wù)操作者重建。引起欺騙的合法用戶在以后的描述中被稱為“叛徒”。
追蹤叛徒的概念是由Benny Chor,Amos Fiat和Moni Naor在他們1994年的文章“Tracing Traitors,Advances in Cryptology”(Crypto’94,Lecture Notes in computer science,卷839,Springer-Verlag,1994,257-270頁)中首次提出的。在該文章中,提出了密碼系統(tǒng)中的第一個(gè)追蹤技術(shù)。其中可以實(shí)現(xiàn)叛徒追蹤方法的密碼系統(tǒng)被稱為“可追蹤的”。幾乎所有的這些技術(shù)都具有組合特性。也就是說,密碼系統(tǒng)的每個(gè)合法用戶都被分配了基本密鑰集合(通常是相當(dāng)大的集合)的一個(gè)密鑰子集。分配給用戶的基本密鑰的子集對于每個(gè)用戶是唯一的,并且形成該用戶自己的私有密鑰。
該系統(tǒng)中的數(shù)據(jù)廣播包括加密消息。每個(gè)加密消息由使用內(nèi)容加密密鑰進(jìn)行加密的內(nèi)容和分別使用基本密鑰加密的報(bào)頭組成。每個(gè)報(bào)頭包含表示部分所述內(nèi)容加密密鑰的數(shù)值。
當(dāng)用戶接收這些消息之一時(shí),他們使用各自的基本密鑰的子集來解密包含在接收的報(bào)頭中的一些數(shù)值。然后他們組合這些已解密的數(shù)值來重新構(gòu)建所述內(nèi)容加密密鑰,并且將該重新構(gòu)建的內(nèi)容加密密鑰用于解密所述消息的內(nèi)容。
如果該系統(tǒng)的一個(gè)合法用戶將他/她的私有密鑰發(fā)送給非法用戶,則在該可追蹤密碼系統(tǒng)中,可以通過由非法用戶使用的私有密鑰追蹤到叛徒的身份。
然而,組合特性的叛徒追蹤方法具有不足,它需要廣播大量的報(bào)頭。特別地,將被廣播的報(bào)頭數(shù)與該系統(tǒng)的合法用戶數(shù)的對數(shù)成比例,并且也與其他參數(shù)(例如尋求保護(hù)以對抗的叛徒聯(lián)盟的最大規(guī)模k)成比例。該聯(lián)盟意味著k個(gè)叛徒的組,他們集合在一起以組合他們的私有密鑰,試圖生成可用于解密所述加密內(nèi)容的新的私有密鑰,而檢查這個(gè)新的私有密鑰不會(huì)泄露任一叛徒的身份。
發(fā)明內(nèi)容
本發(fā)明通過提出一種新的無需廣播大量報(bào)頭的叛徒追蹤方法來克服該缺點(diǎn)。
因此,本發(fā)明的主題是如上所述的叛徒追蹤方法,其特征在于當(dāng)實(shí)現(xiàn)第二函數(shù)時(shí),每個(gè)解碼器所依靠的第二函數(shù)的數(shù)學(xué)描述對于各個(gè)解碼器或?qū)τ诓煌M的解碼器是不同的,因此,所依靠的數(shù)學(xué)描述唯一的標(biāo)識所有解碼器中的特定的解碼器或者特定的一組解碼器。
在所述方法中,基于對由非法用戶用于解密傳輸數(shù)據(jù)的第二函數(shù)的數(shù)學(xué)描述的分析,能夠追蹤將其秘密的第二函數(shù)的數(shù)學(xué)描述發(fā)送給非法用戶的叛徒。通過構(gòu)造該系統(tǒng)中的每個(gè)數(shù)學(xué)描述,使得所述描述代表了叛徒的身份。使用組合特性的方法,由于在每個(gè)解碼器中使用私有的密鑰集合,必須以不同的方式加密相同的內(nèi)容加密密鑰以傳輸多次。被置于廣播內(nèi)容開始處的報(bào)頭被用于該目的。因此包含在報(bào)頭中的信息是非常冗余的,并且每個(gè)解碼器只處理部分接收到的報(bào)頭。
在本發(fā)明的方法中,由于對叛徒的識別不再基于對私有的密鑰集合的使用,而是基于使用同一密碼函數(shù)的不同描述,所述密碼函數(shù)等同于第一密碼函數(shù)或其反函數(shù),因此,不再需要至少一部分冗余的廣播數(shù)據(jù)。因此使用所述方法來廣播加密消息所需的報(bào)頭數(shù)少于使用組合特性方法廣播相同消息所需的報(bào)頭數(shù)。
根據(jù)本方法的其它特性,其特征在于所述第二密碼函數(shù)能夠處理非冗余數(shù)據(jù);記錄在每個(gè)解碼器存儲(chǔ)器中的所述數(shù)學(xué)描述Fkj由多個(gè)基本函數(shù)Gi,j構(gòu)成,Gi,j必須以所確定的順序一個(gè)接一個(gè)復(fù)合以形成所述第二秘密函數(shù)。
每個(gè)基本函數(shù)Gi,j等于至少三個(gè)函數(shù)的復(fù)合,與下列等式中的每一個(gè)一樣G1,j=f′1,jogσj(1)oSG2,j=f′2,jogσj(2)of1,j..............................
Gr-1,j=f′r-1,jogσj(r-1)ofr-2,jGr,j=Togσj(r)ofr-1,j其中,Gi,j是解碼器j的第i個(gè)基本函數(shù),j是標(biāo)識一個(gè)解碼器或者一組解碼器的索引,函數(shù)fi,j和f′i,j是預(yù)定的函數(shù),能夠使得基本函數(shù)Gi,j相互間不可交換,σj是每個(gè)解碼器或者每組解碼器唯一具有的、所有索引{1;...;r}的排列,gσj(t)是由r個(gè)相互間可交換的非線性預(yù)定函數(shù)gi形成的預(yù)定整體的第σj(t)個(gè)函數(shù),以及S和T是預(yù)定的函數(shù),能夠分別使得對基本函數(shù)G1,j和Gr,j的密碼分析變得困難,每個(gè)函數(shù)f′i,j等于函數(shù)fi,j的反函數(shù)fi,j-1,函數(shù)fi,j是完成體(finished body)L的元素的多元組的集合Ln在其自身上的線性函數(shù);函數(shù)S和T是可逆的;函數(shù)S和T是完成體L的元素的多元組的集合Ln到其自身的線性函數(shù);選定函數(shù)gi,因此每個(gè)基本函數(shù)Gi,j對應(yīng)于多元加密算法的加密塊;每個(gè)函數(shù)gi的形式為gi(a)=aei,其中,a是具有q個(gè)元素的基本體(basic body)L的n次擴(kuò)展L’的元素,ei是預(yù)定指數(shù);指數(shù)ei的形式為1+qθ1+...+qθi+...+qθd-1,其中指數(shù)θi是預(yù)定的整數(shù)。
本發(fā)明的另一主題是數(shù)據(jù)記錄介質(zhì),其特征在于它包含指令用于當(dāng)所述指令被解碼器執(zhí)行時(shí),可以執(zhí)行該發(fā)明的可追蹤方法。
本發(fā)明的另一個(gè)主題是數(shù)據(jù)記錄介質(zhì),其特征在于它包含指令用于當(dāng)所述指令被發(fā)送器執(zhí)行時(shí),可以執(zhí)行該發(fā)明的可追蹤方法。
本發(fā)明的另一個(gè)主題是用于廣播數(shù)據(jù)的能夠在不同合法用戶中識別叛徒的可追蹤加密和/或解密系統(tǒng),所述叛徒已將秘密數(shù)據(jù)發(fā)送給未授權(quán)的第三方使得該第三方能夠加密和/或解密廣播數(shù)據(jù),該系統(tǒng)包括能夠加密廣播數(shù)據(jù)的發(fā)送器,該發(fā)送器能夠?qū)崿F(xiàn)至少一個(gè)第一秘密密碼函數(shù),以及能夠解密廣播數(shù)據(jù)的多個(gè)解碼器,所有所述解碼器能夠?qū)崿F(xiàn)至少一個(gè)同樣的秘密密碼函數(shù),該秘密密碼函數(shù)等同于所述第一函數(shù)或其反函數(shù),用于該目的的每個(gè)解碼器都裝配了存儲(chǔ)器,所述存儲(chǔ)器中記錄有所述第二函數(shù)的數(shù)學(xué)描述。
其特征在于每個(gè)解碼器的存儲(chǔ)器包含所述第二函數(shù)的數(shù)學(xué)描述,該數(shù)學(xué)描述不同于其他解碼器或者其他組的解碼器的存儲(chǔ)器中記錄的數(shù)學(xué)描述,因此該數(shù)學(xué)描述在所有解碼器中唯一標(biāo)識特定的解碼器或特定的解碼器組。
最后,本發(fā)明的另一個(gè)主題是與根據(jù)本發(fā)明的可追蹤加密和/或解密系統(tǒng)的解碼器相關(guān)聯(lián)的存儲(chǔ)器,其特征在于,它包含與能夠被解碼器使用的第二秘密函數(shù)等價(jià)的數(shù)學(xué)描述,該數(shù)學(xué)描述由多個(gè)基本函數(shù)(Gi,j)組成,每個(gè)基本函數(shù)Gi,j等于至少三個(gè)函數(shù)的復(fù)合,如下列等式所示G1,j=f′1,jogσj(1)oSG2,j=f′2,jogσj(2)of1,j..............................
Gr-1,j=f′r-1,jogσj(r-1)ofr-2,jGr,j=Togσj(r)ofr-1,j其中,Gi,j是解碼器j的第i個(gè)基本函數(shù),j是標(biāo)識一個(gè)解碼器或者一組解碼器的索引,函數(shù)fi,j和f′i,j是預(yù)定的函數(shù),能夠使得基本函數(shù)Gi,j相互間不可交換,σj是每個(gè)解碼器或者每組解碼器唯一具有的、所有索引{1;...;r}的排列,gσj(t)是由r個(gè)相互間可交換的非線性預(yù)定函數(shù)gi構(gòu)成的預(yù)定整體的第σj(t)個(gè)函數(shù),以及S和T是預(yù)定的函數(shù),能夠分別使得對基本函數(shù)G1,j和Gr,j的密碼分析變得困難。
附圖簡述通過閱讀下述僅僅作為實(shí)例的、參照附圖給出的描述,將更好的理解本發(fā)明,其中,
圖1是根據(jù)本發(fā)明的可追蹤密碼系統(tǒng)的結(jié)構(gòu)的概要說明;圖2是本發(fā)明的叛徒追蹤方法的流程圖。
具體實(shí)施例方式
圖1顯示了可追蹤密碼系統(tǒng),一般地被指定為2。該系統(tǒng)2包含加密數(shù)據(jù)的發(fā)送器4,數(shù)據(jù)傳輸網(wǎng)絡(luò)6和能夠解密被發(fā)送器4通過網(wǎng)絡(luò)6廣播的加密數(shù)據(jù)的解碼器。該系統(tǒng)2包含N個(gè)解碼器,N是大于100、1000或者更大數(shù)的整數(shù)。這里為簡化說明,只示出了一個(gè)解碼器8。其他沒有示出的解碼器例如與示例解碼器8相同。在該描述的其他部分,該解碼器8與索引j相關(guān)聯(lián)。
作為例子,發(fā)送器4是用于電視信道的發(fā)送器。該發(fā)送器4包含用于加密內(nèi)容Ba的模塊10和用于計(jì)算控制字CWa的模塊12。這里內(nèi)容Ba由表示電視頻道的明文的連續(xù)數(shù)據(jù)比特組成,即未被加密。
模塊12能夠執(zhí)行由數(shù)學(xué)描述Fk定義的密碼函數(shù)。該密碼函數(shù)用于直接處理編碼為n個(gè)字符的報(bào)頭EBa,以將其轉(zhuǎn)換為同樣編碼為n個(gè)字符的控制字CWa,n是例如大于100的嚴(yán)格的正整數(shù)。這里作為示例,每個(gè)字符是“0”或者“1”。
為此,發(fā)送器4被關(guān)聯(lián)于存儲(chǔ)器14,其中記錄有密碼函數(shù)的數(shù)學(xué)描述Fk。數(shù)學(xué)描述是一組數(shù)據(jù),該組數(shù)據(jù)用于確定將被執(zhí)行的運(yùn)算的正確序列,以便為每個(gè)輸入值計(jì)算該函數(shù)的對應(yīng)的輸出值,而無需將該函數(shù)輸入值以外的其他值提供給程序以執(zhí)行該計(jì)算。該描述Fk以可以直接由發(fā)送器使用的格式記錄于存儲(chǔ)器14中,因此模塊12能夠基于該描述執(zhí)行其密碼函數(shù)。這里,描述Fk例如是組成計(jì)算機(jī)程序的指令序列。然而,在該說明的其余部分,函數(shù)的數(shù)學(xué)描述將僅顯示為使用傳統(tǒng)符號表示的數(shù)學(xué)關(guān)系式。與下述數(shù)學(xué)關(guān)系式相對應(yīng)的計(jì)算機(jī)程序是容易編寫的。
將參照圖2詳細(xì)描述所述描述Fk。
模塊10能夠執(zhí)行以由模塊12構(gòu)造的控制字CWa作為參數(shù)的加密函數(shù)E,以便加密內(nèi)容Ba并輸出相應(yīng)的加密內(nèi)容CBa。這里,加密函數(shù)E是傳統(tǒng)的可逆加密函數(shù)。例如AES加密函數(shù)(AdvancedEncryption Standard,高級加密標(biāo)準(zhǔn))或者名稱為“一次密鑰加密”(onetime pad)的加密算法。
對于由模塊10使用控制字CWa加密的每個(gè)內(nèi)容Ba,發(fā)送器4能夠向系統(tǒng)中的所有解碼器廣播數(shù)據(jù)對。該數(shù)據(jù)對由報(bào)頭EBa和加密內(nèi)容CBa組成。
為了解密由發(fā)送器4通過網(wǎng)絡(luò)6發(fā)送或者廣播的數(shù)據(jù),解碼器8包含用于計(jì)算控制字CWa的計(jì)算模塊20以及用于解密加密內(nèi)容CBa的解密模塊22。
模塊20能夠執(zhí)行密碼函數(shù)。該函數(shù)由不同于描述Fk的數(shù)學(xué)描述Fkj定義。更明確地,該描述Fkj不同于系統(tǒng)2的其他解碼器中使用的所有描述Fkj。然而,盡管數(shù)學(xué)描述Fkj不同于描述Fk,但是它定義相同的函數(shù)。因此,能夠通過由模塊20對報(bào)頭EBa進(jìn)行轉(zhuǎn)換來獲得控制字CWa,即,與已經(jīng)使用模塊12獲得的控制字是相同的。這種情況下,描述Fkj被認(rèn)為等價(jià)于描述Fk。
類似于發(fā)送器4,解碼器8與存儲(chǔ)器21相關(guān)聯(lián),數(shù)學(xué)描述Fkj被記錄其中。
將參照圖2詳細(xì)描述該描述Fkj。
模塊22能夠執(zhí)行解密函數(shù)D。該函數(shù)D是函數(shù)E的反函數(shù),使得可以使用所述控制字CWa解密內(nèi)容CBa,其中CWa是由模塊20基于接收到的報(bào)頭EBa而構(gòu)造的。
解碼器8也能夠?qū)⒂赡K22解密的內(nèi)容Ba以明文的形式發(fā)送至顯示內(nèi)容Ba的電視接收機(jī)26。
發(fā)送器4和每個(gè)解碼器都基于傳統(tǒng)的、能夠執(zhí)行記錄在數(shù)據(jù)記錄介質(zhì)上的指令的可編程計(jì)算器。為此,除了用于加密和解密所發(fā)送的數(shù)據(jù)的秘密參數(shù),存儲(chǔ)器14和21還包含用于執(zhí)行圖2中方法的指令。
現(xiàn)在參照圖2的方法描述系統(tǒng)2的功能。
圖2的方法被分為三個(gè)主要階段。系統(tǒng)2的配置階段50,系統(tǒng)2的使用階段52和系統(tǒng)2的在不同合法用戶中搜索叛徒的搜索階段54。
階段50開始于構(gòu)造步驟60以構(gòu)造數(shù)學(xué)描述Fk。為此,在操作62期間,構(gòu)造r個(gè)非線性函數(shù)gi,r是嚴(yán)格的正整數(shù)。選定函數(shù)gi的數(shù)目r以滿足如下關(guān)系(1)N<r!
其中,N是系統(tǒng)2中解碼器的數(shù)目。
構(gòu)造這些函數(shù)gi以便通過復(fù)合運(yùn)算相互間可交換,因此滿足如下關(guān)系(2)i.l∈{1,...r},i≠l,giоgl=glоgi其中,符號о表示兩個(gè)數(shù)學(xué)函數(shù)的復(fù)合運(yùn)算。
這里,這些函數(shù)中的每一個(gè)都是用于將一個(gè)多元組轉(zhuǎn)換為另一個(gè)多元組的非線性函數(shù)。這里多元組指n個(gè)元素的集合。例如,由(n-1)次多項(xiàng)式的n個(gè)系數(shù)構(gòu)成的集合可以被認(rèn)為是多元組。
因此,每個(gè)函數(shù)gi接收n個(gè)輸入變量并輸出n個(gè)計(jì)算得到的變量。這里他們每個(gè)都對應(yīng)于具有n個(gè)變量的n個(gè)非線性等式的系統(tǒng),n是對應(yīng)于報(bào)頭EBa的字符數(shù)的嚴(yán)格的正整數(shù)。
這里,當(dāng)在左右與線性函數(shù)進(jìn)行復(fù)合時(shí),選定各個(gè)函數(shù)gi以構(gòu)成多元加密算法的加密塊Gi。多元加密算法的一個(gè)例子是Matsumoto和Imai在Tsutomu Matsumoto和Hideki Imai的“Public QuadraticPolynomial-tuples for efficient Signature Verification and MessageEncryption,Advances in Cryptology”-EUROCRYPT’88(Cristoph G.Günther,e d)(Lecture Notes in computer Science,卷330,Springer,1988,pp.419-453)中提出的C*算法。其他多元加密算法的例子是名稱為SFLASH v2的算法(NESSIE project,New European Schemes forsignatures,Integrity and Encryption)和算法HFE(PATARIN JacquesHidden Fields Equations(HFE)以及多項(xiàng)式的同構(gòu)(Isomorphisms ofPolynomials,IP)新的兩類非對稱算法(Eurocrypt 96,SpringerVerlag,pp.33-48)。
為從元素gi獲得簡單明了的合成加密塊Gi的描述,選定gi函數(shù)作為單項(xiàng)式函數(shù),稱為單項(xiàng)式。
作為例子,這里每個(gè)函數(shù)gi對具有q個(gè)元素的基本體L的n次擴(kuò)展L’的元素進(jìn)行運(yùn)算。這里例如q=2且L={0,1}。
擴(kuò)展L’顯示為以下形式的多項(xiàng)式集合Σi=0n-1aiXi·]]>其中該系數(shù)是體L的元素;
索引i是整數(shù),并且X是變量。
通過用多項(xiàng)式加法和乘法模一個(gè)n次不可約多項(xiàng)式來給出由下列等式定義的擴(kuò)展L’P(X)=Σi=0n-1piXi]]>其中,系數(shù)pi是體L的預(yù)定元素,并且X是變量。
作為例子,gi函數(shù)是具有g(shù)i(a)=aei形式的擴(kuò)展L’在擴(kuò)展L’中的函數(shù),其中a是擴(kuò)展L’的元素,以及指數(shù)ei是形式為1+qθ1+...+qθi+...+qθd-1的預(yù)定整數(shù),其中q是體L的元素?cái)?shù)目,指數(shù)θi是預(yù)定整數(shù)。
這里選定d等于2,因此每個(gè)函數(shù)gi的指數(shù)ei的形式為1+qθ1。
這種形式的指數(shù)ei的優(yōu)點(diǎn)在于,如果擴(kuò)展L’的每個(gè)元素a是用系數(shù)的多元組(a0,a1,...,an-1)標(biāo)識的,那么擴(kuò)展L’的由等式b=gi(a)定義的元素b的系數(shù)b0,b1,...,bn-1中的每一個(gè)唯一被寫為a的系數(shù)a0,a1,...,an-1的d次函數(shù)。也就是說,這里,在d=2的特定情況下,即為二次函數(shù)。在該特定情況下,每個(gè)系數(shù)bi可被寫為下列二次函數(shù)的形式bi=(c0a0+...+cn-1an-1)+(c0,1a0a1+...+c0,n-1a0an-1)+(c1,2a1a2+...+c1,n-1a1an-1)+...+cn-2,n-1an-2an-1其中n個(gè)系數(shù)cn和n(n-1)/2個(gè)系數(shù)cu,v是屬于體L的常數(shù)。
因此,通過選定的指數(shù)的形式,每個(gè)函數(shù)gi的數(shù)學(xué)描述可以很簡潔,而且能夠被容易地記錄在存儲(chǔ)器中。
隨后,在操作64中,選定Ln到Ln上的兩個(gè)函數(shù)S和T,其中Ln是由體L的元素組成的多元組的集合。更好地,S和T函數(shù)是線性可逆函數(shù)。
例如,函數(shù)S和T各自的數(shù)學(xué)描述是n個(gè)元素乘以n個(gè)元素的矩陣,其中每個(gè)元素都屬于體L。
接下來,在操作66中,通過以下述方式復(fù)合函數(shù)gi、函數(shù)S和T,來構(gòu)造描述Fk(3)Fk=Togrogr-1o...og2og1oS構(gòu)造描述Fk之后,方法繼續(xù)到構(gòu)造步驟70以便為每個(gè)解碼器構(gòu)造等價(jià)的描述Fkj。
在步驟70中,對于系統(tǒng)中的每個(gè)解碼器j,在操作72中定義集合{1,2,。。。,r}到其自身的專一的排列σj。例如,該排列σj或者被隨機(jī)構(gòu)造,或者從標(biāo)識解碼器的索引j以及從秘密參數(shù)M進(jìn)行推導(dǎo)。
應(yīng)該注意,能夠?yàn)橄到y(tǒng)中的每個(gè)解碼器構(gòu)造專一的排列是可能的,這是因?yàn)闈M足等式(1)。
接下來,在操作74中,為用戶j選擇r-1個(gè)雙射fi,j。這些雙射fi,j中的每一個(gè)都是Ln集合關(guān)于其自身的可逆函數(shù)。這些雙射fi,j例如被使用n個(gè)元素乘以n個(gè)元素的矩陣來描述,其中每個(gè)元素都屬于體L。
例如,在操作74中,根據(jù)Ln集合到自身的可逆線性運(yùn)算的集合來隨機(jī)得到雙射fi,j。另一可能是從解碼器的索引j以及從秘密參數(shù)M推導(dǎo)這些雙射fi,j中的每一個(gè)。
最后,在操作76中,數(shù)學(xué)描述Fkj被構(gòu)造。為此,為編碼器j構(gòu)造r個(gè)基本函數(shù)Gi,j。通過以下列方法復(fù)合函數(shù)S、T、Fi,j和gi來構(gòu)造這些函數(shù)Gi,j(4)G1,j=f′1,jogσj(1)oSG2,j=f′2,jogσj(2)of1,j..............................
Gr-1,j=f′r-1,jogσj(r-1)ofr-2,jGr,j=Togσj(r)ofr-1,j其中f1i,j是雙射fi,j的反函數(shù),并且gσj(t)是函數(shù)gi,其索引i等于由用戶j的置換σj對索引t進(jìn)行運(yùn)算后的排列,t屬于集合{1,2,...,r}。
當(dāng)在函數(shù)gi的左側(cè)和右側(cè)由雙射或線性函數(shù)與gi進(jìn)行復(fù)合時(shí),可以保持函數(shù)gi的性質(zhì),根據(jù)gi由等式b=gi(a)定義的擴(kuò)展L’的元素b的每個(gè)系數(shù)bi只可以被寫成d次多項(xiàng)式。因此,Ln的由等式y(tǒng)=Gi,j(x)定義的元素y的分量可以僅由Ln的元素x的分量xi的d次多項(xiàng)式來描述。例如,當(dāng)d等于2時(shí),使用下列數(shù)學(xué)描述來定義分量yiyi=(c’0x0+...+c’n-1xn-1)+(c’0,1x0x1+...+c’0,n-1x0xn-1)+(c’1,2x1x2+...+c’1,n-1x1xn-1)+...+c’n-2,n-1xn-2xn-1其中n個(gè)系數(shù)c’u和n(n-1)/2個(gè)系數(shù)c’u,v是屬于體L的常數(shù)。
因此,通過選定形式為1+qθ1的指數(shù)ei,每個(gè)基本函數(shù)Gi,j的數(shù)學(xué)描述就簡單明了,因此只占用很小的存儲(chǔ)空間。特別地,在這里所述的實(shí)施例中,每個(gè)基本函數(shù)Gi,j的數(shù)學(xué)描述都是具有n個(gè)變量的n個(gè)非線性等式的系統(tǒng)。
通過這r個(gè)基本函數(shù)Gi,j組成描述Fkj。通過用等式(5)Fkj=Gr,joGr-1,jo...oG2,joG1,j來處理輸入消息,可以獲得與使用描述Fk獲得的消息相同的輸出消息。在上述等式中,通過用由等式(4)給出的函數(shù)Gi,j的定義來替代各個(gè)基本函數(shù)Gi,j,可以容易的驗(yàn)證數(shù)學(xué)描述Fkj與FK的等價(jià)關(guān)系。通過在前述等式中進(jìn)行所述操作,我們獲得FKj=Togog(r)ogσj(r-)o...ogσj(2)ogσj(1)oS因?yàn)樗術(shù)i函數(shù)相互間是可交換的,因此這表明描述Fkj等價(jià)于描述Fk。
因此雙射fi,j的函數(shù)使得基本函數(shù)Gi,j相互間不可交換是可以理解的。在這種情況下,為獲得與描述Fk等價(jià)的描述,基本函數(shù)Gi,j只能如同等式(5)一樣以索引i的升序的順序進(jìn)行復(fù)合。
另外,在這里描述的特定實(shí)施例中,系統(tǒng)對抗任何密碼分析企圖的健壯性是基于多項(xiàng)式同構(gòu)這一問題的,也稱之為IP難題。知道Gi,j函數(shù),甚至知道所有函數(shù)gl到gr,要想識別值σj(i)從數(shù)學(xué)上來說也是困難的,這是因?yàn)樵诿總€(gè)基本函數(shù)Gi,j中使用了未知函數(shù),用于通過在左側(cè)和右側(cè)進(jìn)行復(fù)合來偽裝。這里,這些未知函數(shù)是保持為秘密的函數(shù)S和T以及雙射fi,j。因此,對于擁有有效基本函數(shù)Gi,j集合的非法用戶不能構(gòu)造出新的不保持由σj定義的gi函數(shù)間的順序關(guān)系的基本函數(shù)G’i,j的集合。也就是說,因?yàn)榉欠ㄓ脩舨荒芨鶕?jù)基本函數(shù)Gi,j發(fā)現(xiàn)函數(shù)S,T和fi,j,所以所述用戶必然滿足于修改每個(gè)基本函數(shù)Gi,j的數(shù)學(xué)描述,而不能夠修改復(fù)合這些基本函數(shù)所必須根據(jù)的順序。因此,由于基本函數(shù)G’i,j的復(fù)合順序沒有修改,所以函數(shù)gi的復(fù)合順序也沒有修改。通過閱讀本描述的其余部分,該性質(zhì)的優(yōu)點(diǎn)將變得顯而易見。
一旦為系統(tǒng)2的每個(gè)用戶j構(gòu)造了基本函數(shù)Gi,j,就將這些函數(shù)以例如計(jì)算機(jī)程序的形式在步驟80中分發(fā)和記錄在每個(gè)解碼器8的存儲(chǔ)器21中。
同樣,在步驟80中,將執(zhí)行叛徒搜索階段54所需的信息記錄在存儲(chǔ)器14中。特別地,將用于構(gòu)造每個(gè)基本函數(shù)Gi,j的所有函數(shù)和使用的每個(gè)排列σj都記錄在存儲(chǔ)器14中。記錄每個(gè)排列σj和它所應(yīng)用到的解碼器間的關(guān)系。類似地,使得能夠根據(jù)解碼器的身份識別出用戶的關(guān)系也被記錄在存儲(chǔ)器14中。
一旦函數(shù)Gi,j被記錄在每個(gè)解碼器8的存儲(chǔ)器中,就能初始化系統(tǒng)2的使用階段52。
在階段52中,發(fā)送器4在步驟84中以規(guī)則的時(shí)間間隔隨機(jī)地獲取一個(gè)新報(bào)頭EBa,例如每秒鐘。
在步驟86中由模塊12使用描述Fk來轉(zhuǎn)換報(bào)頭EBa,以獲得控制字CWa。
然后在步驟88中由模塊10使用函數(shù)E和控制字CWa來加密內(nèi)容Ba。然后在步驟90中,由發(fā)送器4通過網(wǎng)絡(luò)6將用于此目的的加密內(nèi)容CBa和報(bào)頭EBa組合以向系統(tǒng)2中的所有解碼器廣播。
一收到加密數(shù)據(jù),每個(gè)解碼器首先在步驟92中根據(jù)接收到的報(bào)頭EBa計(jì)算控制字CWa。在該步驟中,模塊20連續(xù)地按順序使用記錄在其存儲(chǔ)器21中的每個(gè)基本函數(shù)Gi,j,以便根據(jù)等式(5)執(zhí)行對應(yīng)于基本函數(shù)Gi,j的合成的計(jì)算。
在步驟92之后,模塊20輸出與由發(fā)送器4的模塊12構(gòu)造的控制字相同的控制字CWa。
使用該控制字CWa和函數(shù)D,在步驟94中模塊22解密接收到的加密內(nèi)容CBa。然后模塊22將解密的內(nèi)容Ba發(fā)送至例如電視26用于明文顯示。
對于由發(fā)送器4廣播的每個(gè)數(shù)據(jù)項(xiàng)或者數(shù)據(jù)幀,在系統(tǒng)2的整個(gè)使用階段重復(fù)步驟84至94。
對于描述的剩余部分,假定解碼器j的用戶已經(jīng)將他的基本函數(shù)Gi,j發(fā)送給一個(gè)非法用戶,因此該非法用戶能夠使用盜版解碼器以在例如不付費(fèi)的情況下解密由發(fā)送器4廣播的數(shù)據(jù)。因此解碼器j的用戶是叛徒,因?yàn)樗呀?jīng)非法地和不正當(dāng)?shù)貍魉土耸沟每梢越饷苡砂l(fā)送器4發(fā)送的廣播數(shù)據(jù)的秘密數(shù)據(jù)。
在步驟100中,叛徒搜索階段54開始于捕獲和分析非法用戶的盜版解碼器。在該步驟100中,分析解碼器以便檢測被叛徒非法發(fā)送的基本函數(shù)Gi,j,以及這些函數(shù)Gi,j以什么次序被復(fù)合以將接收到的報(bào)頭EBa轉(zhuǎn)換為控制字CWa。
這里,在盜版解碼器中發(fā)現(xiàn)的基本函數(shù)被記為Gi,p,其中索引i指示為轉(zhuǎn)換控制字EBa、這些基本函數(shù)被使用的順序。
接下來,在步驟102中分析每個(gè)函數(shù)Gi,p以發(fā)現(xiàn)構(gòu)造其所基于的函數(shù)gi。所述分析可能是例如由系統(tǒng)2的操作者使用的,因?yàn)椴僮髡咧烙糜跇?gòu)造系統(tǒng)中的每個(gè)用戶的基本函數(shù)Gi,j的函數(shù)S,T,fi,j和gi。
因此在步驟102之后,系統(tǒng)2的操作者能夠判斷出基本函數(shù)G1,p是由函數(shù)gm構(gòu)造的,基本函數(shù)G2,p是由函數(shù)gn構(gòu)造的,并且對于函數(shù)Gi,p中的每一個(gè)都可以如此判斷出。其中函數(shù)gm和gn的索引m和n分別表示用于構(gòu)造G1,p和G2,p的函數(shù)gi的索引。
基于此信息,在步驟104中,操作者因此能夠重新構(gòu)造在構(gòu)造用于盜版編碼器中使用的基本函數(shù)Gi,p時(shí)使用的排列σj。一旦該排列σj被重新構(gòu)造,在步驟106中,將其與在步驟80中記錄在存儲(chǔ)器14中的不同排列進(jìn)行比較。
通過所述方法,叛徒,即解碼器j的用戶被識別,這是因?yàn)樵谙到y(tǒng)2中,每個(gè)排列σi對應(yīng)于與單個(gè)用戶相關(guān)聯(lián)的單個(gè)解碼器。
因此本系統(tǒng)和本方法被證明特別地能夠防止合法用戶發(fā)送解密加密內(nèi)容CBa所需的數(shù)據(jù)。
已經(jīng)對圖2中的方法對抗密碼分析企圖的健壯性進(jìn)行了研究。特別地,該研究表明圖2的系統(tǒng)和方法能夠抵抗由k個(gè)叛徒聯(lián)合導(dǎo)致的攻擊,k是比2大的正整數(shù)。這里k個(gè)叛徒的聯(lián)合指一組k個(gè)合法用戶,企圖通過共享他們各自的基本函數(shù)Gi,j的集合以構(gòu)造函數(shù)Fk的新的等價(jià)描述。這些非法用戶至多能夠根據(jù)這k組基本函數(shù)Gi,j構(gòu)造出使用新的一組或多組基本函數(shù)Gi,p的集合的函數(shù)。然而基本函數(shù)Gi,p的任何新集合在其排列上都是由從每個(gè)基本函數(shù)集合提取的基本函數(shù)Gi,j的連續(xù)序列復(fù)合成的。例如,對于兩個(gè)叛徒的聯(lián)合,非法用戶可構(gòu)造的基本函數(shù)Gi,p的新集合是由第一叛徒的開始的p個(gè)基本函數(shù){G1,1,G2,1,...,Gp,1}和第二叛徒的最后的r-p個(gè)基本函數(shù){Gp+1,2,...,Gr,2}組成的。為抵抗所述叛徒身份的偽裝企圖,函數(shù)gi的數(shù)目r被選的足夠大,以便在階段54中基于對構(gòu)造其基本函數(shù)Gi,j的集合的排列σj的一部分的識別,至少能夠識別一個(gè)叛徒。例如,對于兩個(gè)叛徒的聯(lián)合,r被選的足夠大,因此或者是基于開始的p個(gè)基本函數(shù)Gi,1,或者基于最后的r-p個(gè)基本函數(shù)Gi,2,至少能夠識別其中的一個(gè)叛徒。
在上述方法中需要注意的是,相同的秘密數(shù)據(jù),即與描述Fk,F(xiàn)k,j相關(guān)聯(lián)的密碼函數(shù)被用于加密和解密,因此所述加密方法與對稱加密算法具有相同性質(zhì)。特別地,基于該性質(zhì),這里描述的方法要快于非稱加密算法。
這里函數(shù)S,T,fi,j必須保持是秘密的,同時(shí)函數(shù)gi可以被任意公開。
在系統(tǒng)2中,只有一個(gè)同樣的用于計(jì)算控制字CWa的函數(shù)被發(fā)送器4和解碼器使用。因此該密碼函數(shù)不需要是可逆的,這使得函數(shù)gi的選擇和構(gòu)造變得容易。然而作為變形,描述Fk對應(yīng)于加密函數(shù),描述Fkj對應(yīng)于該加密函數(shù)的反函數(shù)。在該變形中,嵌入到系統(tǒng)的不同解碼器中的不同描述Fkj相互間等價(jià),并且與由描述Fk定義的函數(shù)的反函數(shù)等價(jià)。描述Fkj的所述構(gòu)造是適合的,唯一區(qū)別是函數(shù)gi在該變量中必須可逆。在例如這種情況下,例如,描述Fk被直接用于加密內(nèi)容Ba,同時(shí)等價(jià)描述Fk,j被直接用于解密被加密的內(nèi)容CBa。
這里對應(yīng)于描述Fk和Fkj的密碼函數(shù)將編碼為n個(gè)字符的初始消息轉(zhuǎn)換為編碼為相同數(shù)量字符的轉(zhuǎn)換消息。相對于初始消息的大小,該密碼函數(shù)不增加轉(zhuǎn)換信息的大小,這與使用非對稱函數(shù)的發(fā)現(xiàn)相反。作為變形,相對于初始消息的大小,密碼函數(shù)增加了轉(zhuǎn)換消息的大小。然而需要注意,在該變形中,該大小的增加與叛徒數(shù)目是無關(guān)的。
已經(jīng)在特定的情況中描述了系統(tǒng)2,其中,描述Fkj與一個(gè)單獨(dú)的解碼器相關(guān)聯(lián)。作為變形,一個(gè)相同的描述Fk,j與一組解碼器相關(guān)聯(lián)。在該變形中,系統(tǒng)2的所有解碼器分為多個(gè)組,因此描述Fk,j不是標(biāo)識特定的一個(gè)解碼器,而是標(biāo)識特定解碼器所屬的組。
權(quán)利要求
1.一種用于加密和/或解密由至少一個(gè)發(fā)送器向多個(gè)解碼器廣播的數(shù)據(jù)的可追蹤方法,該方法使得能夠在所述多個(gè)解碼器的多個(gè)不同合法用戶中識別叛徒,所述叛徒已將秘密數(shù)據(jù)發(fā)送給未授權(quán)的第三方,使得該第三方能夠加密和/或解密由所述發(fā)送器廣播的數(shù)據(jù),其中在加密所述廣播數(shù)據(jù)時(shí),所述發(fā)送器使用至少一個(gè)第一秘密密碼函數(shù),以及在解密所述廣播數(shù)據(jù)時(shí),所有所述解碼器使用至少一個(gè)同樣的第二秘密密碼函數(shù),該第二秘密密碼函數(shù)與所述第一函數(shù)或其反函數(shù)等同,為此,每個(gè)解碼器依靠記錄在存儲(chǔ)器中的所述第二函數(shù)的數(shù)學(xué)描述,其特征在于,在使用所述第二函數(shù)時(shí),每個(gè)解碼器所依靠的該第二函數(shù)的所述數(shù)學(xué)描述在一個(gè)解碼器與另一個(gè)解碼器之間、或者在一組解碼器與另一組解碼器之間是不同的,因此被依靠的所述數(shù)學(xué)描述在所有所述解碼器中唯一標(biāo)識特定的解碼器或者特定的解碼器組。
2.如權(quán)利要求1所述的方法,其特征在于,所述第二密碼函數(shù)能夠處理非冗余數(shù)據(jù)。
3.如權(quán)利要求1或2所述的方法,其特征在于,記錄在每個(gè)解碼器的所述存儲(chǔ)器中的所述數(shù)學(xué)描述(Fkj)是由多個(gè)基本函數(shù)(Gi,j)構(gòu)成的,所述基本函數(shù)(Gi,j)必須以確定的順序相互復(fù)合以構(gòu)成所述第二秘密函數(shù)。
4.如權(quán)利要求3所述的方法,其特征在于,如同下列等式中的每一個(gè)一樣,每個(gè)基本函數(shù)(Gi,j)等于至少三個(gè)函數(shù)的復(fù)合G1,j=f′1,jogσj(1)oSG2,j=f′2,jogσj(2)of1,j…………………………Gr-1,j=f′r-1,jogσj(r-1)ofr-2,jGr,j=Togσj(r)ofr-1,j其中Gi,j是解碼器j的第i個(gè)基本函數(shù),j是標(biāo)識一個(gè)解碼器或者一組解碼器的索引,函數(shù)fi,j和f′i,j是預(yù)定的函數(shù),能夠使得所述基本函數(shù)Gi,j相互間不可交換的,σj是每個(gè)解碼器或者每組解碼器唯一具有的、所有索引{1;...;r}的排列,gσj(t)是由r個(gè)相互間可交換的非線性預(yù)定函數(shù)gi構(gòu)成的預(yù)定整體的第σj(t)個(gè)函數(shù),以及S和T是預(yù)定的函數(shù),分別能夠使得難于對基本函數(shù)G1,j和Gr,j進(jìn)行密碼分析。
5.如權(quán)利要求4或5所述的方法,其特征在于,每個(gè)函數(shù)f′i,j等于函數(shù)fi,j的反函數(shù)f1i,j。
6.如權(quán)利要求4或5所述的方法,其特征在于,所述函數(shù)fi,j是完成體(L)的元素的多元組的集合(Ln)在其自身上的線性函數(shù)。
7.如權(quán)利要求4至6中任何一項(xiàng)所述的方法,其特征在于,所述函數(shù)S和T是可逆的。
8.如權(quán)利要求4至7中任何一項(xiàng)所述的方法,其特征在于,所述函數(shù)S和T是完成體(L)的元素的多元組的集合(Ln)到其自身的線性函數(shù)。
9.如權(quán)利要求4至8中任何一項(xiàng)所述的方法,其特征在于所述函數(shù)gi被選定,因此每個(gè)基本函數(shù)Gi,j對應(yīng)于多元加密算法的加密塊。
10.如權(quán)利要求4至9中任何一項(xiàng)所述的方法,其特征在于,每個(gè)函數(shù)gi的形式為gi(a)=aei,其中a是具有q個(gè)元素的基本體L的n次擴(kuò)展L’的元素,并且ei是預(yù)定的指數(shù)。
11.如權(quán)利要求10所述的方法,其特征在于,所述指數(shù)ei的形式為1+qθ1+...+qθi+...+qθd-1,其中所述指數(shù)θ經(jīng)i是預(yù)定的整數(shù)。
12.一種數(shù)據(jù)記錄介質(zhì),其特征在于,其包括用于執(zhí)行根據(jù)上述權(quán)利要求中的任何一項(xiàng)的可追蹤加密和/或解密方法的指令,當(dāng)由解碼器執(zhí)行這些指令時(shí),執(zhí)行根據(jù)上述權(quán)利要求中的任何一項(xiàng)的可追蹤加密和/或解密方法。
13.一種數(shù)據(jù)記錄介質(zhì),其特征在于,其包括用于執(zhí)行根據(jù)上述權(quán)利要求1至10中的任何一項(xiàng)的可追蹤加密和/或解密方法的指令,當(dāng)由發(fā)送器執(zhí)行這些指令時(shí),執(zhí)行根據(jù)上述權(quán)利要求1至10中的任何一項(xiàng)的可追蹤加密和/或解密方法。
14.一種能夠在不同合法用戶中識別叛徒的可追蹤系統(tǒng),用于加密和/或解密廣播數(shù)據(jù),所述叛徒已將秘密數(shù)據(jù)發(fā)送給未授權(quán)的第三方,因此該第三方能夠加密和/或解密所述廣播數(shù)據(jù),所述系統(tǒng)包括能夠加密廣播數(shù)據(jù)的發(fā)送器,該發(fā)送器能夠使用至少一個(gè)第一秘密密碼函數(shù)以直接處理消息,然后廣播所述消息,能夠解密廣播數(shù)據(jù)的多個(gè)解碼器,所有所述解碼器能夠使用與所述第一函數(shù)或其反函數(shù)等同的第二秘密密碼函數(shù),用于直接處理所述廣播消息,用于此目的的每個(gè)解碼器裝備有存儲(chǔ)器,所述第二函數(shù)的數(shù)學(xué)描述記錄在所述存儲(chǔ)器中;其特征在于,每個(gè)解碼器的所述存儲(chǔ)器包含所述第二函數(shù)的數(shù)學(xué)描述,該描述不同于記錄在其他解碼器的存儲(chǔ)器中的描述,或者不同于記錄在其他解碼器組的存儲(chǔ)器中的描述,因此該數(shù)學(xué)描述在所有所述解碼器中唯一標(biāo)識特定的解碼器或特定的解碼器組。
15.一種與根據(jù)權(quán)利要求13的可追蹤數(shù)據(jù)加密和/或解密系統(tǒng)的解碼器相關(guān)聯(lián)的存儲(chǔ)器,其特征在于,其包括能夠由所述解碼器使用的、與所述第二秘密函數(shù)等價(jià)的數(shù)學(xué)描述,該數(shù)學(xué)描述由多個(gè)基本函數(shù)(Gi,j)組成,所述基本函數(shù)(Gi,j)中的每一個(gè)都等于至少三個(gè)函數(shù)的復(fù)合,如同下列等式中的每一個(gè)一樣G1,j=f′1,jogσj(1)oSG2,j=f′2,jogσj(2)of1,j…………………………Gr-1,j=f′r-1,jogσj(r-1)ofr-2,jGr,j=Togσj(r)ofr-1,j其中Gi,j是解碼器j的第i個(gè)基本函數(shù),j是標(biāo)識一個(gè)解碼器或者一組解碼器的索引,函數(shù)fi,j和f′i,j是預(yù)定的函數(shù),能夠使得所述基本函數(shù)Gi,j相互間不可交換,σj是每個(gè)解碼器或者每組解碼器唯一具有的、所有索引{1;...;r}的排列,gσj(t)是由r個(gè)相互間可交換的非線性預(yù)定函數(shù)gi構(gòu)成的預(yù)定整體的第σj(t)個(gè)函數(shù),以及S和T是預(yù)定的函數(shù),分別能夠使得難于對基本函數(shù)Gl,j和Gr,j進(jìn)行密碼分析。
全文摘要
本發(fā)明涉及用于加密和/或解密由至少一個(gè)發(fā)送器向多個(gè)解碼器廣播的數(shù)據(jù)的非組合的可追蹤方法,該方法不需要廣播大量加密的報(bào)頭,其中,在加密廣播數(shù)據(jù)時(shí),發(fā)送器執(zhí)行(在86中)至少一個(gè)第一秘密函數(shù),以將未加密的消息轉(zhuǎn)換為加密消息;并且在解密所述廣播數(shù)據(jù)時(shí),所有解碼器執(zhí)行(在92中)至少一個(gè)共同的第二秘密函數(shù),各個(gè)解碼器使用其存儲(chǔ)在存儲(chǔ)器(21)中的第二函數(shù)的數(shù)學(xué)描述,所述第二函數(shù)的數(shù)學(xué)描述在各個(gè)解碼器之間或在各組解碼器之間是不同的,因此,所使用的數(shù)學(xué)描述唯一地標(biāo)識特定的解碼器或解碼器組。
文檔編號H04L9/30GK1836396SQ200480023523
公開日2006年9月20日 申請日期2004年6月2日 優(yōu)先權(quán)日2003年6月17日
發(fā)明者大衛(wèi)·阿迪蒂·莫迪亞諾, 奧利維耶·比耶, 亨利·吉爾貝 申請人:法國電訊