專利名稱:加擾和解擾數(shù)據(jù)單元的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種加擾數(shù)據(jù)流的方法,包括從數(shù)據(jù)流中獲取一串第一數(shù)據(jù)塊序列,反轉(zhuǎn)每個第一塊序列中的塊的順序來形成相應(yīng)的第二數(shù)據(jù)塊序列,以及在塊鏈接模式中用一個密碼加密每個第二塊序列中的塊,被每個第二塊序列的相應(yīng)初始化矢量所初始化。
本發(fā)明也涉及一種用于加擾數(shù)據(jù)流的系統(tǒng),包括一個輸入端,用于接收作為一串第一數(shù)據(jù)塊序列的流,多個寄存器以及至少一個邏輯單元,用于反轉(zhuǎn)每個第一塊序列中的塊的順序來形成相應(yīng)的第二數(shù)據(jù)塊序列,以及一個處理裝置,用于在塊鏈接模式中用一個密碼加密每個第二塊序列中的塊,由每個第二塊序列相應(yīng)的初始化矢量進行的初始化。
本發(fā)明也涉及一種解擾被加擾的數(shù)據(jù)來形成數(shù)據(jù)流的方法,包括從加擾數(shù)據(jù)流中獲取一串加擾數(shù)據(jù)塊的序列,以及通過使用在反轉(zhuǎn)鏈接模式中的一解密密碼來解擾每個加擾的數(shù)據(jù)塊序列以形成一個相關(guān)的解擾數(shù)據(jù)塊的序列,其中,解擾一加擾數(shù)據(jù)塊序列,通過向所述相關(guān)加擾數(shù)據(jù)塊序列中的最后一個塊應(yīng)用所述解密密碼、以及應(yīng)用以至少一初始化矢量和所述解密密碼的結(jié)果作為操作數(shù)的算符,來獲得所述解擾數(shù)據(jù)塊序列中的最后一個塊,并且其中通過對加擾數(shù)據(jù)塊序列上相應(yīng)位置的塊應(yīng)用所述解密密碼、以及應(yīng)用以至少所述解密密碼的結(jié)果和在加擾數(shù)據(jù)塊序列中下一位置的加擾數(shù)據(jù)塊作為操作數(shù)的算符,來獲得在解擾數(shù)據(jù)塊序列中最后塊之前的每個塊。
本發(fā)明也涉及一種解擾加擾的數(shù)據(jù)來形成數(shù)據(jù)流的系統(tǒng),包括一個輸入端,用于接收加擾數(shù)據(jù)流作為一串加擾數(shù)據(jù)塊序列,以及一個處理裝置,用于解擾每個加擾的數(shù)據(jù)塊序列以形成一個相關(guān)的解擾數(shù)據(jù)塊的序列,這是通過使用反轉(zhuǎn)鏈接模式中的解密密碼來實現(xiàn),其中,解擾加擾的數(shù)據(jù)塊序列,獲得解擾數(shù)據(jù)塊序列中的最后一個塊,這是通過向相關(guān)加擾數(shù)據(jù)塊序列中的最后一個塊應(yīng)用所述解密密碼、以及應(yīng)用以至少一初始化矢量和所述解密密碼的結(jié)果作為操作數(shù)的算符,以及獲得在解擾數(shù)據(jù)塊序列中最后塊之前的每個塊,這是通過對加擾數(shù)據(jù)塊序列上相應(yīng)位置的塊應(yīng)用所述解密密碼、以及應(yīng)用以至少所述解密密碼的結(jié)果和在加擾數(shù)據(jù)塊序列中下一位置的解擾數(shù)據(jù)塊作為操作數(shù)的算符。
本發(fā)明也涉及一種用于發(fā)送和接收數(shù)據(jù)的設(shè)備。
本發(fā)明還涉及一種計算機程序。
這些方法和系統(tǒng)的相應(yīng)實施例可以從WO95/10906中得知。在所述已知的方法中,數(shù)字?jǐn)?shù)據(jù)被分成N塊的包,X(1),X(2),……X(N),其中每個塊具有2m個比特。塊序列在加密操作進行前被翻轉(zhuǎn)成X(N),X(N-1),……X(1)。這個塊序列用加密算法E以如下方法進行加密(其中^用來表示異或(XOR)算符)Y(1)=E[X(N )^IV]Y(i)=E[X(N-i+1)^Y(i-1)]其中i>1且i≤N。
再次將這些加密的塊進行反轉(zhuǎn),從而將序列Y(N),Y(N-1),……Y(1)傳輸?shù)浇邮掌鳌?br>
在接收器端,解密算法D的裝置這樣獲得原始數(shù)據(jù)塊X(i)=D[Y(N-i+1)^Y(N-i)]其中i=1,2,……,N-1X(N)=D[Y(1)]^IV所述已知系統(tǒng)中所使用的方法被稱為反轉(zhuǎn)密碼塊鏈接或者說RCBC方法。這顯示出了接收器的緩沖存儲器僅需要存儲兩個數(shù)據(jù)塊的優(yōu)點。
已知方法和系統(tǒng)的問題在于,它要求在發(fā)送器端緩沖器具有存儲N個塊的容量,以便實現(xiàn)塊序列的反轉(zhuǎn)。這在具有許多加密數(shù)據(jù)發(fā)送器的數(shù)據(jù)通信系統(tǒng)、或者同時具有數(shù)據(jù)發(fā)送器和接收器功能的設(shè)備中成為了一個問題。
發(fā)明內(nèi)容
本發(fā)明的一個目的在于提供一種類型的方法、系統(tǒng)、設(shè)備和計算機程序,用于在提供可接受的內(nèi)容保護等級的同時可以更加高效地打開段。
該目的通過根據(jù)本發(fā)明的加擾數(shù)據(jù)流的方法實現(xiàn),其特征在于,針對流中數(shù)據(jù)單元所包括的一連串第一塊序列,依賴于所述單元中先前的第一塊序列中的至少一個塊,生成至少一個初始化矢量用于加密單元中由第一塊序列所形成的第二塊序列。
由于數(shù)據(jù)單元包括一串第一塊序列,每個第一塊序列由較少的塊形成,這意味著反轉(zhuǎn)塊的順序需要較少的緩沖存儲。這有可能得到滿意的安全等級,因為至少兩個第二塊序列被有效地鏈接了。這個鏈接是由于如下事實,根據(jù)所述單元中先前第一塊序列中的至少一個塊,生成至少一個初始化矢量——在要求最高安全性的情況下是除了第一個之外的每一個——用于加密從第一塊序列形成的第二塊序列。
在一個實施例中,依賴于相同第一序列中最后一塊之前的至少一個數(shù)據(jù)塊,生成相應(yīng)的初始化矢量,以用于加密由第一塊序列所形成的每個第二塊序列中的塊。
這樣的效果是實現(xiàn)了初始化矢量中更多的變化。即使一個單元中包括的串中第一塊序列的第一個的塊都用一個很大可能是唯一的初始化矢量進行加擾。變化的保證是通過依賴于相同第一序列最后一塊之前的至少一個數(shù)據(jù)塊生成所述初始化矢量而實現(xiàn)的。由于每個第一序列中塊的順序的反轉(zhuǎn),在解密器要求初始化矢量之前,生成所述初始化矢量所依賴的一個或多個數(shù)據(jù)塊就可以在解密過程中獲得。因此,可能以相對高的可能性來實現(xiàn)所述單元中包括的一串第一序列中每個第一序列的初始化矢量的唯一性,而不需要向接收器為每個第一序列的提供一個新的初始化矢量。
在一個實施例中,依賴于所述單元中任何先前的第一塊序列中每一個的至少一個塊,來生成每個初始化矢量,以用于加密由所述單元中第一塊序列所生成的第二塊序列。
因此,第二序列之間的鏈接是最大的,因為在沒有預(yù)先獲得單元中第一序列串中的所有先前第一塊序列的情況下,最后一個第一數(shù)據(jù)塊序列不能不用密碼(in the clear)得出。
一個實施例包括接收數(shù)據(jù)包,其中該數(shù)據(jù)包包括報頭和有效載荷,所述單元由有效載荷組成。
這是更優(yōu)的實施例,因為有效載荷可以被加擾而不需要首先對其全部緩沖。
在一個實施例中,所述密碼為一個塊密碼,被配置用來處理預(yù)定大小的基本塊,其中至少第二數(shù)據(jù)序列中的塊在大小上對應(yīng)于所述基本塊大小。
在一個實施例中,如果所述單元由第一塊序列的串和隨后的在大小上相當(dāng)于少于所述基本塊大小的倍數(shù)的數(shù)據(jù)量組成,將所述數(shù)據(jù)量填充到等于基本塊的大小的倍數(shù)的大小,以形成至少兩個塊的第一末尾序列,交換第一末尾塊序列的最后兩個塊,并且反轉(zhuǎn)第一末尾塊序列的塊的順序以形成第二末尾數(shù)據(jù)塊序列,使用在塊鏈接模式中的密碼來加密第二末尾數(shù)據(jù)塊序列的塊,由依賴于所述單元的先前第一塊序列中至少一個塊所生成的初始化矢量來進行初始化。
因此,該方法適于實現(xiàn)某種形式的密文挪用(ciphertextstealing)。這是保證整個單元都被加擾的一種相關(guān)安全方法。此外,它允許使用由預(yù)定數(shù)目的塊組成的第一序列來加擾所述單元的第一部分。
在一個實施例中,如果流中的下一個單元由零或者更多個預(yù)定數(shù)目塊的第一序列和在大小上相當(dāng)于少于一個基本塊大小的數(shù)據(jù)量組成,那么將該數(shù)據(jù)量填補成一個相當(dāng)于基本塊的大小,來形成一個最后的塊。
使用塊鏈接模式中的密碼來加密最后的塊,被依賴于所述單元的一個先前第一塊序列中的至少一個塊所生成的初始化矢量進行初始化。
因此,隨后的數(shù)據(jù)量不需要不用密文(in the clear)地傳輸,即使其數(shù)據(jù)量少于所述密碼配置的所述基本塊大小。
在本實施例的一個變體中,初始化矢量是通過在一個矢量上執(zhí)行密碼操作(優(yōu)選地是一個解密,是所述密碼的反轉(zhuǎn))來產(chǎn)生,基于獨立于單元中任何先前第一塊序列的任何塊的至少一個矢量。
其效果在于所述初始化矢量的變化可以通過使用與用來生成加擾先前單元的塊數(shù)據(jù)的一個初始化矢量的相同矢量來實現(xiàn)。因此,需要傳輸給解擾器的矢量更少,同時保持了一樣好的安全性。使用作為所述密碼的反轉(zhuǎn)的解密,效果在于使用了為了解碼目的已經(jīng)存在的的解擾器的硬件和/或軟件配置。
根據(jù)另一方面,本發(fā)明的加擾數(shù)據(jù)流的系統(tǒng),其特征在于,針對包括在流中數(shù)據(jù)單元中的一串第一塊序列,系統(tǒng)被配置為依賴于所述單元中先前的第一塊序列中的至少一個塊,生成至少一個初始化矢量,用于加密由單元中第一塊序列所形成的第二塊序列。
出于對效率的考慮,該系統(tǒng)非常適于包含在專用加密處理器中。
優(yōu)選地,系統(tǒng)被配置來執(zhí)行根據(jù)本發(fā)明的一種方法。
根據(jù)另一方面,本發(fā)明的解擾被加擾數(shù)據(jù)流的方法,其特征在于,針對包括在加擾數(shù)據(jù)流中數(shù)據(jù)單元內(nèi)的一串加擾數(shù)據(jù)塊序列,依賴于通過解擾所述單元中一個先前加擾數(shù)據(jù)塊序列而獲得的解擾數(shù)據(jù)塊序列中的至少一個解擾數(shù)據(jù)塊,生成至少一個初始化矢量用于解擾被加擾的數(shù)據(jù)塊序列。
該方法適合解擾那些使用根據(jù)本發(fā)明的加擾數(shù)據(jù)流的方法所獲得的加擾數(shù)據(jù)。由于串中的數(shù)據(jù)塊序列是分離的、并且按次序解擾的,所以如果序列中的塊不是按次序(例如,反轉(zhuǎn)次序)接收的也沒有關(guān)系,因為序列比整個序列串要短。由于依賴于通過解擾所述單元中一個先前加擾數(shù)據(jù)塊序列而獲得的解擾數(shù)據(jù)塊序列中的至少一個解擾數(shù)據(jù)塊,來生成至少一個初始化矢量用于解擾被加擾數(shù)據(jù)塊序列,至少兩個加擾數(shù)據(jù)的塊序列是鏈接的,使得非法解擾變得更加困難。
在一個實施例中,依賴于通過對在相同序列中最后的加擾數(shù)據(jù)塊之前的加擾數(shù)據(jù)塊序列中的塊應(yīng)用所述解密密碼、以及通過應(yīng)用以至少在相同加擾數(shù)據(jù)塊序列的下一位置的加擾數(shù)據(jù)塊和所述解密密碼的結(jié)果作為操作數(shù)的算符而獲得的至少一個數(shù)據(jù)塊,來生成相應(yīng)初始化矢量用于解擾每個加擾數(shù)據(jù)塊序列。
這樣的優(yōu)點是,多個單元的流不需要為了實現(xiàn)初始化矢量的有效變化,而將大量初始化矢量從加擾器傳輸?shù)浇鈹_器。
在一個實施例中,每個用于解擾所述單元中的加擾數(shù)據(jù)塊序列的初始化矢量的生成,依賴于來自解擾所述單元中一個先前的加擾數(shù)據(jù)塊序列而得到的任何解擾數(shù)據(jù)塊序列中每一個的至少一個解擾數(shù)據(jù)塊。
因此,實際上,所述單元中包括的串中所有的序列都被鏈接了。
一個實施例包括接收數(shù)據(jù)包,數(shù)據(jù)包括報頭和有效載荷,其中單元由有效載荷組成。
在一個實施例中,解密密碼為一個塊密碼,其被配置為處理預(yù)定大小的基本塊,其中加擾數(shù)據(jù)塊序列中的塊在大小上對應(yīng)于所述基本塊大小。
在一個實施例中,如果所述單元由加擾數(shù)據(jù)塊序列串以及隨后的在大小上等于所述基本塊大小的整數(shù)倍和所述基本塊大小的一部分的數(shù)據(jù)量組成,將該數(shù)據(jù)量用預(yù)定的數(shù)據(jù)填補成等于基本塊的大小的倍數(shù),來形成一個加擾數(shù)據(jù)塊的末尾序列,
形成一解擾數(shù)據(jù)塊末尾序列的最后一個塊,這是通過對直接在加擾數(shù)據(jù)末尾序列最后的塊之前緊鄰的一個塊應(yīng)用所述解密密碼、應(yīng)用以解密密碼的結(jié)果和所述末尾加擾數(shù)據(jù)塊序列的最后塊作為操作數(shù)的異或算符,以及刪除對應(yīng)預(yù)定數(shù)據(jù)大小的、作為異或算符結(jié)果的一部分,形成解擾數(shù)據(jù)塊末尾序列中最后兩個塊之前的任意一個塊,這是通過向第一末尾加擾數(shù)據(jù)塊序列中相應(yīng)位置的一個塊應(yīng)用所述解密密碼、以及應(yīng)用具有解密密碼的結(jié)果和末尾加擾數(shù)據(jù)塊序列中下一位置的一個解擾數(shù)據(jù)塊作為操作數(shù)的異或算符,以及獲得解擾數(shù)據(jù)塊末尾序列中最后塊之前的一個塊,這是通過對將對應(yīng)預(yù)定數(shù)據(jù)大小的所刪掉的部分和末尾加擾數(shù)據(jù)塊序列的最后塊進行串連而形成的塊應(yīng)用解密密碼、以及應(yīng)用以解密密碼的結(jié)果和一個依賴于由解擾所述單元中一個先前加擾數(shù)據(jù)塊序列所獲得的至少一個解擾數(shù)據(jù)塊而產(chǎn)生的初始化矢量為操作數(shù)的異或算符。
這是一個在解擾器端的密文挪用(ciphertext stealing)的實施例。
在一個實施例中,如果下一個單元由零或者更多個預(yù)定數(shù)目塊序列和在大小上少于一個基本塊大小的隨后數(shù)據(jù)量組成,那么將該數(shù)量的數(shù)據(jù)填補成一個基本塊的大小,以形成一個最后的塊,使用塊鏈接模式中的密碼來加密最后的塊,由初始化矢量進行初始化,該初始化矢量的生成依賴于由解擾所述單元中一個先前的加擾數(shù)據(jù)塊序列獲得的任何解擾數(shù)據(jù)塊序列中至少之一的至少一個塊。
使用預(yù)定塊數(shù)目的序列的效果在于,不需要將每個序列中的塊數(shù)目發(fā)送到解擾器。單元間的分界也是預(yù)定的,例如在單元由有效載荷的包組成的情況下,任何大小上小于密碼的基本塊大小的數(shù)據(jù)仍然可以加密的形式被發(fā)送到解擾器。與未加擾單元相比,不需要增加加擾單元的大小。
在一個變體中,通過在一個矢量上執(zhí)行密碼處理(優(yōu)選的,所述解密密碼)來生成所述初始化矢量,這是基于至少一個矢量,該矢量獨立于由解擾所述單元中先前加擾數(shù)據(jù)塊序列而獲得的任何先前解擾數(shù)據(jù)塊中的任何塊。
這意味著解擾器不需要接收和存儲多個用來導(dǎo)出初始化矢量的矢量。用來導(dǎo)出初始化矢量的矢量可以在流中一定數(shù)目的數(shù)據(jù)單元上保持不變。密碼操作保證了決不將其直接作為操作數(shù)用于邏輯算符,例如異或算符。
根據(jù)另一方面,根據(jù)本發(fā)明的用于解擾加擾數(shù)據(jù)流來形成數(shù)據(jù)流的系統(tǒng),其特征在于,對于包括在加擾數(shù)據(jù)流中數(shù)據(jù)單元內(nèi)的一串加擾數(shù)據(jù)塊序列,依賴于通過解擾所述單元中一個先前加擾數(shù)據(jù)塊序列而獲得的解擾數(shù)據(jù)塊序列中的至少一個解擾數(shù)據(jù)塊,系統(tǒng)被配置為生成至少一個初始化矢量,用于解擾加擾的數(shù)據(jù)塊序列。
優(yōu)選地,該系統(tǒng)配置用于執(zhí)行根據(jù)本發(fā)明的一種解擾方法。
根據(jù)本發(fā)明的另一方面,它提供了一種用于發(fā)送和接收數(shù)據(jù)的裝置,包括配置為應(yīng)用根據(jù)本發(fā)明的加擾數(shù)據(jù)流的方法以及根據(jù)本發(fā)明的解擾加擾數(shù)據(jù)流的方法的設(shè)備。
因為互補的加擾和解擾的方法可以用同樣的緩沖要求來實現(xiàn),該裝置不需要用于存儲兩個操作之一中所不使用的塊的寄存器。因此,更經(jīng)濟地硬件實現(xiàn)變?yōu)榭赡?,特別適用于一個被配置為同時具有發(fā)送器和接收器功能的設(shè)備,例如兩個網(wǎng)絡(luò)之間的網(wǎng)關(guān)。
根據(jù)本發(fā)明的另一個方面,提供了包括一組指令的計算機程序,當(dāng)同機器可讀介質(zhì)結(jié)合時,可以使一個系統(tǒng)具有信息處理能力,以執(zhí)行根據(jù)本發(fā)明的加擾數(shù)據(jù)流的方法或根據(jù)本發(fā)明的解擾加擾的數(shù)據(jù)流的方法。
接下來參考附圖對本發(fā)明進行更加詳細(xì)的闡述,其中圖1描述了用于實現(xiàn)加擾和解擾廣播數(shù)據(jù)流方法的系統(tǒng),圖2描述了加擾數(shù)據(jù)流的方法的一個實施例,圖3描述了在加擾數(shù)據(jù)流的方法中的密文挪用方法的一個實施例,圖4描述了怎樣處理組成MPEG-2傳輸流包的有效載荷末尾的單個部分塊,圖5描述了解擾數(shù)據(jù)流的方法的一個實施例,圖6描述了在解擾器中密文挪用方法的一個實施例,圖7描述了在解擾器中,怎樣處理組成MPEG-2傳輸流包的有效載荷末尾的單個部分塊。
具體實施例方式
圖1描述了對廣播數(shù)據(jù)應(yīng)用加擾方法。所描述的系統(tǒng)的至少一部分使用的技術(shù)基本可得知于“數(shù)字視頻廣播(DVB);ImplementingGuidelines of the DVB Simulcrypt Standard”,ETSI技術(shù)報告TR102035 v1.1.1,歐洲電信標(biāo)準(zhǔn)協(xié)會,2002。
內(nèi)容提供器1向復(fù)用單元2提供包流,包攜帶純文本的、即未加擾的內(nèi)容數(shù)據(jù)。授權(quán)控制信息(ECM)發(fā)生器3向復(fù)用單元2提供攜帶ECM的包流。授權(quán)管理信息(EMM)發(fā)生器4向復(fù)用單元2提供攜帶EMM的包流。這些流被復(fù)用成MPEG-2傳輸流(TS)包的單一流,并被提供給加擾器5。MPEG-2 TS包的語法在國際標(biāo)準(zhǔn)ISO/IEC13818-1中有更全面的描述。加擾器5執(zhí)行加擾MPEG-2 TS包的有效載荷的方法將會在下面更詳細(xì)地進行描述。它從CW發(fā)生器6接收控制字(CW),其用作一個塊密碼的密鑰。
CW發(fā)生器6向ECW發(fā)生器3提供CW,ECW發(fā)生器3用由用戶授權(quán)系統(tǒng)(SAS)7獲得的一個會話密碼將它們加密。SAS提供帶有對獨立用戶授權(quán)的會話密鑰到EMM發(fā)生器4。EMM發(fā)生器包括這些密鑰以及授權(quán)信息在EMM中,尋址到提供給單獨用戶的安全令牌。該安全令牌可包括軟件代理,其使用例如用于避免軟件中例程分析的代碼模糊這樣的特征來實現(xiàn)。安全令牌的其它例子包括,包含了處理器的設(shè)備,所述處理器被提供保護性特征以防止訪問存儲在其上的數(shù)據(jù)和/或布線其中的例程分析。
將加擾數(shù)據(jù)流從加擾器5中傳送到調(diào)制器8,并從那里傳送到發(fā)射器9。發(fā)射器9在廣播網(wǎng)絡(luò)10上,例如衛(wèi)星、電纜或地面網(wǎng)絡(luò)、或包括多個這些網(wǎng)絡(luò)的網(wǎng)絡(luò)上,廣播加擾數(shù)據(jù)流。在一個可替換的實施例中,加擾的MPEG-2 TS包流被進一步封裝成數(shù)據(jù)包,并且在數(shù)據(jù)網(wǎng)絡(luò)上廣播、多播或單播,例如互聯(lián)網(wǎng)協(xié)議上的網(wǎng)絡(luò)。
為了示意的目的,在圖1中示出一個基本集成接收解碼器(IRD)11?;綢RD包括用于接收經(jīng)廣播網(wǎng)絡(luò)10發(fā)送的數(shù)據(jù)的網(wǎng)絡(luò)適配器。解調(diào)器13使得加擾器/解擾器14可以獲得加擾數(shù)據(jù)流。所述加擾器/解擾器14被配置為用于同時執(zhí)行解擾數(shù)據(jù)流的方法和加擾數(shù)據(jù)流的方法。處理器15控制基本IRD 11的操作。它可以將由加擾器/解擾器14產(chǎn)生的加擾數(shù)據(jù)流引導(dǎo)到第二網(wǎng)絡(luò)適配器16中,其將基本IRD11連接到本地網(wǎng)絡(luò)17上。本地網(wǎng)絡(luò)17可以是一個家庭網(wǎng)絡(luò),例如基于IEEE 1394標(biāo)準(zhǔn)。所提供的第二接收器18具有相應(yīng)的網(wǎng)絡(luò)適配器19和解擾器芯片20。進一步的部件沒有詳細(xì)示出。解擾器芯片20執(zhí)行與加擾器/解擾器14相同的方法。因為這個原因,將不再進一步進行描述。
回到加擾器/解擾器14,這個部件將使用條件訪問子系統(tǒng)(CASS)21提供的CW來解擾加擾的MPEG-2 TS包。CASS 21與一安全處理設(shè)備22相連,例如將用于解密CEM的密鑰提供給第一解密器23的智能卡。第一解密器23獲得傳送到加擾器/解擾器14的CW。第二解密器24解密EMM,來向安全處理設(shè)備22提供用于獲取服務(wù)密鑰所需的信息。處理器指導(dǎo)去復(fù)用單元25來重新獲得攜帶ECM和EMM的MPEG-2 TS包,從而將它們提供給CASS 21。
圖2描述了加擾數(shù)據(jù)流的方法的實施例,例如由加擾器5和/或加擾器/解擾器14來完成。在所描述的實施例中,該方法是在由MPEG-2 TS包27的有效載荷26組成的數(shù)據(jù)單元上實現(xiàn)的,MPEG-2TS包27進一步包括報頭28。報頭28不被加擾,而是不用密文地保留。顯然該方法可以在其他類型的包上實現(xiàn),而并不需要用一個傳輸層網(wǎng)絡(luò)協(xié)議來定義。例如,該方法也可以在MPEG-2 TS包27中攜載的節(jié)目元素流(PES)包上實現(xiàn)。
盡管MPEG-2 TS包27具有固定長度,188字節(jié),有效載荷26不是這樣。這是由于改變了包頭28的長度。在圖2描述的實施例中,有效載荷26的大小,可以被劃分成固定大小的基本塊Pi的整數(shù)倍,也等同于所謂的超級塊的整數(shù)倍。每個超級塊是由一個基本塊Pi的第一序列組成。第一個第一序列29和最后一個第一序列30被明確地示出。一串超級塊構(gòu)成了有效載荷26。在一個實施例中,每個超級塊由三個基本塊Pi的第一序列29,30組成。在另一個實施例中,每個超級塊可能有兩個基本塊Pi。每個超級塊中也可以有多于三個,例如,四個、五個或十個基本塊。更多的數(shù)量要求加擾器5和/或加擾器/解擾器14中有更多的寄存器。
下面進一步討論當(dāng)有效載荷26的大小不等于由整數(shù)個基本塊Pi組成的超級塊的整數(shù)倍的情況下,所進行的步驟。
在本方法的另一個變化(未示出)中,有效載荷26被分成可變大小的超級塊,即包含可變數(shù)目的基本塊Pi。
基本塊的大小優(yōu)選地由塊密碼Ek來確定,一個對稱的密鑰密碼,其伴隨不變的轉(zhuǎn)換作用于固定長度的比特組(基本塊)。在所描述的實施例中,塊密碼Ek用于在CW下加密單獨的基本塊Pi。合適的密碼例子包括DES,三重DES以及AES/Rijndeal。因此,基本塊的大小通常是128比特。
在本發(fā)明的第一個步驟中,反轉(zhuǎn)第一個第一序列29中基本塊P1-P3來形成第一個第二序列31。
在第二個步驟中,在密碼塊鏈接模式中使用塊密碼Ek來加密第一個第二序列31中的三個基本塊P1-P3,其由與第一個第二序列相關(guān)的初始化矢量IV3進行初始化。用于查找初始化矢量IV3的、與基本塊的第一個第二序列31相關(guān)的索引,就是序列中最后的基本塊P3的索引,這將貫穿本文所述的情況。用于加密基本塊的相關(guān)第一個第二序列31的初始化矢量IV3是應(yīng)用異或算符所形成的,其操作數(shù)為長期固定的初始化矢量IV0和在基本塊P1-P3的第一個第一序列29最后一個基本塊P3之前的兩個基本塊P1,P2之間的異或。
加擾有效載荷26的方法被配置成,長期固定的初始化矢量IV0從不直接被用作初始化矢量。它從不直接用在第二(即反轉(zhuǎn)的)塊序列中的第一基本塊Pi的塊密碼Ek操作之前緊鄰的異或操作。由于這個原因,它可以用于多個MPEG-2 TS包27,而基本上不會使破譯變得更加簡單。長期固定的初始化矢量IV0不需要保密。當(dāng)這里概述的加擾和解擾數(shù)據(jù)單元的方法用于點對點通信時,它就是已知的。在圖1所示的情況下,其中單個的提供器控制發(fā)送器和接收器,對長期固定的初始化矢量IV0可以進行保密。例如,它可以在ECM或EMM中提供。在一個可替換的實施例中,通過對報頭28中包括的數(shù)據(jù)應(yīng)用預(yù)定的算法,來獲得獨立于要加擾的數(shù)據(jù)的一個矢量,用于從中導(dǎo)出初始化矢量。
因為用于加密塊的相關(guān)第一個第二序列31中的塊P1-P3的初始化矢量IV3,依賴于作為其獲得來源的第一個第一序列29中最后塊P3之前的至少一個數(shù)據(jù)塊而生成,所以實現(xiàn)了初始化矢量的更多變化。
加密第一個第二序列31的結(jié)果是加擾塊C3-C1的第一個第一序列32。在所描述的實施例中,加擾塊C3-C1的順序被反轉(zhuǎn)來形成加擾塊C1-C3的第一個第二序列33。將加擾塊C1-C3的第一個第二序列33插入到加擾的MPEG-2 TS包34中,其包括一個未加密的報頭35和一個加擾的有效載荷36。
因此,對于基本塊Pi,i=1...M的第一個第一序列29來說,加密的基本塊Ci按照如下方法獲得CM=Ek[PM^IVM]Ci=Ek[Pi^Ci+1],i=M-1...1。
通常,加密的基本塊按如下方式建立Cj·M=Ek[Pj·M^IVj·M]C(j-1)·M+i=Ek[P(j-1)·M+i^C(j-1)·M+i],i=M-1...1,j=1...N\M。
符號“\”指的是商或者比值的整數(shù)部分。
在所描述的實施例中,用于加密第j個第二序列中的塊的初始化矢量IVj·M按照如下方法獲得IVj·M=IV0^P1^...Pi^Pj·M-1。
因此,用于加密通過反轉(zhuǎn)塊順序且由第一塊序列所形成的每個第二塊序列中的塊的各個初始化矢量,依賴于在相同第一序列中最后一塊之前的至少一個數(shù)據(jù)塊而生成。在該實施例中,它們的生成依賴于在相同第一序列中最后一塊之前的所有數(shù)據(jù)塊。
不僅如此,用于加密由包有效載荷26中的第一塊序列形成的第二塊序列的每個初始化矢量是依賴于至少一個塊產(chǎn)生的,在這種情況下是所有塊,在基本塊或“超級塊”的任何先前第一序列的每一個中。
為了加密由反轉(zhuǎn)最后的基本塊第一序列30中的基本塊順序所得到的最后一個第二序列37中的塊PN-2-PN,再次在密碼塊鏈接模式中處理加密密碼Ek。通過執(zhí)行長期固定的初始化矢量IV0與最后一個基本塊PN之前每個基本塊的異或運算,生成一個與最后一個第二基本塊序列相關(guān)的初始化矢量IVN。其結(jié)果是加擾數(shù)據(jù)塊的最后一個第一序列38。反轉(zhuǎn)塊的順序來獲得加擾數(shù)據(jù)塊的最后一個第二序列39。
圖3描述了如果MPEG-2 TS包有效負(fù)載26由N\M整數(shù)個第一基本塊序列以及隨后在大小上少于M個基本塊的數(shù)據(jù)量組成,那么如何進行加擾方法。在所描述的實施例中,最后的數(shù)據(jù)量可以被分成兩個完整的基本塊PN-2,PN-1以及一個部分塊PN。最后的塊PN用零填充到與完整基本塊相同的大小。因此,第一末尾序列由塊PN-2,PN-1和所填充的第N個塊PN組成。交換第一末尾塊序列的最后兩個塊的位置來形成第二末尾塊序列40(如圖3所示)。用塊鏈接模式中的加密密碼Ek來加密第二末尾塊序列40中的塊。由于通過執(zhí)行長期固定的初始化矢量IV0與MPEG-2 TS包有效負(fù)載26中部分塊PN之前的最后一個完整基本塊PN-1之前每個基本塊的異或運算,生成一個初始化矢量作為初始化矢量IVN。其結(jié)果是加擾數(shù)據(jù)塊的第一末尾序列41。從第一末尾塊序列41的第一個塊中,去除在大小和位置上對應(yīng)于經(jīng)填充增加的數(shù)據(jù)的一定量的加擾數(shù)據(jù)C’,并接著反轉(zhuǎn)塊的順序來獲得一個第二末尾加擾塊序列(未示出),將其插入到加擾的有效載荷36中。當(dāng)然,可以在反轉(zhuǎn)塊的順序之后將加擾數(shù)據(jù)C’刪除。
如果MPEG-2 TS包有效負(fù)載26由N\M整數(shù)個第一基本塊序列以及隨后在大小上少于一個基本塊的數(shù)據(jù)量組成,那么就采取圖4中描述的操作。部分塊PN用零填充成完整大小的最后塊42。依賴于長期固定得初始化矢量IV0和包有效載荷26的任何先前第一塊序列中至少一個塊,來生成一個初始化矢量IVN??赡軙霈F(xiàn)沒有先前第一序列的情況。為了不在異或運算中直接將長期固定的初始化矢量IV0作為操作數(shù)使用,首先通過使用加密密碼Ek的反轉(zhuǎn)作為解密密碼,將所述CW作為密鑰,來解密與完整大小的最后塊39相關(guān)的初始化矢量IVN。通過應(yīng)用塊密碼Ek,獲得對所述結(jié)果和完整大小的最后塊42的異或,并對其加密。其結(jié)果是完整大小的加擾塊43,其通過刪除在大小和位置上對應(yīng)于填充部分塊PN而添加的數(shù)據(jù)部分,而被截短。將保留的部分CN插入加擾有效載荷36。
以這樣的方式加擾一串MPEG-2 TS包27的有效載荷,從而形成加擾的數(shù)據(jù)流。密文挪用以及處理單個部分塊的方法保證了加擾的有效載荷36在大小上等于原始明文MPEG-2 TS包27的有效載荷26。因此,與明文MPEG-2 TS包27的報頭相比,加擾的MPEG-2 TS包34的報頭35基本上不需要修改,除非要指出它已經(jīng)被加擾了,以及可選地奇數(shù)和偶數(shù)CW之一已被用于塊密碼Ek。
圖5描述了對應(yīng)于圖2所描述的加擾操作的解擾操作。如同圖2中的情況,圖5基于在加擾的有效載荷36中準(zhǔn)確地具有N\M個“超級塊”的假設(shè)。加擾的有效載荷36組成了一串加擾數(shù)據(jù)塊Ci序列,每個序列對應(yīng)于一個“超級塊”。描述出了加擾數(shù)據(jù)塊C1-C3的第一序列44和塊CN-2-CN的末尾序列45。
每個加擾數(shù)據(jù)塊序列被分別解擾來形成相關(guān)的解擾數(shù)據(jù)塊序列。因此,通過解擾塊C1-C3的第一序列44來形成明文塊P1-P3的第一序列46。解擾塊CN-2-CN的末尾序列45來形成明文塊PN-2-PN的最后序列47。明文塊序列用來組成明文MPEG-2 TS包的有效載荷48,前面是報頭49,從而組成重組的明文MPEG-2 TS包50。
通過對第一加擾數(shù)據(jù)塊C1應(yīng)用作為編碼密碼Ek的反轉(zhuǎn)的解密密碼DK、以及應(yīng)用以解密密碼DK的結(jié)果和加擾數(shù)據(jù)塊序列44中下一個加擾塊C2作為操作數(shù)的異或算符,來獲得第一明文塊序列46中的第一解擾數(shù)據(jù)塊P1。第二個塊P2也用相同的方式獲得。從ECM所獲得的CW用作解密密碼DK的密鑰。
通過向在加擾數(shù)據(jù)塊C1-C3的第一序列44中最后一塊C3應(yīng)用解密密碼DK,來獲得第一明文塊序列46中的最后一個解擾數(shù)據(jù)塊P3。將結(jié)果同與第一“超級塊”相關(guān)的初始化矢量IV3異或。這個初始化矢量IV3的生成依賴于至少一個數(shù)據(jù)塊,該至少一個數(shù)據(jù)塊的獲得是通過向相同序列中最后的加擾數(shù)據(jù)塊C3之前的第一加擾數(shù)據(jù)塊序列44中的一個塊應(yīng)用解密密碼DK、以及應(yīng)用以至少具有解密密碼DK的結(jié)果和加擾數(shù)據(jù)塊序列中下一位置上的解擾數(shù)據(jù)塊為操作數(shù)的異或算符。在所描述的實施例中,初始化矢量IV3是長期固定的初始化矢量IV0和在最后的明文塊P3之前第一明文塊序列46的所有塊的異或。由于這些先前的明文塊在最后的明文塊P3獲得之前得出,所以該解擾方法是相對高效的。
通常,在對包括在加擾有效載荷35中的加擾數(shù)據(jù)塊序列串的每一個使用固定數(shù)目M個塊的加擾數(shù)據(jù)的實施例,明文塊按照如下方法建立Pj·M=Dk[Pj·M^IVj·M],P(j-1)·M+i=C(j-1)·M+i+1^Dk[C(j-1)·M+i],i=M-1...1,j=1...N\M。
在所描述的實施例中,用于解密第j個序列中的塊的初始化矢量IVj·M可以按照如下方法獲得IVj·M=IV0^P1^...Pi^Pj·M-1。
在該方法中,用于解密第二以及其它加擾數(shù)據(jù)塊序列的初始化矢量的生成,依賴于由解擾加擾有效載荷36中的一個先前解擾數(shù)據(jù)塊序列獲得的解擾數(shù)據(jù)塊序列中至少一個解擾數(shù)據(jù)塊。
圖6描述了如果加擾的有效載荷36由整數(shù)N\M個第一基本塊序列、以及在大小上等于基本塊的整數(shù)倍以及基本塊大小的一部分的后續(xù)數(shù)據(jù)量組成,那么如何進行加擾方法。在所描述的實施例中,隨后的數(shù)據(jù)量可以被分成兩個完全加擾的塊CN-2、CN-1以及一個部分塊CN。最后的塊CN用零填充到與最后一個完整的基本塊51相同的大小。因此,一個末尾序列由塊CN-2、CN-1和最后一個完整的基本塊51組成。通過向位于末尾加擾數(shù)據(jù)塊序列的最后塊之前緊鄰的塊CN-1使用解密密碼Dk、對解密密碼的結(jié)果和最后一個完整基本塊51應(yīng)用異或算符、以及刪除對應(yīng)于填充最后的加擾塊CN而增加的數(shù)據(jù)位置和大小的異或算符結(jié)果的一部分C’,來形成最后的明文塊PN。最后兩個明文塊PN-1,PN之前的每個任意塊——在這種情況下,序列中的第一塊PN-2是唯一一個這種塊——是通過向末尾加擾數(shù)據(jù)塊序列中相應(yīng)位置的塊使用解密密碼Dk、以及對解密密碼的結(jié)果和末尾加擾數(shù)據(jù)塊序列下一位置的加擾數(shù)據(jù)塊應(yīng)用異或算符而獲得的。
通過向連接最后塊CN和對應(yīng)于填充所用的零的大小和位置的所刪除的部分C’而形成的塊52應(yīng)用解密密碼、然后應(yīng)用以解密密碼的結(jié)果Dk和初始化矢量IVN為操作數(shù)的異或算符,獲得末尾明文塊序列中最后塊之前的塊PN-1。作為初始化矢量IVN,初始化矢量是通過應(yīng)用以初始化矢量IV0和明文MPEG-2 TS包有效載荷48的最后兩塊PN-1,PN的每一個為操作數(shù)的異或算符來獲得的。
如果加擾的有效載荷36由N\M整數(shù)個加擾數(shù)據(jù)塊以及隨后在大小上少于一個基本塊的數(shù)據(jù)量組成,就采取圖7中描述的操作。一個部分加擾塊CN用零填充成完整大小的最后加擾塊53。依賴于長期固定的初始化矢量IV0和加擾有效載荷36的任何先前加擾塊序列中至少一個塊來生成一個初始化矢量IVN。這可能會出現(xiàn)沒有先前加擾塊序列的情況。為了不在異或運算中直接將長期固定初始化矢量IV0作為操作數(shù)使用,首先使用與塊鏈接模式中所使用的相同的解密密碼Dk,將CW作為密鑰,來解密與完整大小的最后塊53相關(guān)的初始化矢量IVN。獲得對上述結(jié)果和完整大小的加擾塊50的異或。結(jié)果是完整大小的塊54,它通過刪除在大小和位置上對應(yīng)于填充部分加擾塊CN所添加數(shù)據(jù)的部分C’而被截短。將保留的部分PN插入明文MPEG-2 TS包有效載荷。
因此,已經(jīng)詳細(xì)描述了一種方法,其中“超級塊”具有預(yù)定大小,但是可以配合可變大小的包有效載荷,包括不是選定大小的“超級塊”的整數(shù)倍的那些包。用于每個“超級塊”的初始化矢量從不直接用作異或算符的掩碼。它盡可能地依賴于包有效載荷中的先前的明文塊,所以實現(xiàn)了初始化矢量盡可能多的變化。對于加擾器和解擾器來說,操作結(jié)果的存儲需求基本相同,并且出于安全原因考慮,可以通過選擇較小長度的“超級塊”來將存儲需求保持在可接受的較低水平。
本發(fā)明不限于所描述的實施例,其可以在后附的權(quán)利要求的范圍內(nèi)變化。特別地,實施例可能是第一加擾塊序列沒有通過在加擾器中反轉(zhuǎn)塊的順序而轉(zhuǎn)換成第二加擾塊序列,但是在解擾器中,在執(zhí)行在此所描述的解擾加擾數(shù)據(jù)流的方法之前,執(zhí)行了反轉(zhuǎn)。
權(quán)利要求
1.一種加擾數(shù)據(jù)流的方法,包括從所述數(shù)據(jù)流中獲取一串第一數(shù)據(jù)塊(Pi)序列(29,30),反轉(zhuǎn)每個第一塊(Pi)序列(29,30)中的塊的順序來形成相應(yīng)的第二數(shù)據(jù)塊序列(31,37),以及在塊鏈接模式中用一個密碼(Ek)加密每個第二塊序列(31,37)中的塊,其被每個第二塊序列(31,37)的相應(yīng)初始化矢量(IV3,IVN)所初始化,其特征在于,針對所述流中的數(shù)據(jù)單元(26)所包括的一串第一塊序列(29,30),依賴于所述單元中先前的第一塊序列(29)中的至少一個塊,生成至少一個初始化矢量(IVN),用于加密由所述單元中第一塊序列(30)所形成的第二塊序列(37)。
2.如權(quán)利要求1所述的方法,其中依賴于相同第一序列(29,30)中最后一塊之前的至少一個數(shù)據(jù)塊,生成相應(yīng)的初始化矢量(IV3,IVN),用于加密由第一塊序列(29,30)所形成的每個第二塊序列(31,37)中的塊。
3.如權(quán)利要求1或2所述的方法,其中依賴于所述單元(26)中任何先前的第一塊序列(29)中每一個的至少一個塊,來生成每個初始化矢量,其用于加密由單元(26)中第一塊序列(30)所生成的第二塊序列(37)。
4.如權(quán)利要求1-3中任何一個所述的方法,包括接收數(shù)據(jù)包(27),其中該數(shù)據(jù)包(27)包括報頭(28)和有效載荷(26),其中所述單元由有效載荷組成。
5.如權(quán)利要求1-4中任何一個所述的方法,其中密碼(Ek)為一個塊密碼,被配置用來處理預(yù)定大小的基本塊,其中至少第二數(shù)據(jù)序列(31,37)中的塊(Pi)在大小上對應(yīng)于所述基本塊大小。
6.如權(quán)利要求5所述的方法,其中如果所述單元(26)由第一塊序列(29,30)串和隨后的在大小上少于基本塊大小的倍數(shù)的數(shù)據(jù)量組成,將所述數(shù)據(jù)量填充到等于基本塊的大小的倍數(shù)的大小,以形成至少兩個塊的第一末尾序列,交換第一末尾塊序列的最后兩個塊,并且反轉(zhuǎn)第一末尾塊序列的塊的順序以形成第二末尾數(shù)據(jù)塊序列(40),使用在塊鏈接模式中的密碼(Ek)來加密第二末尾數(shù)據(jù)塊序列(40)的塊,被依賴于所述單元的先前第一塊序列(29,30)中至少一個塊而生成的一個初始化矢量(IVN)所初始化。
7.如權(quán)利要求5所述的方法,其中如果所述單元由零或者更多個預(yù)定數(shù)目塊的第一序列和在大小上相當(dāng)于少于一個基本塊大小的數(shù)據(jù)量(PN)組成,將該數(shù)據(jù)量填補成一個相當(dāng)于基本塊的大小的大小,來形成一個最后的塊(42),使用塊鏈接模式中的密碼(Ek)來加密最后的塊(42),被依賴于所述單元的任何先前第一塊序列中的至少一個塊而生成的一個初始化矢量所初始化。
8.如權(quán)利要求7所述的方法,其中所述初始化矢量是基于至少一個矢量(IV0)通過在矢量(IVN)上執(zhí)行密碼操作(Dk),優(yōu)選地是作為所述密碼的反轉(zhuǎn)的解密,來產(chǎn)生,所述至少一個矢量(IV0)獨立于所述單元中任何先前第一塊序列的任何塊。
9.一種用于加擾數(shù)據(jù)流的系統(tǒng),包括一個輸入端,用于接收所述數(shù)據(jù)流作為一串第一數(shù)據(jù)塊(Pi)序列(29,30),多個寄存器以及至少一個邏輯單元,用于反轉(zhuǎn)每個第一塊(Pi)序列(29,30)中的塊的順序來形成相應(yīng)的第二數(shù)據(jù)塊序列(31,37),以及一個處理裝置,用于在塊鏈接模式中用一個密碼(Ek)加密每個第二塊序列(31,37)中的塊,由每個第二塊序列(31,37)相應(yīng)的初始化矢量(IV3,IVN)進行初始化,其特征在于針對包括在所述流中數(shù)據(jù)單元(26)中的一串第一塊序列(29,30),系統(tǒng)被配置為依賴于所述單元(26)中先前的第一塊序列(29)中的至少一個塊,生成至少一個初始化矢量(IVN)用于加密由所述單元中第一塊序列(30)所形成的第二塊序列(37)。
10.如權(quán)利要求9所述的系統(tǒng),配置為執(zhí)行根據(jù)權(quán)利要求1-8中任何一個的方法。
11.一種解擾加擾的數(shù)據(jù)來形成數(shù)據(jù)流的方法,包括從所述加擾數(shù)據(jù)流中獲取一串加擾數(shù)據(jù)塊(Ci)的序列(44,45),以及通過使用在反轉(zhuǎn)鏈接模式中的一解密密碼(Dk)來解擾每個加擾的數(shù)據(jù)塊序列(44,45)以形成一個相關(guān)的解擾數(shù)據(jù)塊(Pi)的序列(46,47),其中,解擾加擾數(shù)據(jù)塊序列(46,47),通過向相關(guān)加擾數(shù)據(jù)塊序列(44,45)中的最后一個塊(C3,CN)應(yīng)用所述解密密碼(Dk)、以及應(yīng)用以至少解密密碼(Dk)的結(jié)果和一初始化矢量(IV3,IVN)作為操作數(shù)的算符,來獲得解擾數(shù)據(jù)塊序列(46,47)中的最后一個塊(P3,PN),并且其中通過對加擾數(shù)據(jù)塊序列(44,45)上相應(yīng)位置的塊應(yīng)用所述解密密碼(Dk)、以及應(yīng)用以至少解密密碼(Dk)的結(jié)果和在加擾數(shù)據(jù)塊序列(44,45)中下一位置的加擾數(shù)據(jù)塊作為操作數(shù)的算符,來獲得在解擾數(shù)據(jù)塊序列(46,47)中最后塊(P3,PN)之前的每個塊,其特征在于,針對包括在加擾數(shù)據(jù)流中數(shù)據(jù)單元(36)中的一串加擾數(shù)據(jù)塊序列(44,45),依賴于通過解擾所述單元(36)中先前加擾數(shù)據(jù)塊序列(44)而獲得的解擾數(shù)據(jù)塊序列(46)中的至少一個解擾數(shù)據(jù)塊,生成至少一個初始化矢量(IVN)用于解擾加擾的數(shù)據(jù)塊序列(45)。
12.如權(quán)利要求11所述的方法,其中依賴于通過對在相同序列(44,45)中最后的加擾數(shù)據(jù)塊(C3,CN)之前的加擾數(shù)據(jù)塊序列(44,45)中的塊應(yīng)用所述解密密碼(Dk)、以及通過應(yīng)用以至少解密密碼的結(jié)果和相同加擾數(shù)據(jù)塊序列(44,45)的下一位置的加擾數(shù)據(jù)塊作為操作數(shù)的算符而獲得的至少一個數(shù)據(jù)塊,來生成相應(yīng)初始化矢量(IV3,IVN)用于解擾每個加擾數(shù)據(jù)塊(Ci)序列(44,45)。
13.如權(quán)利要求11或12所述的方法,其中用于解擾所述單元(36)中的加擾數(shù)據(jù)塊序列(45)的每個初始化矢量(IVN)的生成,依賴于來自由解擾所述單元(36)中先前的加擾數(shù)據(jù)塊序列(44)而得到的任何解擾數(shù)據(jù)塊序列(46)中每一個的至少一個解擾數(shù)據(jù)塊。
14.如權(quán)利要求11-13中任何一個所述的方法,包括接收數(shù)據(jù)包(34),所述數(shù)據(jù)包(34)包括報頭(35)和有效載荷(36),其中所述單元由有效載荷組成。
15.如權(quán)利要求11-14中任何一個所述的方法,其中所述解密密碼(Dk)為一個塊密碼,其被配置為處理預(yù)定大小的基本塊,其中加擾數(shù)據(jù)塊序列(44,45)中的塊(Ci)在大小上對應(yīng)于所述基本塊大小。
16.如權(quán)利要求15所述的方法,其中,如果單元(36)由一串加擾數(shù)據(jù)塊序列以及隨后的在大小上等于基本塊大小的整數(shù)倍和基本塊大小的一部分(CN)的數(shù)據(jù)量組成,將該數(shù)據(jù)量用預(yù)定的數(shù)據(jù)填補成等于基本塊的大小的倍數(shù),來形成一個加擾數(shù)據(jù)塊的末尾序列,形成一解擾數(shù)據(jù)塊末尾序列的最后一個塊(PN),這是通過對緊接在加擾數(shù)據(jù)末尾序列最后的塊之前的一個塊應(yīng)用解密密碼、應(yīng)用以解密密碼的結(jié)果和末尾加擾數(shù)據(jù)塊序列的所述最后塊作為操作數(shù)的異或算符、以及刪除對應(yīng)所述預(yù)定數(shù)據(jù)大小的作為所述異或算符結(jié)果的部分(C’),形成解擾數(shù)據(jù)塊末尾序列中最后兩個塊(PN-1,PN)之前的任何一個塊,這是通過向第一末尾加擾數(shù)據(jù)塊序列中相應(yīng)位置的一個塊應(yīng)用解密密碼(Dk)、以及應(yīng)用具有解密密碼的結(jié)果和末尾加擾數(shù)據(jù)塊序列中下一位置的一個加擾數(shù)據(jù)塊作為操作數(shù)的異或算符,以及獲得解擾數(shù)據(jù)塊末尾序列中最后塊(PN)之前的一個塊(PN-1),這是通過將對應(yīng)所述預(yù)定數(shù)據(jù)大小所刪掉的部分(C’)和末尾加擾數(shù)據(jù)塊序列的最后塊進行串連而形成的一個塊(52)應(yīng)用解密密碼、以及應(yīng)用以解密密碼的結(jié)果和依賴于由解擾所述單元(36)中一個先前加擾數(shù)據(jù)塊序列而得到的任何解擾數(shù)據(jù)塊序列中至少一個的至少一個塊所產(chǎn)生的初始化矢量(IVN)為操作數(shù)的異或算符。
17.如權(quán)利要求15所述的方法,其中,如果下一個單元由零或者更多個預(yù)定數(shù)目塊的序列和在大小上少于一個基本塊大小的隨后數(shù)據(jù)量(CN)組成,那么將該數(shù)量的數(shù)據(jù)填補成一個基本塊的大小,以形成一個最后的塊(53),使用塊鏈接模式中的密碼(Dk)來加密最后的塊(53),由初始化矢量進行初始化,該初始化矢量的生成依賴于由解擾所述單元中先前的加擾數(shù)據(jù)塊序列獲得的任何解擾數(shù)據(jù)塊序列中至少一個的至少一個塊。
18.如權(quán)利要求17所述的方法,其中基于至少一個矢量在一個矢量上執(zhí)行密碼處理(Dk),優(yōu)選地是所述解密密碼,來生成所述初始化矢量,所述至少一個矢量是獨立于由解擾所述單元中先前加擾數(shù)據(jù)塊序列而獲得的任何先前解擾數(shù)據(jù)塊中的任何塊。
19.一種用于解擾加擾數(shù)據(jù)流以形成數(shù)據(jù)流的系統(tǒng),包括一個輸入端,用于接收所述加擾數(shù)據(jù)流,作為一串加擾數(shù)據(jù)塊(Ci)序列(44,45),以及一個處理裝置,用于解擾每個加擾的數(shù)據(jù)塊(Ci)序列(44,45)以形成一個相關(guān)的解擾數(shù)據(jù)塊的序列(46,47),這是通過使用反轉(zhuǎn)鏈接模式中的解密密碼(Dk)來實現(xiàn),其中,用于解擾加擾的數(shù)據(jù)塊序列(44,45),獲得所述序列(46,47)中的最后一個塊(P3,PN),這是通過向相關(guān)加擾數(shù)據(jù)塊序列(44,45)中的最后一個塊(C3,CN)應(yīng)用解密密碼(Dk)、以及應(yīng)用以至少解密密碼(Dk)的結(jié)果和一初始化矢量(IV3,IVN)作為操作數(shù)的算符,并且獲得所述序列(46,47)中的每個先前的解擾數(shù)據(jù)塊,這是通過對加擾數(shù)據(jù)塊序列上相應(yīng)位置的塊應(yīng)用解密密碼、以及應(yīng)用以至少解密密碼的結(jié)果和在加擾數(shù)據(jù)塊序列(44,45)中下一位置的加擾數(shù)據(jù)塊作為操作數(shù)的算符,其特征在于,針對包括在所述加擾數(shù)據(jù)流中數(shù)據(jù)單元(36)內(nèi)的一串加擾數(shù)據(jù)塊序列(44,45),系統(tǒng)被配置為生成至少一個初始化矢量(IVN)用于解擾加擾的數(shù)據(jù)塊序列(45),這依賴于通過解擾所述單元(36)中先前加擾數(shù)據(jù)塊序列(44)而獲得的解擾數(shù)據(jù)塊序列中的至少一個解擾數(shù)據(jù)塊。
20.如權(quán)利要求19所述的系統(tǒng),被配置來執(zhí)行根據(jù)權(quán)利要求11-18中任何一個的方法。
21.一種用于發(fā)送和接收數(shù)據(jù)的裝置,包括配置為應(yīng)用根據(jù)權(quán)利要求1-9中任何一個的方法以及根據(jù)權(quán)利要求11-18中任何一個的方法的設(shè)備(14)。
全文摘要
一種加擾數(shù)據(jù)流的方法,包括從數(shù)據(jù)流中獲取一串第一數(shù)據(jù)塊(P
文檔編號H04L9/06GK1992589SQ20061014397
公開日2007年7月4日 申請日期2006年11月8日 優(yōu)先權(quán)日2005年11月8日
發(fā)明者安東尼斯·J·P·M·范德文 申請人:耶德托存取公司