專利名稱:用于數據塊加密的方法和系統的制作方法
技術領域:
本發明涉及數據塊加密領域。更具體而言,本發明涉及在不保證接收 到所有在前塊的環境中使用的塊密碼。
背景技術:
在密碼學中,塊密碼對固定長度的塊,通常是64或128位的塊進行運 算。由于消息可以是任意長度的,并且用同樣的密鑰加密同樣的明文總是 產生同樣的輸出,因此開發出了若干種操作模式,其允許塊密碼為任意長 度的消息提供機密性。
在密碼塊鏈接(CBC)模式中,明文的每個塊在被加密之前與之前的 密文塊進行XOR運算(施加異或運算)。每個密文塊依賴于在這個點之 前處理的所有明文塊。為了使得每個消息唯一,在第一塊中必須使用初始 化向量(IV)。
IV是一個虛塊,用以起動對第一真實塊的處理過程。在CBC模式, IV是在加密時隨機產生的。在多數情況下,IV不需要是秘密的,但重要 的是,它不能與同一密鑰重復使用。
圖1A和1B示出使用CBC的加密和解密過程。在圖1A中,提供有 待加密的明文塊Pi, p2,... 101-106。產生IV110,并與明文的第一塊pi101 異或運算120。通過密鑰131利用塊密碼加密130將該結果加密。結果為 密文的第一塊q141,其凈皮傳輸到接收器。密文的第一塊d 141與明文的 第二塊p2 101進行異或運算120,并通過密鑰131使用塊密碼加密130對 結果進行加密。結果為密文的第二塊C2 142,其4皮傳輸到接收器。這個鏈 持續進行,從剩余的明文塊P3, p4, p5, p6103-106產生后續的密文塊C3,c4, c5, C6 143-146。
圖1B示出解密過程。接收密文塊q, C2,…,C6 141-146。使用施加于接 收器的密鑰131利用塊密碼解密150對密文的第一塊q 141進行解密。將 結果與施加于接收器的IV 110進行異或運算120,這產生明文的第一塊Pl 101。通過密鑰131利用塊密碼解密150對密文的第二塊C2進行解密。將 結果與密文的第一塊q進4亍異或運算120,這產生明文的第二塊p2 101。 這個鏈持續進行,從剩余的密文塊C3, c4, c5, c6 143-146產生后續的明文
塊P3, P4, P5, P6 103-106。
密碼塊鏈接具有這樣的局限,即,它需要接收到密文的在前塊來解密 下一塊。在有些環境中,不能保證遞送,這會導致鏈的斷裂。
組播協議必然是不可靠的。沒有方式能夠保證所有接收器都將接收到
它們應該接收的任何東西。在CBC模式下使用塊密碼要求接收器能夠訪 問上一個密文元素,而這在組播的情況下是不能保證的,因此不可能在 CBC模式中使用塊密碼,由此會導致安全問題。
現有的使用塊密碼對組播流的加密局限于電子碼本(ECB)模式和計 數器(CTR)模式。
ECB對于隱藏數據并不是一種很好的方式。消息被劃分為塊,每個塊 被獨立地加密。該方法的不利在于,同樣的明文塊被力口密為同樣的密文塊, 因此,它不能很好地隱藏數據模式。
CTR模式對于隱藏數據是一種很好的方式。消息的每個塊在傳輸之前 與偽隨機數進行異或運算。偽隨機數在一個序列中產生,該序列可以由消 息塊的接收器預測,因為他們是通過用ECB模式中的私鑰加密公知的計數 器值而獲得的。CTR模式中固有的風險在于,用于從公知的計數器產生偽 隨機數的算法可能容易受到"已知明文"的攻擊,甚至在給出足夠數據的 情況下是可逆的。如果是這樣的情況,CTR模式就變得沒有用處。
侵入,那就不必來嘗試加密組播數據流了。不過這極度不可能成為現實情 況。
發明內容
根據本發明第一方面,提供一種用于數據塊加密的方法,包括使用 針對數據塊產生的當前隨機數來加密數據塊;使用之前隨機數集合中的一 個或多個來編碼所述當前隨機數,所述之前隨機數集合中的每一個已用于 加密之前發送的數據塊;傳輸加密的數據塊與一個或多個版本的編碼的當 前隨機數,每個版本已使用之前隨機數中的不同隨機數進行編碼。
根據本發明第二方面,提供一種用于數據塊解密的方法,包括接收 加密的數據塊與 一個或多個版本的編碼的當前隨機數,每個版本已使用之 前使用的隨機數中的不同隨機數進行編碼;選擇隨機數可用的之前接收到 的數據塊集合中的一個;使用選擇的之前接收到的數據塊的隨機數來解碼 當前隨機數;以及使用解碼的當前隨機數來解密接收到的加密的數據塊。
根據本發明第三方面,提供一種存儲在計算機可讀存儲介質上的計算 機程序產品,包括用于執行以下步驟的計算機可讀程序代碼部件使用針 對數據塊產生的當前隨機數來加密數據塊;使用之前隨機數集合中的一個 或多個來編碼所述當前隨機數,所述之前隨機數集合中的每一個已用于加 密之前發送的數據塊;傳輸加密的數據塊與一個或多個版本的編碼的當前 隨機數傳輸,每個版本已使用之前隨機數中的不同隨機數進行編碼。
根據本發明第四方面,提供一種存儲在計算機可讀存儲介質上的計算 機程序產品,包括用于執行以下步驟的計算機可讀程序代碼部件接# 密的數據塊與一個或多個版本的編碼的當前隨機數,每個版本已使用之前 使用的隨機數中的不同隨機數進行編碼;選擇隨機數可用的之前接收到的 數據塊集合中的一個;使用選擇的之前接收到的數據塊的隨機數來解碼當 前隨機數;以及使用解碼的當前隨機數來解密接收到的加密的數據塊。
根據本發明第五方面,提供一種用于數據塊傳輸的系統,包括使用 針對數據塊產生的當前隨機數來加密數據塊的部件;使用之前隨機數集合 中的一個或多個來編碼當前隨機數的部件,所述之前隨機數集合中的每一 個已用于加密之前發送的數據塊;傳輸加密的數據塊與一個或多個版本的編碼的當前隨機數的部件,每個版本已使用之前隨機數中的不同隨機數進
行編碼;接^口密的數據塊與一個或多個版本的編碼的當前隨機數的部件; 選擇隨機數可用的之前接收到的數據塊集合中的一個的部件;使用所選擇 的之前接收到的數據塊的隨機數來解碼當前隨機數的部件;以及使用解碼 的當前隨機數來解密接收到的加密的數據塊的部件。
現在將參照附圖,僅以示例的方式描述本發明的實施例。
圖1A和lB是現有技術中/^p的加密和解密的CBC模式的圖2A;I一才艮據本發明的加密方法的示意圖2B是才艮據本發明的傳輸數據的示意圖2C是才艮據本發明的解密方法的示意圖3是根據本發明的加密方法的流程圖4是根據本發明的解密方法的流程圖。
具體實施例方式
提供了一種塊密碼加密和解密的方法,該方法4吏接收器具有恢復力, 從而在沒有接收到上一塊時對塊進行破譯。該恢復力是通過允許從之前接 收到的塊集合中的 一個>^譯塊來提供的。
在所描述的方法的一個實施例中,產生隨機值,并在每個塊處與輸入 明文進行異或運算。該隨機輸入值以這樣的方式編碼,其中只要接收器接 收到之前密文集合中的一個,就能夠進行解碼。這個隨機選擇的值與CBC 操作模式的第一階段中的初始化向量(IV)具有同樣的功能。
參照圖2A,示出了所描述的加密方法的一個實施例。提供了有待加密 的明文塊p" p2, ...201 -206。產生隨機數,并將其用作輸入向量Ii211, 該向量與明文pi 201的第一塊進行異或運算220。通過密鑰231,利用塊 密碼加密230對結果進行加密。結果為密文的第一塊d 241,其被傳輸到 接收器。本領域中公知許多偽隨機數產生器,用來為加密應用提供足夠隨機的數,這里使用的術語"隨機數"旨在涵蓋所有這樣的偽隨機數。
產生新的隨機數作為輸入向量12 212,該向量與明文的第二塊p2 202 進行異或運算220。通過密鑰231,利用塊密碼加密230對結果進行加密。 結果為密文的第二塊C2 242,其被傳輸到接收器。
這個過程持續進行,產生隨機數作為輸入向量13, 14, 15, 16213-216, 用以從剩余的明文塊P3, p4, p5, P6 203-206產生后續的密文塊C3, c4, c5, ce243-246。
輸入向量I" 12, 13, 14, 15, 16 211-216在功能上與CBC操作模式 的初始化向量110相似,但是,為有待加密的每一個明文塊產生隨4幾輸入 向量。
參照圖2B,示意圖示出傳輸的數據。在所描述的方法中,使用安全可 靠的連接來傳輸包含會話密鑰在內的初始參數280。初始M 280還包括 第一輸入向量I"用于編碼輸入向量的之前塊的定義集合,以及用于產生 塊頭部中傳輸的編碼的輸入向量的功能中所使用的輸入值。
如圖2B所示,密文塊q, c2, c3, c4, c5, c6 241 -246與頭部251-256 —起傳輸,頭部251 - 256包含計數261 - 266,以及用于從之前輸入向 量集合中的一個產生當前輸入向量的部件271-276。在一個實施例中,部 件271 -276是用于每個之前塊集合的函數對(q(i,i-j),s(i,i-j))。該函數對 (q(i,i-j),s(i,i-j))連同之前輸入向量IH可以用來確定當前輸入向量Ii。
之前輸入向量在被接收器解碼時被存儲291 一 296,用于解碼隨后的輸 入向量。
之前塊集合是當前塊之前的預定數目的塊的集合。例如,它可以是之 前的四個塊,之前的間隔的三個塊,或者,如給出的示例中一樣,是具有 i-j的塊的集合,其中j是集合J^l,2,4,6)中的一個,等等。之前塊集合中 只有一個是必需接收到的,以獲得當前輸入向量。
后續的密文塊Ci具有頭部,該頭部包含計數i和用于從之前輸入向量 集合中的一個產生當前第i個輸入向量Ii的部件。該集合可以是集合IH , 其中j是諸如>{1,2,4,6}的整數集合,如圖2B所示。為集合J添加更多的數會增加恢復力,因為有更多的選擇來使用不同的之前接收到的塊,使得 更多塊可被丟失。然而,這必需與頭部中用于集合J所要求的數據相平衡, 其減少每個塊中有效載荷數據量。
如果沒有接收到上一塊,可以通it^用于之前塊集合中的任一個的當 前塊頭部中提供的功能確定當前輸入向量以及確定之前塊的輸入向量來解 密當前塊。
參照圖2C,示出描述的解密方法的實施例。接收到密文塊d, c2,…, c6 241 -246,其每一個具有如圖2B所示的對應的頭部251 -256。
通過提供^^接收器的密鑰231,利用塊密碼解密250來解密密文的第 一塊Cl 241。將結果與提供給接收器的第一輸入向量L 211進行異或運算, 這產生明文的第一塊Pl 201。
密文的第二塊c2 242與頭部252 —起接收,頭部252具有數值為2的 計數262以及用于從第一輸入向量It 211產生當前第二輸入向量12 212的 部件272。
通過密鑰231利用塊密碼解密250來解密密文的第二塊c2。將結果與 第二輸入向量l2 212進行異或運算,這產生明文的第二塊p2 202。
如圖2B所示接收密文的后續塊Ci以及頭部,頭部具有數值為i的計數, 以及用于從之前輸入向量IH的預定義集合產生當前第i個輸入向量Ij的部 件。預定義集合被示為集合Ii.j,其中J是諸如>{1,2,4,6}之類的整數集合。
通過密鑰231利用塊密碼解密250來解密密文的后續塊Ci。將結果與 第i輸入向量Ii212進行異或運算,這產生明文的第i塊pi。
密文的第六塊c6 246與頭部256 —起接收,頭部256具有數值為6的 計數266以及用于從第二、第四或第五輸入向量12212, 14214和15215之 一產生當前第六輸入向量16 216的部件276。作為示例,沒有接收到密文 的第五塊cs245,因此可以使用之前存儲的第四或第二輸入向量12212, 14 214中任一個,以獲得第六輸入向量16216。
通過密鑰231利用塊密碼解密250來解密密文的第六塊c6。將結果與 第六輸入向量16 216進行異或運算,這產生明文的第六塊p6 206。參照圖3,示出所描述的加密方法的流程圖300。 在進行M之前,在發射機和一個或多個接收機之間進行安全可靠連 接上的傳達所需密鑰的初步步驟。在這樣的傳達中,傳輸下面的信息 加密會話密鑰;
定義的之前塊的集合,例如,由一系列較早塊數目給出的集合;
解碼輸入向量所需的M;
用作第一輸入向量L的初始隨機數。
在會話的每個步驟,執行圖3的流程。使用針對數據塊所產生的隨機 數(Icurrent)加密該數據塊301。隨機數也被稱為輸入向量。
在一個實施例中,通過對數據塊和隨機數(Icurrent)逐比特執行與異或 運算,然后使用會話密鑰利用加密函數加密該結果來執行加密301。可以 替代地使用利用隨機數(Icurrent)進行的其他形式的加密。
然后,確定302之前發送的哪些數據塊在定義的集合中。之前發送的 數據塊的每一個具有在那個塊的加密中使用的不同隨機數(IculTent)。
對于集合中每個可用的之前發送的數據塊,使用之前發送的數據塊的 隨機數(Iprevious)編碼303當前處理的數據塊的隨機數(Icurrent)。
這樣的編碼可以針對集合的所有可用的隨機數(Iprevi。us)并行執行。 加密步驟301也可以與編碼303并行執行。該算法的并行特征^吏得它理想 地適于在硬件中執行,或作為用于面向流的協處理器的軟件,諸如Cell微 處理器的協處理器單元(SPE)。
當會話中數據的第一塊被加密時,集合中將沒有之前發送的數據塊可 以使用。這就是為什么第一隨機數^要通過安全連接進行發送的原因。
當會話早期中數據塊正被加密時,集合中僅有一個或兩個之前發送的 數據塊可用。隨著會話繼續進行,集合中可用的之前發送的塊數目增加, 為本方法給出更大的恢復力。
將加密的數據塊連同用集合的一個或多個隨機數(Iprevi。us)編碼的隨 機數(Ieurrent) —起進行傳輸304。
參照圖4,示出所描述的解密方法的流程圖400。如參照圖3所描述的,在進行^"之前,在發射機和一個或多個接收機之間進行安全連接上的傳達所需密鑰的初步步驟。
加密的數據塊連同用集合中之前接收到的數據塊的一個或多個隨機數
(Iprevi。us)進行編碼的隨機數(I current
) 一起得到接收401。選擇402已存儲的隨機數(IpreviQUS)所針對的之前接收到的數據塊集合中的一個。
使用選擇的之前數據塊的隨機數(Iprevi。us)解碼隨機數(Icurrent)糾3。使用隨機數(Icurrent )解密所述加密的數據塊,并M隨機數(Icurrent )
用于解碼后續數據塊404。
所描述的方法使得在接收到之前發送的數據塊集合中的任意一個并對
其自身進行解密時能夠對數據塊進行解密。這提供了這樣一種方法,該方
法可以在不能保證每個數據塊的遞送時使用。
圖4示出方法的穩態操作。在參與到解密之前,新的連接者(connectee )需要翻陚予至少一個Ij。
提供所描述的加密和解密方法的算法的一個示例性實施例。該算法使用下面的定義
A xor B -用操作數A和B執行逐比特的異或運算。
A升至B次冪才莫C -計算A的B次冪;最終結果是中間結果除以C所得的余數。
素數-一個大于l的整數,除了自身之外,不能被任何大于l的整數整除而沒有余數。
A增量 - 為A增加一。
隨機數_基于從同 一源獲得之前的數字無法預測的數字。初始化向量-當使用密碼塊鏈接加密方案時,用于隱藏第一塊的數據
向量o
發送應用執行下面的步驟選擇一個數字,稱為g。例如,g = 2。選捧一個素數,稱為cj)。選擇一個數字列表,J,例如J={1,2,4,8}。
例如通過還用于傳輸加密密鑰的安全連接將g, c|), J的選擇通知接收器。
將整數消息計數器C設為零。
對于有待發送的每個消息,執行下面的步驟,對于C—:取出隨機數,Ii。
當加密用戶數據時,用Ii作為輸入向量。對于列表J的每個元素j,重復下面的步驟
將I4設定為序列數為i-j時使用的I的值。
取出隨機數,rijo
計算^^^m。dp。該值被存儲用于稍后使用。計算 =m。dp 。該值4皮存儲用于稍后使用。
將c,處于正確次序的所有qij和sy對,以;0口密的用戶數據^Uv消息中。
發送消息。
接收應用執行以下步驟
用安全可靠的連接與發送者連接,并取出下列信息g, 4), J,和C的最近值,I的近值j,。開始通過不可靠鏈珞接收消息。對于接收到的每個消息,執行下面的步驟從消息中獲得C,所有qij和Sij對,以;o口密的用戶數據。
找出來自消息C-j的IH已知的qy和Sy對。利用該信息,計算
丟棄來自比c-j更舊的消息的iH的舊數值。使用ii作為輸入向量來解碼用戶數據。將解密的用戶數據送到任何需要者。
不知道(qij,s^已知的14的信息的情況下,確定Ii需要計算離散對數,對此沒有已知有效的算法。迄今為止,只考慮了有待加密的數據塊的大小嚴格符合加密算法要求的情況。在實際中,該大小有可能會更大。在這種情況下,以上描述的方
法用于編碼消息的第一 "加密算法大小,,的塊,/>知4支術的CBC用于加密消息的剩余部分。
所描述的方法與CBC模式具有相似性,但是,它具有這樣的優勢,即,可以在接收器沒有接收到前一密文時使用。產生隨機值,針對每一數據塊與輸入明文進行異或運算。這個被稱為輸入向量的隨機輸入值接下來以下面的方式進行編碼,該方式使得只要接收器接收到之前密文集合中的一個,就能夠進行解碼。該隨機選擇的值與CBC操作模式的第一階段中的初始化向量(IV)具有相同的功能。輸入向量可以無障礙地進4亍發送,但這會使得密碼分析更為容易。
本發明可以采取完全硬件的實施方式,完全軟件的實施方式,或者同時包含硬件和軟件兩者的實施方式。在優選的實施方式中,本發明在軟件中執行,該軟件包括但不限于固件、常駐軟件、微碼,等等。
本發明可以采取可以從計算機可用或計算機可讀介質存取的計算機程序產品的形式,所述計算機可用或可讀介質提供計算機或任何指令執行系統使用的或者與W目關的程序代碼。出于說明的目的,計算機可用或計算機可讀介質可以是能夠包含、存儲、傳達、傳播或傳送指令執行系統、裝置或"i殳備所使用的,或與^目關的程序的任何裝置。
所述介質可以是電子的,磁的,光學的,電磁的,紅外的,或半導體系統(或裝置或設備)或傳播介質。計算機可讀介質的例子包括半導體或固態存儲器,磁帶,可移動計算M盤,隨M取存儲器(RAM),只讀存儲器(ROM),硬磁盤以及光盤。目前光盤的例子包括壓縮光盤只讀存儲器(CD-ROM),壓縮光盤讀/寫(CD-R/W),以及DVD。
以上詳細描述的方法作用為限制對數據的存取,并且在不可能保證接收到數據的所有部分時使得數據的預期接收器能夠進行解密。這樣的系統包括因特網上的廣播和組播網絡傳輸,電視廣播,來自通信衛星的廣播,無線電廣4番,還包括通過郵件發送的物理介質。該方法尤其良好地適用于這樣的情況,其中將數據的遺失部分重新傳輸到沒有接收到整個數據流的那些接收器是不切實際或者沒有用處的。重新傳輸毫無價值的一個例子是廣播電視,因為打亂順序地顯示節目中之前錯過的部分是亳無意義的。另一個例子是發布/訂閱消息經紀人,其使用不可靠網絡鏈路上的組播向訂戶發送消息。
可以對前述內容進行改進和修改,而不偏離本發明的范圍。
權利要求
1.一種用于數據塊加密的方法,包括使用針對數據塊(201-206)產生的當前隨機數(211-216)來加密(301)所述數據塊(201-206);使用之前隨機數集合中的一個或多個來編碼(303)所述當前隨機數(211-216),所述之前隨機數集合中的每一個已用于加密之前發送的數據塊(201-206);傳輸(304)加密的數據塊(241-246)與一個或多個版本的編碼的當前隨機數(272-276),每個版本已使用之前隨機數中的不同隨機數進行編碼。
2. 根據權利要求1的方法,其中,之前隨機數集合是用于之前發送 的數據塊的預定義集合的之前隨機數,其中之前發送的數據塊的預定義集 合是當前塊之前的模式下的給定塊的集合。
3. 根據權利要求1或2的方法,其中,使用當前隨機數(211 - 216 ) 來加密(301)數據塊(201 - 206 )包括對所述數據塊(201 - 206 )和所 述當前隨機數(211-216)執行逐比特的異或運算,并使用會話密鑰通過 加密函數對結果進行加密。
4. 根據權利要求1-3中任一項的方法,其中,執行發射機和一個 或多個接收機之間的安全通信(280),包括加密M密鑰;定義的之前塊的集合;用于解碼隨機數所需的參數;用于第一數據塊(201)的初始隨機數(211)。
5. 根據前述權利要求中任一項的方法,其中使用之前隨機數集合中 的一個或多個來編碼(303)所述當前隨機數(211-216)的步驟針對所述 集合中的所有可用的之前隨機數并行執行。
6. 根據前述權利要求中任一項的方法,其中加密(301 )數據塊(201-206 )的步驟與使用之前隨機數集合中的一個或多個來編碼所述當前隨機 數(211 - 216 )的步驟并行執行。
7. 根據前述權利要求中任一項的方法,其中該方法用于加密第一加 密算法大小的數據塊(201 -206),任意剩余數據利用密碼塊鏈接方法來 加密。
8. —種用于數據塊解密的方法,包括接收(401)加密的數據塊(241 - 246)與一個或多個版本的編碼的當 前隨機數(272 - 276 ),每個版本已使用之前使用的隨機數中的不同隨機 數進行編碼;選擇(402 )隨機數可用的(291 - 296 )之前接收到的數據塊集合中的一個;使用選擇的之前接收到的數據塊(201 - 206 )的隨機數來解碼(403 ) 當前隨機數(211-216);以及使用解碼的當前隨機數來解密(404)接收到的加密的數據塊(241-246)。
9. 根據權利要求8的方法,其中解碼的當前隨機數被存儲(291-296)用于解碼后續的隨機數。
10. 根據權利要求8或9的方法,其中解密(404)數據塊包括使用 會話密鑰來解密所述加密的數據塊(241-246),以及對所述解密的結果 和所述當前隨機數執行逐比特的異或運算。
11. 根據權利要求8-10中任一項的方法,其中M射機接收安全通 信(280),包括加密會活密鑰;定義的之前塊的集合;用于解碼隨機數所需的參數;用于第一數據塊(201)的初始隨機數(211)。
12. 根據權利要求8-11中任一項的方法,其中該方法用于解密第一 加密算法大小的數據塊(201-206),任意剩余數據利用密碼塊鏈接方法來解密。
13. —種用于數據塊加密的裝置,包括使用針對數據塊(201-206)產生的當前隨機數(211-216)來加密 (301)所述數據塊(201 -206)的部件;使用之前隨機數集合中的一個或多個來編碼(303)所述當前隨機數 (211-216)的部件,所述之前隨機數集合中的每一個已用于加密之前發 送的數據塊(201 - 206 );傳輸(304 )加密的數據塊(241 - 246 )與一個或多個版本的編碼的當 前隨機數(272-276)的部件,每個版本已使用之前隨機數中的不同隨機 數進行編碼。
14. 根據權利要求13的裝置,其中,之前隨機數集合是用于之前發 送的數據塊的預定義集合的之前隨機數,其中之前發送的數據塊的預定義 集合是當前塊之前的模式下的給定塊的集合。
15. 根據權利要求13或14的裝置,其中,使用當前隨機數(211 -216)來加密(301)數據塊(201 - 206 )的部件包括對所述數據塊(201 - 206 )和所述當前隨機數(211 - 216 )執行逐比 特異或運算的部件,以及使用會活密鑰通過加密函數對結果進行加密的部件。
16. 根據權利要求13-15中任一項的裝置,其中,可操作執行發射 機和一個或多個接收機之間的安全通信(280),包括加密會活密鑰;定義的之前塊的集合;用于解碼隨機數所需的^:;用于第一數據塊(201)的初始隨機數(211)。
17. 根據權利要求13-16中任一項的方法,其中使用之前隨機數集 合中的一個或多個來編碼(303)所述當前隨機數(211-216)的部件可操 作為針對所述集合中的所有可用的之前隨機數并行執行。
18. 根據權利要求13 - 17中任一項的方法,其中加密(301)數據塊(201 - 206)的部件可操作為與使用之前隨機數集合中的一個或多個來編 碼所述當前隨機數(211-216)的部件并行執行。
19. 一種用于數據塊解密的裝置,包括接收(401)加密的數據塊(241 - 246 )與一個或多個版本的編碼的當 前隨機數(272-276)的部件,每個版本已使用之前使用的隨機數中的不 同隨機數進行編碼;選擇(402)隨機數可用的(291 - 296 )之前接收到的數據塊集合中的 一個的部件;使用選擇的之前接收到的數據塊(201 - 206 )的隨機數來解碼(403 ) 當前隨機數(211-216)的部件;以及使用解碼的當前隨機數來解密(404)接收到的加密的數據塊(241-246)的部件。
20. 根據權利要求19的裝置,其中解碼的當前隨機數可操作為被存 儲(291 -296)用于解碼后續的隨機數。
21. 根據權利要求19或20的裝置,其中解密(404)數據塊的部件 包括使用會話密鑰來解密所述加密的數據塊(241-246)的部件,以及 對所述解密的結果和所述當前隨機數執行逐比特異或運算的部件。
22. 根據權利要求19-21中任一項的裝置,其中可操作地從發射機 接收安全通信(280),包括加密^"密鑰; 定義的之前塊的集合; 用于解碼隨機數所需的用于第一數據塊(201)的初始隨機數(211)。
23. —種用于數據塊傳輸的系統,包括使用針對數據塊(201 -206)產生的當前隨機數(211-216)來加密 所述數據塊(201 - 206)的部件;使用之前隨機數集合中的一個或多個來編碼所述當前隨機數(211 -216)的部件,所述之前隨機數集合中的每一個已用于加密之前發送的數據 塊(201 - 206);傳輸加密的數據塊(241-246)與一個或多個版本的編碼的當前隨機 數(272-276)的部件,每個版本已使用之前隨機數中的不同隨機數進行 編碼;接收加密的數據塊(241 -246)與一個或多個版本的編碼的當前隨機 數(272 - 276 )的部件;選擇隨機數可用的(291 - 296 )之前接收到的數據塊集合中的一個的 部件;使用選擇的之前接收到的數據塊(201 - 206)的隨機數來解碼當前隨 機數(211-216)的部件;以及使用解碼的當前隨機數來解密接收到的加密的數據塊(241 -246)的 部件。
24. 根據權利要求23的系統,包括發射機與一個或多個接收機之間 用于傳輸^參數的安全通信(280)。
25. 根據權利要求23或24的系統,其中使用之前隨機數集合中的一 個或多個來編碼當前隨機數(211-216)的部件包括用于處理所述集合中 的所有可用的之前隨機數的并行處理部件。
26. 根據權利要求23 - 25中任一項的系統,包括加密(301)數據塊 且并行地使用之前隨機數集合中的一個或多個來編碼所述當前隨機數(211 -216)的并行處理部件。
27. —種計算機程序,包括程序代碼,所述程序代碼在所述程序在計 算機上運行時適于執行權利要求1 - 12中任一項的所有步驟。
全文摘要
提供了一種用于數據塊(201-206)加密的方法,包括使用針對數據塊(201-206)產生的當前隨機數(211-216)來加密(301)數據塊;使用之前隨機數集合中的一個或多個來編碼(303)所述當前隨機數,所述之前隨機數集合中的每一個已用于加密之前發送的數據塊;傳輸加密的數據塊(241-246)與一個或多個版本的編碼的當前隨機數(272-276),每個版本已使用之前隨機數中的不同隨機數進行編碼。提供了一種用于數據塊解密的方法,包括接收(401)加密的數據塊(241-246)與一個或多個版本的編碼的當前隨機數,每個版本針對之前隨機數(272-276)中的不同隨機數;選擇(402)隨機數可用的(291-296)之前接收到的數據塊集合中的一個;使用選擇的之前接收到的數據塊的隨機數來解碼(403)當前隨機數;以及使用解碼的當前隨機數來解密(404)接收到的加密的數據塊(241-246)。
文檔編號H04L9/32GK101682502SQ200880015855
公開日2010年3月24日 申請日期2008年5月28日 優先權日2007年6月15日
發明者P·G·威洛比 申請人:國際商業機器公司