欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

用于數(shù)據(jù)處理系統(tǒng)的有效加密和認(rèn)證的制作方法

文檔序號(hào):7761218閱讀:806來源:國(guó)知局
專利名稱:用于數(shù)據(jù)處理系統(tǒng)的有效加密和認(rèn)證的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及數(shù)據(jù)處理系統(tǒng)領(lǐng)域,尤其涉及在數(shù)據(jù)處理系統(tǒng)中提高安全性。
背景技術(shù)
在多種不同的領(lǐng)域中,諸如電子商務(wù)、通信和廣播,安全是一個(gè)主要關(guān)注的問題。 安全性措施提供可說明性、公正性、精確性、機(jī)密性、可操作性和其它這些領(lǐng)域中的數(shù)據(jù)處 理系統(tǒng)和信息系統(tǒng)所期望的準(zhǔn)則。提供這種安全性的加密方法通常根據(jù)兩個(gè)目的來歸類 加密和認(rèn)證。加密是使得數(shù)據(jù)對(duì)未被認(rèn)證方不可讀的技術(shù)。認(rèn)證是驗(yàn)證數(shù)據(jù)完整性的技術(shù)。 驗(yàn)證數(shù)據(jù)的完整性涉及驗(yàn)證數(shù)據(jù)作者的身份和/或驗(yàn)證數(shù)據(jù)是否被改變。加密系統(tǒng)通常被稱為密碼系統(tǒng)并具有對(duì)稱或非對(duì)稱的性質(zhì)。對(duì)稱加密系統(tǒng)使用密 鑰來加密信息并使用相同的密鑰來解密經(jīng)加密的信息。非對(duì)稱加密系統(tǒng),諸如公開密鑰密 碼系統(tǒng),使用第一密鑰來加密信息并使用不同的密鑰來解碼經(jīng)加密的信息。在許多對(duì)稱密碼系統(tǒng)中,一密鑰被用作加密功能,一分開的密鑰被用作認(rèn)證功能。 因此在使用對(duì)稱密碼系統(tǒng)的數(shù)據(jù)處理系統(tǒng)中,加密和認(rèn)證是作為兩個(gè)獨(dú)立的實(shí)體來執(zhí)行 的。由于認(rèn)證需要大約與加密相同的處理功率,總的處理量等于兩次加密數(shù)據(jù)所需的處理 量。在運(yùn)作在有限功率或有限硬件環(huán)境中的數(shù)據(jù)處理系統(tǒng)中,諸如蜂窩電話、個(gè)人數(shù)字助理 或其它可攜帶的通信設(shè)備,所期望的是具有可以將加密和認(rèn)證作為單個(gè)實(shí)體來執(zhí)行的密碼 系統(tǒng),以此來降低設(shè)備上計(jì)算負(fù)載或增加設(shè)備執(zhí)行加密和認(rèn)證的速度。在Springer-Verlag 2001 的“計(jì)算機(jī)科學(xué)”第 2045 卷中的講稿 EUR0CRYPT 2001 “密碼術(shù)的發(fā)展”中由 Charanjit Jutla 所著的論文“Encryption Modes withAlmost Free Message Integrity”中,提出了可以以與單獨(dú)加密需要差不多的處理方式來加密消 息和認(rèn)證經(jīng)加密的消息的密碼系統(tǒng)。換而言之,加密和認(rèn)證可以作為單個(gè)功能實(shí)體被有效 地執(zhí)行。因此,降低了提供安全性所需的處理資源量。Jutla密碼系統(tǒng)被設(shè)計(jì)成加密所有要發(fā)送的數(shù)據(jù)。然而,在某些應(yīng)用中,消息的所 有數(shù)據(jù)必須被加密的要求是不希望的。例如,在諸如IPSec等通信協(xié)議中,加密所有的數(shù)據(jù) 不是有效的。數(shù)據(jù)的頭部必須未經(jīng)加密發(fā)送用于尋址。IPSec的原理是在題為“Security Architecture for Internet Protocol" ^ RFC 1825>H^j"IP Authentication Header" 的 RFC 1826 和題為 ‘‘IP Encapsulating SecurityPayload(ESP),,的 RFC 1827 中規(guī)定,所 有這些是由R. Atkinson在1995年8月提交的。因此,需要一種用于加密和認(rèn)證數(shù)據(jù)的安全有效的系統(tǒng),其中不是消息的所有數(shù) 據(jù)比特都需要被加密。

發(fā)明內(nèi)容
這里提出了解決上述需要的方法和裝置。特別地,提出了允許數(shù)據(jù)消息的某些部 分以明文發(fā)送,數(shù)據(jù)消息的某些部分以密文發(fā)送,并且使用單一的認(rèn)證標(biāo)記來驗(yàn)證數(shù)據(jù)消 息的明文部分和密文部分的方法和裝置。一方面,提出了作為單個(gè)實(shí)體加密和認(rèn)證數(shù)據(jù)的方法,所述方法包含將數(shù)據(jù)安排 到多個(gè)明文塊中,每個(gè)明文塊根據(jù)密碼塊大小來定尺寸;指定至少一個(gè)明碼(Cleartext) 位置,對(duì)此至少一個(gè)密文塊與相應(yīng)的明文塊一樣;確定多個(gè)使用臨時(shí)值和第一密鑰的噪聲 塊;確定多個(gè)中間密文塊,其中第一中間密文塊對(duì)應(yīng)于經(jīng)加密的臨時(shí)值,且剩余的中間密文 通過用第二密鑰加密多個(gè)中間明文塊來迭代地計(jì)算,其中每個(gè)中間明文塊是多個(gè)明文塊中 一個(gè)和前一中間密文塊的組合;通過使用多個(gè)中間密文塊和多個(gè)噪聲塊來確定多個(gè)密文 塊,其中第一密文塊與第一中間密文塊相同,而剩余的密文塊通過將相應(yīng)的中間密文塊和 相應(yīng)的噪聲塊相組合來獲取;基于多個(gè)明文塊和對(duì)應(yīng)于最后一個(gè)明文塊的中間密文塊來計(jì) 算輸入校驗(yàn)和值;基于多個(gè)密文塊和一個(gè)噪聲塊來計(jì)算輸出校驗(yàn)和值;通過用第二密鑰加 密輸入校驗(yàn)和值并將經(jīng)加密的輸入校驗(yàn)和值和輸出校驗(yàn)和組合來計(jì)算認(rèn)證標(biāo)記;用相應(yīng)的 明文塊來代替由明碼位置指定的多個(gè)密文塊的每一個(gè);以及添加認(rèn)證標(biāo)記。在另一方面,提出了解密和驗(yàn)證伴有認(rèn)證標(biāo)記的多個(gè)數(shù)據(jù)塊的方法,其中定義了 一組明碼位置,所述方法包含使用臨時(shí)值和第一密鑰來確定多個(gè)噪聲塊;將未由該組明 碼位置中的明碼位置所指定的多個(gè)數(shù)據(jù)塊的每個(gè)與相應(yīng)的噪聲塊組合,用以確定多個(gè)中間 密文塊;指定由該組明碼位置中的明碼位置確定的多個(gè)數(shù)據(jù)塊的每個(gè)為多個(gè)明文塊中的明 文塊;對(duì)于該組明碼位置中的每個(gè)明碼位置,將相應(yīng)的明文塊與先前中間密文塊組合以形 成中間明文塊,并且加密該中間明文塊來形成對(duì)應(yīng)于該明碼位置的中間密文塊;對(duì)于不在 該組明碼位置的每個(gè)位置,解密相應(yīng)的中間密文塊以形成相關(guān)聯(lián)的中間明文塊,并且將相 關(guān)聯(lián)的中間明文塊和先前的中間密文塊組合用以為不在該組明碼位置中的每個(gè)位置形成 一明文塊;確定多個(gè)次要密文塊,其中多個(gè)次要密文塊的每個(gè)對(duì)應(yīng)于該組明碼位置中的明 碼位置,并且是通過將相應(yīng)的中間密文塊和相應(yīng)的噪聲塊相組合而形成;通過將最后一個(gè) 中間密文塊和不是由該組明碼位置中的明碼位置指定的多個(gè)數(shù)據(jù)塊組合來計(jì)算輸入校驗(yàn) 和值;通過將噪聲塊和多個(gè)次要密文塊組合來計(jì)算輸出校驗(yàn)和值;以及驗(yàn)證認(rèn)證標(biāo)記。在另一方面,提出了安全的數(shù)據(jù)傳輸?shù)姆椒ǎ黄渲械谝徊糠值臄?shù)據(jù)傳輸是作為明 文發(fā)送的,第二部分的數(shù)據(jù)傳輸是作為密文發(fā)送的,并且所有的數(shù)據(jù)傳輸是經(jīng)過認(rèn)證的,所 述方法包含生成一組明碼位置;將第一部分?jǐn)?shù)據(jù)傳輸和第二部分?jǐn)?shù)據(jù)傳輸加密為密文, 其中所述第一部分?jǐn)?shù)據(jù)傳輸由該組明碼位置指定,而第二部分?jǐn)?shù)據(jù)傳輸不與該組明碼位置 中任一相關(guān)聯(lián);使用不與該組明碼位置中任一相關(guān)聯(lián)的數(shù)據(jù)傳輸來生成輸入校驗(yàn)和值;使 用第一部分?jǐn)?shù)據(jù)傳輸?shù)拿芪膩砩奢敵鲂r?yàn)和值;使用輸入校驗(yàn)和值和輸出校驗(yàn)和值來生 成認(rèn)證標(biāo)記;以及發(fā)送該明文、密文和認(rèn)證標(biāo)記,其中所述明文是由該組明碼位置指定的數(shù) 據(jù)傳輸?shù)牡谝徊糠?。在另一方面,提出了解密和?yàn)證多個(gè)接收到的傳輸塊的方法,所述方法包含確定 多個(gè)接受到的傳輸塊的每個(gè)是否是由來自一組明碼位置的明碼位置所指定的;解碼多個(gè)接 收到的傳輸塊,所述解碼包含如果不是由明碼位置所指定的,那么就生成一組中間密文 塊,解密該組中間密文塊以生成一組中間明文塊,并生成一組明文塊;如果是由明碼位置所指定的,那么就將由明碼位置所指定的多個(gè)接收到的傳輸塊的每個(gè)與先前的中間密文塊組 合以生成中間明文塊,并加密該中間明文塊以獲取中間密文塊;以及驗(yàn)證多個(gè)接收到的傳 輸塊,所述驗(yàn)證包含使用未由明碼位置指定的該組明文塊來形成輸入校驗(yàn)和值;使用一 組次要密文塊來形成輸出校驗(yàn)和值,其中所述次要密文塊是從一組不與明碼位置相關(guān)聯(lián)的 中間密文塊獲取的;以及將輸入校驗(yàn)和值和輸出校驗(yàn)和值用于與認(rèn)證標(biāo)記作比較。在另一方面,提出了安全的數(shù)據(jù)傳輸?shù)难b置;其中第一部分的數(shù)據(jù)傳輸是作為明 文發(fā)送的,第二部分的數(shù)據(jù)傳輸是作為密文發(fā)送的,并且所有的數(shù)據(jù)傳輸是經(jīng)過認(rèn)證的,所 述方法包含用于生成一組明碼位置的裝置;用于將第一部分?jǐn)?shù)據(jù)傳輸和第二部分?jǐn)?shù)據(jù)傳 輸加密為密文的裝置,其中所述第一部分?jǐn)?shù)據(jù)傳輸由該組明碼位置指定,而第二部分?jǐn)?shù)據(jù) 傳輸不與該組明碼位置中任一相關(guān)聯(lián);用于使用不與該組明碼位置中任一相關(guān)聯(lián)的數(shù)據(jù)傳 輸來生成輸入校驗(yàn)和值的裝置;用于使用第一部分?jǐn)?shù)據(jù)傳輸?shù)拿芪膩砩奢敵鲂r?yàn)和值的 裝置;用于使用輸入校驗(yàn)和值和輸出校驗(yàn)和值來生成認(rèn)證標(biāo)記的裝置;以及用于發(fā)送該明 文、密文和認(rèn)證標(biāo)記的裝置,其中所述明文是由該組明碼位置指定的第一部分的數(shù)據(jù)傳輸。在另一方面,提出了解密和驗(yàn)證多個(gè)接收到的傳輸塊的裝置,所述裝置包含用于 確定多個(gè)接受到的傳輸塊的每個(gè)是否是由來自一組明碼位置的明碼位置所指定的裝置;用 于解碼多個(gè)接收到的傳輸塊的裝置,所述解碼包含如果不是由明碼位置所指定的,那么就 生成一組中間密文塊,解密該組中間密文塊以生成一組中間明文塊,并生成一組明文塊;如 果是由明碼位置所指定的,那么就將由明碼位置所指定的多個(gè)接收到的傳輸塊的每個(gè)與先 前的中間密文塊組合以生成中間明文塊,并加密該中間明文塊以獲取中間密文塊;以及用 于驗(yàn)證多個(gè)接收到的傳輸塊的裝置,這是通過使用未由明碼位置指定的該組明文塊來形成 輸入校驗(yàn)和值,使用一組次要密文塊來形成輸出校驗(yàn)和值,其中所述次要密文塊是從一組 不與明碼位置相關(guān)聯(lián)的中間密文塊獲取的;以及將輸入校驗(yàn)和值和輸出校驗(yàn)和值用于與認(rèn) 證標(biāo)記作比較。


圖1A、1B和IC分別是基本密碼系統(tǒng)、對(duì)稱加密系統(tǒng)和非對(duì)稱加密系統(tǒng)的框圖。圖2A和2B分別是對(duì)稱認(rèn)證系統(tǒng)和非對(duì)稱認(rèn)證系統(tǒng)的框圖。圖3是完整性認(rèn)識(shí)(Integrity Aware)加密塊鏈接模式的框圖。圖4A是CBC-IO模式的框圖。圖4B是用于執(zhí)行CBC-IO模式的裝置的框圖。圖5是解密和驗(yàn)證經(jīng)由CBC-IO模式加密和認(rèn)證的消息的框圖。圖6A是用于執(zhí)行解密和驗(yàn)證經(jīng)由CBC-IO模式加密和認(rèn)證的消息的裝置的框圖。圖6B、6C和6D是用于驗(yàn)證經(jīng)由CBC-IO模式加密和認(rèn)證的消息的不同實(shí)施例的框 圖。
具體實(shí)施例方式加密使得數(shù)據(jù)對(duì)未被認(rèn)證方不可讀。原始數(shù)據(jù)消息被稱為明文消息或明文。經(jīng)加 密的被稱為密文,其中加密包含任一將明文轉(zhuǎn)換為密文的方法,例如分組密碼、散列函數(shù)或 任一其它的加密函數(shù)。解密包含任一將密文轉(zhuǎn)換為明文的方法,即恢復(fù)原始消息。圖IA說明了設(shè)計(jì)用作加密的基本密碼系統(tǒng)10。明文消息11由加密方案12操作以形成密文13。密 文13于是通過通信信道(未示出)發(fā)送并在另一個(gè)站點(diǎn)(未示出)由解碼方案14恢復(fù)明 文15。明文和密文可以關(guān)于任何數(shù)據(jù),包含以數(shù)字形式出現(xiàn)的音頻和視頻數(shù)據(jù)。密碼分析法是破獲密碼系統(tǒng)的安全性的技術(shù)。執(zhí)行密碼分析法的實(shí)體在本領(lǐng)域中 被稱為對(duì)手或攻擊者。加密方案的密碼分析法是關(guān)于解密未經(jīng)認(rèn)證的消息。認(rèn)證方案的密 碼分析法是針對(duì)合成可以被驗(yàn)證為由其他人發(fā)送的消息。密碼系統(tǒng)是基于秘密的。一組實(shí)體共享該秘密,如果一組實(shí)體之外的實(shí)體不花費(fèi) 大量的資源就不能獲得密鑰。這個(gè)秘密被說成充當(dāng)該組實(shí)體的安全關(guān)聯(lián)。一般地,秘密包含一個(gè)密鑰或一組密鑰,它們是以比特來計(jì)量的。密鑰越長(zhǎng),該密 鑰具有越高的秘密安全性。對(duì)稱密碼系統(tǒng)使用同解密消息一樣的同一密鑰來加密消息。對(duì) 稱加密系統(tǒng)20在圖IB中說明,其中加密和解密都使用相同的私鑰。明文21由加密方案22 操作。密鑰23在加密方案22中使用以形成密文24。密文24在通信信道(未示出)上發(fā) 送至另一站點(diǎn),其中解密方案25使用同一密鑰23來形成明文26。相反地,非對(duì)稱密碼系統(tǒng)使用第一密鑰來加密消息,并使用不同的密鑰來將其解 密。圖IC說明了被稱為公鑰密碼系統(tǒng)30的非對(duì)稱加密系統(tǒng),其中公鑰用于加密而私鑰用 于解密。公鑰是公開的,這樣任一用戶可使用該公鑰來加密任一消息。然而,只有私有的、 未公開的密鑰可以被用于解密這個(gè)經(jīng)公鑰加密的消息。明文31被輸入加密方案32,所述加 密方案使用與指定用戶相關(guān)聯(lián)并從公布中獲取的公鑰33。所得的密文34在通信信道(未 示出)上發(fā)送至指定用戶。該指定用戶使用解密方案35中的密鑰36將密文34轉(zhuǎn)換成明 文37。對(duì)稱加密一般比非對(duì)稱加密快得多。然而,由于可能被對(duì)手中途截取,將密鑰從發(fā) 送者發(fā)送至接收者是有問題的。一個(gè)解決方案是使用可信的第三方來持有密鑰,該第三方 只會(huì)與經(jīng)認(rèn)證的用戶共享密鑰。這里所述的實(shí)施例不解決這個(gè)問題,而是假定發(fā)送者和接 收者共享了一密鑰。上述密碼系統(tǒng)生成的密文的完整性一般由附加的某些認(rèn)證數(shù)據(jù)提供給經(jīng)發(fā)送的 密文。該認(rèn)證數(shù)據(jù)一般作為消息內(nèi)容和完整性密鑰的函數(shù)計(jì)算。在對(duì)稱認(rèn)證系統(tǒng)中,認(rèn)證數(shù)據(jù)被稱為消息認(rèn)證代碼(MAC)。該MAC是作為消息內(nèi)容 和完整性密鑰的函數(shù)計(jì)算的,其中發(fā)送者和指定目標(biāo)共享該完整性密鑰。發(fā)送者發(fā)送消息 并附加MAC。消息可以是明文或密文。接收者重新計(jì)算來自消息的MAC,并且只有當(dāng)經(jīng)重新 計(jì)算的MAC與發(fā)送的MAC —致時(shí)才認(rèn)可消息的完整性。理論上,只有消息的發(fā)送者能夠生 成該消息有效的簽名,由此用于接收者認(rèn)證該消息。對(duì)稱認(rèn)證系統(tǒng)40在圖2A中說明,其中簽名和驗(yàn)證都使用相同的密鑰。用使用密 鑰43的認(rèn)證方案42來運(yùn)作消息41以形成認(rèn)證數(shù)據(jù)44。認(rèn)證數(shù)據(jù)44和消息41于是通過 通信信道(未示出)發(fā)送至另一方(未示出)。用使用相同密鑰43的驗(yàn)證方案45來對(duì)消 息41操作以確定認(rèn)證數(shù)據(jù)46。將由接收方生成的認(rèn)證數(shù)據(jù)46與在通信信道上接收到的認(rèn) 證數(shù)據(jù)44相比較。在非對(duì)稱認(rèn)證系統(tǒng)中,認(rèn)證數(shù)據(jù)被稱為數(shù)據(jù)簽名。數(shù)據(jù)簽名作為消息內(nèi)容和發(fā)送 者的完整性密鑰的函數(shù)計(jì)算。發(fā)送者向接收方發(fā)送數(shù)字簽名,接收方于是使用發(fā)送者的公 鑰對(duì)數(shù)字簽名執(zhí)行驗(yàn)證。非對(duì)稱認(rèn)證系統(tǒng)50在圖IE中說明,其中簽名使用私鑰而認(rèn)證使用相應(yīng)的公鑰。在一些方案中,MAC或數(shù)字簽名計(jì)算自包含對(duì)秘密消息的唯一數(shù)學(xué)描述的‘消息摘 要’。消息摘要在長(zhǎng)度上比原始消息要短,這樣更容易地執(zhí)行對(duì)消息摘要的計(jì)算。由于秘密 消息或消息摘要不是保持恒定的,MAC或數(shù)字簽名依靠秘密消息或消息摘要保證認(rèn)證數(shù)據(jù) 不是保持恒定的。如果認(rèn)證數(shù)據(jù)對(duì)多個(gè)消息是保持恒定的,那么對(duì)手就可以非法地容易竊 取到認(rèn)證數(shù)據(jù)。通常使用密碼哈希函數(shù)來計(jì)算消息摘要。密碼哈希函數(shù)從任一輸入計(jì)算出一值 (包含固定位數(shù)),而不管輸入的長(zhǎng)度。密碼哈希函數(shù)的一個(gè)特性是給定一輸出值,計(jì)算上 難以確定會(huì)導(dǎo)致那個(gè)輸出的輸入。密碼哈希函數(shù)的一個(gè)例子是SH-I,如聯(lián)邦信息處理標(biāo)準(zhǔn) 出版物(FIPS PUBS)發(fā)布的和國(guó)家標(biāo)準(zhǔn)技術(shù)局(NIST)出版的FIPPUB 180-1"Secure Hash Standard”中所描述的。分組密碼是對(duì)稱加密方案,對(duì)于該方案到該方案的輸入在位數(shù)上總是固定的長(zhǎng) 度。該長(zhǎng)度被稱為分組密碼的塊大小。分組密碼的一個(gè)例子是數(shù)據(jù)加密標(biāo)準(zhǔn)(DES),如FIPS PUBS 發(fā)布的和 NIST 出版的 FIPS PUB 46-1 “Data EncryptionStandard”中所描述的。DES 的塊大小為64位。分組密碼的另一個(gè)例子是高級(jí)加密標(biāo)準(zhǔn)(AES),如FIPS PUBS發(fā)布的和 NIST 出版的 FIPS PUB 46-1 "AdvancedEncryption Standard”中所描述的。AES 的塊大小 為128位。分組密碼的密鑰長(zhǎng)度是該密鑰的位數(shù)長(zhǎng)度。然而,密鑰的熵是密鑰的可能值的數(shù) 目的對(duì)數(shù)(基數(shù)為2)。熵也是按照位數(shù)來寫的。例如,DES具有64位的密鑰,這些位數(shù)中 的8位被用作校驗(yàn)和以檢測(cè)密鑰傳輸中的差錯(cuò)。從而,DES的密鑰熵是(64-8) = 56位。給定分組密碼的幾對(duì)輸入和相應(yīng)的輸出,對(duì)手就可導(dǎo)出該分組密碼的密鑰,所述 對(duì)手測(cè)試所有可能的密鑰值以確定那些輸入導(dǎo)致正確的輸出。這種類型的攻擊被稱為窮舉 密鑰搜索。這種攻擊的計(jì)算復(fù)雜性是攻擊所需的加密操作的數(shù)目。因此,在窮舉密鑰搜索 中,為了提取K位密鑰的攻擊需要大約2k加密操作來提取分組密碼密鑰。分組密碼對(duì)構(gòu)造其它的密碼實(shí)體是有用的。使用分組密碼的方式被稱為操作模 式。已經(jīng)為DES標(biāo)準(zhǔn)化四種模式的操作,并且在FIPS PUBS發(fā)布的和NIST出版的FIPS PUB 81 "DES Modes of Opertaion”中描述了這四種模式。這四種模式是電子碼本(ECB)、密碼 分組鏈(CBC)、輸出反饋(OFB)和密碼反饋(CFB)。為了說明起見,這里只討論ECB和CBC 來加密明文塊P1,...,和Pm的序列。在ECB模式中,依照以下關(guān)系,分組密碼被用于將明文的每個(gè)塊加密成密文塊Ci = Ek(P1),其中Ek(P1)標(biāo)記為使用密鑰K對(duì)塊P1的加密。在這里使用時(shí),Dk(P1)表示使用密 鑰K對(duì)塊P1的解密。在CBC模式中,用秘密初始值(IV)對(duì)第一明文塊求異或形成一結(jié)果,該結(jié)果接著 被加密。依照以下關(guān)系寫出該過程的數(shù)學(xué)描述C1 = ΕκΑ IV).此后,在加密前用先前的密文對(duì)每個(gè)明文塊求異或,如下Ci = Εκ(Ρ)θ Cm ).在對(duì)稱密碼系統(tǒng)中,有效的加密和認(rèn)證可能是有問題的。直到最近,滿足這個(gè)需求的唯一解決方案是使用原始的方法提供加密和認(rèn)證為兩個(gè)單獨(dú)的功能。這兩個(gè)功能需要 大約等量的計(jì)算,因此使用兩個(gè)功能的花費(fèi)是只使用一個(gè)或另一個(gè)方法的兩倍。在論文"Encryption Modes with Almost Free Message Integrity,,中,Jutla提 出了兩種方法,這兩種方法提供了比單獨(dú)加密或認(rèn)證需要稍微多一點(diǎn)計(jì)算的加密和認(rèn)證。 這些方法具有一般的形式并且將分組密碼用作密碼核心。在密碼界中,這樣的方法也被稱 為“操作模式”。Jutla的操作模式之一,被稱為完整性意識(shí)可平行模式(IAPM)模式,不在這 個(gè)文件中討論。Jutla的另一個(gè)操作模式,被稱為完整性意識(shí)密碼塊鏈(IACBC)模式,在圖 3中示出。IACBC使用兩個(gè)密鑰=Ktl和&。假設(shè)發(fā)送者希望加密和認(rèn)證含有從P1到Pnrl的 (m-Ι)個(gè)消息塊的消息。發(fā)送者將t設(shè)置為等于大于(m+1)的對(duì)數(shù)(基數(shù)為2)的下一個(gè)整 數(shù)。發(fā)送者選擇一隨機(jī)值(稱為臨時(shí)或初始值)以加密形成密文塊Q。值r+Ι到r+t被加 密以形成值Wtl到Ww,其中所述加密使用密鑰Ktlt5值Wtl到Ww接著被用于導(dǎo)出成對(duì)的獨(dú)立 值Sc^IjSt+這些值在這里被稱為噪聲塊。如果均勻地分配給Stl,...,Smn位隨機(jī)數(shù)字,其 具有以下特性對(duì)于每對(duì)S1和Sj,其中i興j,并且每對(duì)η位數(shù)常數(shù)C1和c2,S1 = C1并且Sj =C2的概率是2_2η,那么值Stl,...,Sm是成對(duì)獨(dú)立的。對(duì)Stl到Sm的實(shí)際計(jì)算與理解IACBC 無關(guān)并且將不在下面描述。根據(jù)以下關(guān)系,對(duì)于1彡i彡m-Ι迭代地導(dǎo)出密文塊C1到CV1 的值Mi = Pi θ NM,Ni = Eki (Mi),Ci =Ni θ Si,其中密鑰K1被用于每個(gè)密碼塊,并且初始值Ntl被設(shè)置為Q。這些值M1被稱為中 間明文塊,值N1被稱為中間密文塊。發(fā)送者接著計(jì)算檢驗(yàn)和值Pm,定義為Pm-P^P^.^Pm-i.通過用密鑰K1加密(Ρ ΘΝη)和將經(jīng)加密的結(jié)果與Stl求異或,從Pm計(jì)算出MAC標(biāo) 記值Cm。數(shù)學(xué)上,該計(jì)算可如下表示Cm = EK1 (Pm 十 Nm)十 S0.發(fā)送者發(fā)送Ctl... Cm。假設(shè)接收者接收到C’ & . . C’ m。接收者通過首先解密C’ ^以形成r’來開始解密 過程,其中所述解密使用密鑰&。加密值r’ +1到r’ +t以形成值W’ ^至W’ ,其中加密使 用密鑰&。接收者接著計(jì)算值3\到5’111。根據(jù)以下關(guān)系,對(duì)于1彡i彡m-Ι迭代地導(dǎo)出 密文塊P1到Pm-!的值N) = C'i 十 S',,M,i = Dki (N,汐,Pi = Ν'ι-t M*f,其中密鑰K1被用于每個(gè)明文塊,并且初始值N’。被設(shè)置為等于C’ 0.接收者接著 計(jì)算檢驗(yàn)和值P’ m,定義為Pm' = Ρ'ι 十 P,2 十…十 PVi.通過使用密鑰K1加密Pm和Nnri的異或,接著將加密的結(jié)果與S^求異或來計(jì)算出 值X。數(shù)學(xué)上,可以如下描述該過程X = EK1 (P'm 十 NV1)十 S'o.
如果X與C’ m相等,那么接收者可以確信精加密的消息的完整性。Gligor 禾口 Donescu 在 論 JC "Fast Encryption and Anthenticaion XCBCEncryption and XEBC Authentication Modes”中提出一相似的模式,稱為擴(kuò)展密文塊 鏈模式(XCBC模式),它使用相似的計(jì)算量提供加密和認(rèn)證。XCBC和IACBC的主要區(qū)別是 噪聲塊Stl到Sm的表示法,其表示法與這個(gè)文件無關(guān)。IACBC和XCBC模式的操作具有某些不合需要的特性。第一個(gè)不合需要的特性是這 些模式需要所有的數(shù)據(jù)經(jīng)加密被發(fā)送。在諸如IPSec等因特網(wǎng)協(xié)議中,發(fā)送所有數(shù)據(jù)都被 加密的消息是不希望的。特別是,包含定址信息的頭部必須以明文的形式發(fā)送。這里所描 述的實(shí)施例提出了 IACBC和XCBC模式的變形(此后稱為CBC-IO模式),它允許數(shù)據(jù)塊以明 文發(fā)送,而只加上少量的處理。應(yīng)該注意數(shù)據(jù)或通信系統(tǒng)中的硬件或軟件都可以被配置成執(zhí)行CBC-IO模式的不 同實(shí)施例。硬件可以包含但不限于處理元件,實(shí)現(xiàn)一組存儲(chǔ)在計(jì)算機(jī)可讀媒質(zhì)上的指令, 例如存儲(chǔ)器,以執(zhí)行下述的加密、認(rèn)證、解密和驗(yàn)證過程。此外,使用位邏輯異或運(yùn)算符描 述了各種組合步驟。實(shí)施例的其它實(shí)現(xiàn)可以使用取模的整數(shù)加法運(yùn)算來執(zhí)行,其中兩個(gè)輸 入被處理為整數(shù)的二進(jìn)制表示,以這兩個(gè)整數(shù)和的二進(jìn)制表示構(gòu)成中間值,通過將中間值 截短成密碼塊的大小來構(gòu)成輸出。也可以適當(dāng)修改地使用其它群運(yùn)算符,然而,為了易于說 明,這里只描述使用異或操作符的實(shí)施例。CBC-IO模式的一個(gè)實(shí)施例在圖4A中說明。該CBC-IO模式的操作使用兩個(gè)密鑰 Kc^PKp假設(shè)發(fā)送者希望加密和認(rèn)證由塊P1到Pnri的(m-Ι)消息組成的消息。在步驟400處,發(fā)送者和接收者對(duì)該組明文塊以不加密的形式發(fā)送達(dá)成一致。用 U表示要以不加密形式發(fā)送的明文塊的指數(shù)的集合,其中U的元素被稱為明碼位置。在步驟402處,發(fā)送者選擇臨時(shí)值r并按照IACBC或XCBC模式來計(jì)算噪聲塊Stl到 Sffl,以獲取中間密文N0到Nnri,并獲取密文C0到Clrft5即,N0 = C0 = Ekl (r),并且根據(jù)以下關(guān) 系,對(duì)于1彡i彡m-Ι反復(fù)導(dǎo)出中間密文Ntl到Nnri和密文塊C1到Clrt的值Mi =Pi 十 Nm,Ni = Eki (Mi),C1 =N1 Θ S1注意對(duì)每個(gè)密文塊使用密鑰K1。在一個(gè)替換實(shí)施例中,臨時(shí)值r可以是一個(gè)由發(fā) 送者和接收者都存儲(chǔ)的預(yù)定的值,而非一導(dǎo)出的值。在步驟410處,發(fā)送者計(jì)算校驗(yàn)和值CHK_IN和CHK_0UT,它們定義如下CHKJN =(十υ Pi)十 NtTH ’禾口CHK_OUT =(十ie υ Ci) θ S0.在步驟420處,發(fā)送者通過用密鑰K1加密CHK_IN計(jì)算MAC標(biāo)記Cm,并將結(jié)果與 CHK_0UT求異或。這個(gè)過程在數(shù)學(xué)上描述如下 Cm = Eki(CHKJN)十 CHK_0UT.在步驟430處,發(fā)送者重新設(shè)置那些值C1,其中i e U( S卩,那些會(huì)不加密發(fā)送的明 文),使得C1 = P10在步驟440處,發(fā)送者發(fā)送C0. · · Cffl0因?yàn)橥ㄟ^將信息和最后一次加密的輸入和輸出組合計(jì)算出認(rèn)證標(biāo)記,這種模式被 稱為CBC-I0。使用CBC-IO模式生成認(rèn)證標(biāo)記的步驟與IACBC的不同在于生成CHK_IN和CHK_0UT的值。由于這個(gè)不同,在接收者處的解密和驗(yàn)證過程也必須不同地配置。圖4B是被配置成執(zhí)行上述CBC-IO模式的硬件的框圖。應(yīng)該注意圖4B說明了可 以作為軟件實(shí)現(xiàn)的替換的實(shí)現(xiàn),其中處理器和存儲(chǔ)器被配置成執(zhí)行一組指令,用于執(zhí)行上 述的CBC-IO模式。存儲(chǔ)器元件450存儲(chǔ)明文塊P1,其中的一些要被加密且其中的全部要被 認(rèn)證。加密元件460A、460B、460C和460D被配置成對(duì)這些輸入執(zhí)行加密功能。為了說明起 見,在圖4B中示出了四個(gè)(4)加密元件用于加密明文塊,但是本領(lǐng)域的技術(shù)人員理解可以 實(shí)現(xiàn)較多或較少的加密元件而不影響本實(shí)施例的范圍。在這個(gè)實(shí)施例中,到加密塊460A、460B、460C和460D的輸入是在第一加密元件 460A處的臨時(shí)值r和各自在其相應(yīng)的其余密文元件處的中間明文塊M1到Mnri。中間明文塊 M1到Mnrl是將元件462A、462B和462C組合的輸出。一方面,組合元件462A、462B和462C是 異或門。加密元件460A、460B、460C和460D的輸出是中間密文塊N。到Nnrl。通過組合元件 464A、464B和464C中間密文塊N0到Nm^1與相應(yīng)的噪聲塊S1到Snri組合。組合元件464A、 464B和464C的輸出是密文塊C1到Cn^處理框(或校驗(yàn)和生成器)470被配置成通過使用要以加密形式發(fā)送的明文塊和 最后一個(gè)中間密文塊Nnri來確定校驗(yàn)和值CHK_IN。處理框(或校驗(yàn)和生成器475)被配置 成通過使用第一噪聲塊Stl和對(duì)應(yīng)于要以明文形式發(fā)送的明文塊的密文塊來確定校驗(yàn)和值 CHK_0UT。上面已經(jīng)描述了用于確定CHK_IN和CHK_0UT的公式。接著CHK_IN輸入到加密 元件480中。接著使用組合器元件490將加密元件480的輸出和CHK_0UT組合。組合器元 件490的輸出是最后一個(gè)密文塊Cm,它也被用作認(rèn)證標(biāo)記。密文塊C1到Cnri,認(rèn)證標(biāo)記Cm和明文塊P1被輸入到選擇元件495,選擇元件495確 定要發(fā)送的塊是密文還是明文。換而言之,i e U的那些P1與那些iiU的C1 一起被發(fā)送。圖5是解密和驗(yàn)證經(jīng)CBC-IO模式加密和認(rèn)證的消息的框圖。在步驟500處,接收 者接收模塊C’ 0... Cffltj注意對(duì)于ieu,CT1是不加密發(fā)送的。在步驟510處,接收者使 用密鑰K1來解密C’ ^以獲取r’。值r’和密鑰Ktl被用于導(dǎo)出噪聲塊S’ ^到S’ m的值。在步驟520處,對(duì)于i,其中1 < i < m,一迭代過程由是否i e U的判定開始。如 果ii U,那么程序流進(jìn)入到步驟530。如果i e U,那么程序流進(jìn)入到步驟540。在步驟530 處,接收者確定中間密文N’工,其中igU。通過將C’工求異或以確定中間密文N’工,其 中ig U,這在數(shù)學(xué)上描述如下N'i = C'i SV在步驟532處,接收者解碼中間密文N1,其中ii U:M,i = Dki (N,汐,Pi = M1IeNV1.程序流進(jìn)入步驟550。對(duì)于i e U,在步驟540,接收者確定P,i = C,i,其中i e U。在步驟542處,順次前進(jìn)經(jīng)過值i e U,接收者按照以下關(guān)系,將P’ N’ η組合 以獲取M’ !M’i 二 P’i 十 N’m,N,i = Eki (Μ,》·程序流進(jìn)入步驟550。在步驟550處,指數(shù)i加1并作出判定是否i > m。如果條件i > m為假,那么程序流回到步驟520處。如果條件i > m為真,那么程序流進(jìn)入到步驟 560,步驟560是驗(yàn)證過程的開始。應(yīng)該注意上述為明碼位置確定中間密文塊和中間明文塊的步驟可以互換排序而 不影響這些實(shí)施例的范圍。也應(yīng)該注意上述步驟可以容易地改變成適用于一組密文位置, 而非明碼位置,即這些步驟可以關(guān)于已被指定為加密的塊來描述,而非關(guān)于已用明文發(fā)送 的塊。也應(yīng)該注意在上述步驟中計(jì)算出的值被存儲(chǔ)以進(jìn)一步在迭代過程中使用。接收者現(xiàn)在已解密了所有的密文,但是接收者現(xiàn)在需要驗(yàn)證完整性。為了驗(yàn)證完 整性,在步驟560處,接收者首先按照以下關(guān)系構(gòu)成次要密文Cf1,其中i e U:C*i = N’ieS,i.在步驟570處,接收者計(jì)算校驗(yàn)和值CHK_IN’,定義如下CHKJN' = (eie υ P'i)十 Ν’ η .在步驟580處,接收者計(jì)算校驗(yàn)和值CHK_0UT’,定義如下CHK_OUT' = (Φ ε υ C*)十 S'0.在步驟590處,通過用密鑰K1加密由CHK_TN’計(jì)算出值X,并將結(jié)果與CHK_0UT’ 求異或。這個(gè)過程在數(shù)學(xué)上描述如下X = Eki(CHKJN') θ CHK_OUT.接收者將X和C’ ^乍比較以確定它們是否相等。如果它們是相等的,那么接收者 可以確信消息的完整性。如果驗(yàn)證了消息的完整性,該消息是P = P1, ... , Pm^1.在替換實(shí)施例中,接收者使用替換值作比較。在一個(gè)實(shí)施例中,認(rèn)證標(biāo)記與CHK_ OUT組合以構(gòu)成測(cè)試加密輸入校驗(yàn)和值。輸入校驗(yàn)和值被加密,接著與測(cè)試加密輸入校驗(yàn)和 值作比較。如果測(cè)試加密輸入校驗(yàn)和值與經(jīng)加密的輸入校驗(yàn)和值是相同的,那么驗(yàn)證了認(rèn) 證標(biāo)記。在另一個(gè)實(shí)施例中,認(rèn)證標(biāo)記與輸出校驗(yàn)和值組合以構(gòu)成測(cè)試加密輸入校驗(yàn)和值。 該測(cè)試加密輸入校驗(yàn)和被解密以獲取測(cè)試輸入校驗(yàn)和值;該測(cè)試輸入校驗(yàn)和值接著與輸入 校驗(yàn)和值作比較。如果測(cè)試輸入校驗(yàn)和值與輸入校驗(yàn)和值是相同的,那么驗(yàn)證了認(rèn)證標(biāo)記。在另一個(gè)替換實(shí)施例中,驗(yàn)證步驟560到590可以與解密步驟520到550并行執(zhí) 行。這種并行處理加快了接收者處理來自發(fā)送者的經(jīng)加密和認(rèn)證的傳輸?shù)乃俣?。圖6A是被配置成對(duì)用上述CBC-10模式加密的消息執(zhí)行解密的框圖。圖6B、6C和 6D是被配置成使用上述CBC-IO模式認(rèn)證的消息執(zhí)行驗(yàn)證的框圖。在圖6A中,接受到的塊 CojC1,. . ·和C’m存儲(chǔ)在存儲(chǔ)器600中。解密元件610A、610B、610C、610D和610E被配置 使用密鑰K1執(zhí)行解密功能,所述密鑰K1在密鑰協(xié)商過程期間在發(fā)送者和接收者之間達(dá)成一 致,這里不討論該協(xié)商過程的詳情。到第一解密元件610A的輸入是塊CV它是來自發(fā)送者 的第一個(gè)消息塊。第一解密元件610a的輸出是r’,它會(huì)被用于確定噪聲塊S’…S’ ” ..., S’ μ,這是由這里未示出的硬件配置確定的。到其它解密元件610B、610C、610D和610E的輸入各自在每個(gè)相應(yīng)的解密元件處 生成中間密文塊N’ ^到N’ m。中間密文塊N’工到N’ m是通過對(duì)所有的i U將相應(yīng)的噪聲塊 S’工和接收到的密文塊C’工組合而形成的,其中所述組合是使用組合元件620A、620B、620C 和620D,諸如,例如異或門或取模的整數(shù)加法器,來執(zhí)行的。使用組合元件622A、622B、622C 和 622D 將解密元件 610A、610B、610C、610D 和 610E的輸出各自與相關(guān)聯(lián)的中間密文塊N,1相組合。組合元件622A、622B、622C和622D的輸出 是明文塊P’ ,其中igU。對(duì)于中間密文塊N’ !的生成,其中i e U,加密元件630A、630B和630C使用密鑰 K1來加密前一個(gè)中間密文塊N,κ或中間密文塊N,10組合元件624A、624B和624C將前一 個(gè)中間密文塊N’ η與明文塊P’ !組合以形成中間明文塊M’工,中間明文塊M’工是由加密元 件630A、630B、630C和630D來加密的。應(yīng)該注意在確定P’后(其中i U ),可以通過設(shè)置 Pj1 = C'工(其中i e U)可以簡(jiǎn)單地導(dǎo)出明文塊P’工(其中i e U)。包含了中間密文塊N1 的生成,其中i e U,以允許對(duì)于igU迭代地確定明文塊P’ i,并生成第二密文塊O1用于驗(yàn) 證。在這個(gè)實(shí)施例中,用控制線(未示出)實(shí)現(xiàn)轉(zhuǎn)換器640A、640B、640C和640D,以利于按 照是明碼位置還是密文位置處于即時(shí)位置之前來選擇合適的中間密文塊。輸入校驗(yàn)和CHK_IN可以被確認(rèn)為組合元件(未示出)的輸出,所述組合元件將最 后一個(gè)中間密文塊N’ m和所有明文塊P’,的組合(其中igU)相結(jié)合。輸出校驗(yàn)和CHK_ OUT可以被確定為組合元件(未示出)的輸出,所述組合元件將第一噪聲塊3\和所有次 要密文Cf1的組合相結(jié)合,次要密文Cfi的每一個(gè)被定義為相應(yīng)的中間密文塊N’工和相應(yīng)的 噪聲塊S,!的組合。次要密文塊Cf1是圖6A中組合元件645A、645B和645C的輸出。圖6B示出了驗(yàn)證認(rèn)證標(biāo)記的一個(gè)實(shí)施例。CHK_IN值被輸入到加密元件650中。 加密元件650的輸出與CHK_0UT值在組合元件655處組合。接著,在比較元件657處將組 合元件655的輸出與接受到的塊C’m作比較,所述塊C’m是認(rèn)證標(biāo)記。圖6C是驗(yàn)證認(rèn)證標(biāo) 記的另一個(gè)實(shí)施例。CHK_IN值被輸入到加密元件660中。在組合元件665處,將認(rèn)證標(biāo)記 C’m與CHK_0UT值組合。在比較元件667處,將組合元件665的輸出與加密元件660的輸出 作比較,以驗(yàn)證認(rèn)證標(biāo)記。圖6D是驗(yàn)證認(rèn)證標(biāo)記的另一個(gè)實(shí)施例。在組合元件670處,將認(rèn) 證標(biāo)記C’ 1與0 _0肌值組合。組合元件670的輸出被輸入到解密元件675中。接著,在 比較元件677處,將解密元件675的輸出與CHK_IN值作比較。如果任一的比較顯示匹配, 那么就驗(yàn)證了認(rèn)證標(biāo)記C’ m。當(dāng)接收者試圖解密消息時(shí),攻擊者會(huì)使得接收者使用錯(cuò)誤的明碼位置組。為了防 止這種類型的攻擊,發(fā)送者和接收者必須使用其它的方法來驗(yàn)證應(yīng)用到特定密文消息的明 碼位置。對(duì)這個(gè)問題有簡(jiǎn)單的解決方案。一個(gè)解決方案是對(duì)那些位置是明碼位置有標(biāo)準(zhǔn)的 協(xié)議。另一種方法是在數(shù)據(jù)塊中包含明碼位置集合U的表示,這樣使得對(duì)密文的驗(yàn)證包含 對(duì)明碼位置集合的驗(yàn)證。在檢驗(yàn)和中包含值C1,其中igU,構(gòu)成了 CBC-IO模式操作和由Jutla和Gligor和 Donescu提出的模式操作之間的區(qū)別。注意在計(jì)算密文和認(rèn)證標(biāo)記時(shí),CBC-IO使用分組密 碼加密。然而,在一些或全部的分組密碼加密操作之處使用分組密碼解密是同等有效的。這 會(huì)導(dǎo)致在解密和消息完整性期間從分組密碼解密到分組密碼加密(反之亦然)的改變。在CBC-IO模式中,如果基層的分組密碼是安全的,那么加密和認(rèn)證功能是安全 的。本令頁域中對(duì)于短語"the encryption and authentication functions aresecure,“力口 密和認(rèn)證功能呈安全的”什么意思有正式的表示法,然而這些正式的表達(dá)法與本發(fā)明 的主題無關(guān)并不會(huì)在這里討論。本領(lǐng)域的技術(shù)人員會(huì)熟悉短語“theencryption and authentication functions are secure"白勺意; 、。雖然這里的實(shí)施例是基于AES分組密碼關(guān)于CBC-IO模式描述的,這些實(shí)施例也可以應(yīng)用到基于其它分組密碼來構(gòu)建CBC-IO模式。注意發(fā)送者可以選擇發(fā)送P1或C1,這不 會(huì)危害認(rèn)證。這里所述的實(shí)施例允許一方發(fā)送經(jīng)加密的或未經(jīng)加密的塊而不危害認(rèn)證方案 的安全性。如果P1以明文發(fā)送,那么Pi的加密版本仍然是安全和不可預(yù)測(cè)的,并且可以被 用作安全認(rèn)證。通常的做法是當(dāng)使用認(rèn)證模式時(shí),僅將MAC定義并最終塊的一部分。也可以改變 本發(fā)明,這樣使得只有一部分最終塊作為MAC發(fā)送。本領(lǐng)域的技術(shù)人員可以理解,信息和信號(hào)可以用多種不同技術(shù)和工藝中的任一種 來表示。例如,上述說明中可能涉及的數(shù)據(jù)、指令、命令、信息、信號(hào)、比特、碼元和碼片可以 用電壓、電流、電磁波、磁場(chǎng)或其粒子、光場(chǎng)或其粒子或它們的任意組合來表示。本領(lǐng)域的技術(shù)人員能進(jìn)一步理解,結(jié)合這里所公開的實(shí)施例所描述的各種說明性 的邏輯框、模塊、電路和算法步驟可以為電子硬件、計(jì)算機(jī)軟件或兩者的組合來實(shí)現(xiàn)。為了 清楚說明硬件和軟件間的互換性,各種說明性的組件、框圖、模塊、電路和步驟一般按照其 功能性進(jìn)行了闡述。這些功能性究竟作為硬件還是軟件來實(shí)現(xiàn)取決于特定的應(yīng)用對(duì)總體系 統(tǒng)設(shè)計(jì)上的約束。熟練的技術(shù)人員可能對(duì)于每個(gè)特定應(yīng)用不同的方式來實(shí)現(xiàn)所述功能,但 這種實(shí)現(xiàn)決定不應(yīng)被解釋為就此背離本發(fā)明的范圍。結(jié)合這里所描述的實(shí)施例來描述的各種說明性的邏輯框、模塊和算法步驟的實(shí)現(xiàn) 或執(zhí)行可以用通用處理器、數(shù)字信號(hào)處理器(DSP)、之用專用集成電路(ASIC)、現(xiàn)場(chǎng)可編 程門陣列(FPGA)或其它可編程邏輯器件、離散門或晶體管邏輯、離散硬件組件或者為執(zhí)行 這里所述功能而設(shè)計(jì)的任意組合。通用處理器可能是微處理器,然而或者,處理器可以是任 何常規(guī)的處理器、控制器、微控制器或狀態(tài)機(jī)。處理器也可以用計(jì)算設(shè)備的組合來實(shí)現(xiàn),如, DSP和微處理器的組合、多個(gè)微處理器、結(jié)合DSP內(nèi)核的一個(gè)或多個(gè)微處理器或者任意其它 這種配置。結(jié)合這里所公開實(shí)施例描述的方法或算法的步驟可能直接包含在硬件中、由處理 器執(zhí)行的軟件模塊中或在兩者當(dāng)中。軟件模塊可以駐留在RAM存儲(chǔ)器、閃存、ROM存儲(chǔ)器、 EPROM存儲(chǔ)器、EEPROM存儲(chǔ)器、寄存器、硬盤、可移動(dòng)盤、⑶-ROM或本領(lǐng)域中已知的任何其它 形式的存儲(chǔ)媒質(zhì)中。示例性存儲(chǔ)媒質(zhì)與處理器耦合,使得處理器可以從存儲(chǔ)媒質(zhì)讀取信息, 或把信息寫入存儲(chǔ)媒質(zhì)。或者,存儲(chǔ)媒質(zhì)可以與處理器整合。處理器和存儲(chǔ)媒質(zhì)可能駐留 在ASIC中。ASIC可能駐留在用戶終端中?;蛘?,處理器和存儲(chǔ)媒質(zhì)可能作為離散組件駐留 在用戶終端中。提供上述優(yōu)選實(shí)施例的描述為了使本領(lǐng)域的技術(shù)人員能制造或使用本發(fā)明。這些 實(shí)施例的各種修改對(duì)于本領(lǐng)域的技術(shù)人員來說是顯而易見的,這里定義的總的原則可以被 應(yīng)用于其它實(shí)施例中而不使用創(chuàng)造能力。因此,本發(fā)明并不要限于這里示出的實(shí)施例,而要 符合與這里揭示的原理和新穎特征一致的最寬泛的范圍。
權(quán)利要求
用于作為單個(gè)實(shí)體加密和認(rèn)證數(shù)據(jù)的方法,所述方法包含指定一組明碼位置和一組密文位置,其中所述該組明碼位置用于指示在明碼位置中的塊是未加密的,而該組密文位置用于指示在密文位置中的塊是加密的;如果數(shù)據(jù)塊在明碼位置中,那么設(shè)置明文塊等于所述數(shù)據(jù)塊;將明文塊與前一中間密文塊求異或以構(gòu)成中間明文塊;加密中間明文塊以形成中間密文塊;如果數(shù)據(jù)塊在密文位置中,那么將所述數(shù)據(jù)塊與對(duì)應(yīng)于來自一組序列的數(shù)據(jù)塊的序列求異或以形成相應(yīng)的中間密文塊;解密相應(yīng)的中間密文塊以形成中間明文塊;以及將中間明文塊與前一中間密文塊求異或以構(gòu)成明文塊;使用所有中間塊計(jì)算認(rèn)證標(biāo)記;使用所述認(rèn)證標(biāo)記、來自所述一組序列的第一序列和來自所述一組序列的最后一個(gè)序列計(jì)算上一密文塊;以及發(fā)送所述密文塊和所述認(rèn)證標(biāo)記。
2.用于安全數(shù)據(jù)傳輸?shù)姆椒?,其中第一部分的?shù)據(jù)傳輸作為明文發(fā)送,第二部分的數(shù) 據(jù)傳輸作為密文發(fā)送,且所有的數(shù)據(jù)傳輸是認(rèn)證的,所述的方法包含生成一組明碼位置;將所述第一部分的數(shù)據(jù)傳輸和所述第二部分的數(shù)據(jù)傳輸加密為密文,其中所述第一部 分的數(shù)據(jù)傳輸由該組明碼位置指定,且所述第二部分的數(shù)據(jù)傳輸不與該組明碼位置組中任 何一個(gè)相關(guān)聯(lián);使用不與該組明碼位置中任何一個(gè)相關(guān)聯(lián)的數(shù)據(jù)傳輸來生成輸入校驗(yàn)和值; 使用所述第一部分的數(shù)據(jù)傳輸?shù)拿芪纳奢敵鲂r?yàn)和值; 使用所述輸入校驗(yàn)和值和輸出校驗(yàn)和值生成認(rèn)證標(biāo)記;以及發(fā)送所述明文、密文和認(rèn)證標(biāo)記,其中所述明文是由該組明碼位置指定的數(shù)據(jù)傳輸?shù)牡谝徊糠帧?br> 3.用于解密和驗(yàn)證多個(gè)接收到的傳輸塊的方法,所述方法包含確定多個(gè)接收到的傳輸塊的每一個(gè)是否是由來自一組明碼位置的一個(gè)明碼位置所指 定的;解密多個(gè)接收到的傳輸塊,所述的解密包含;如果不是由明碼位置指定的,那么生成一組中間密文塊、解密該組中間密文塊以生成 一組中間明文塊,并生成一組明文塊;如果是由明碼位置指定的,那么將由明碼位置指定的多個(gè)接收到的傳輸塊的每一個(gè)與 前一中間密文塊組合以形成中間明文塊,并加密該中間明文塊以獲取中間密文塊;以及 驗(yàn)證多個(gè)接收到的傳輸塊,所述驗(yàn)證包含 使用不是由明碼位置指定的該組明文塊形成輸入校驗(yàn)和值;使用一組次要密文塊構(gòu)成輸出校驗(yàn)和值,其中所述次要密文塊是從不與明碼位置相關(guān) 聯(lián)的一組中間密文塊導(dǎo)出的;以及使用所述輸入校驗(yàn)和值和所述輸出校驗(yàn)和值用于與所述認(rèn)證標(biāo)記作比較。
4.如權(quán)利要求3所述的方法,其特征在于,其中所述解密是與所述驗(yàn)證并行執(zhí)行的。
5.用于加密和認(rèn)證數(shù)據(jù)的裝置,所述裝置包含 至少一個(gè)存儲(chǔ)器元件,用于存儲(chǔ)一組明文塊; 至少一個(gè)組合元件,用于組合輸入塊;至少一個(gè)加密元件,用于對(duì)輸入執(zhí)行加密功能;至少一個(gè)選擇元件,用于選擇明文塊或密文塊在傳輸流中的指定位置上傳輸; 至少兩個(gè)校驗(yàn)和生成器;以及至少一個(gè)處理元件,其中所述至少一個(gè)處理元件用于控制所述至少一個(gè)存儲(chǔ)器元件、 所述至少一個(gè)組合元件、所述至少一個(gè)加密元件、所述至少兩個(gè)檢驗(yàn)和生成器和至少一個(gè) 選擇元件,使得所述至少一個(gè)組合元件的第一部分用于將明文塊與前一階段的中間密文塊相結(jié)合以 輸出中間明文塊,所述至少一個(gè)加密元件的第一部分用于從所述中間明文塊生成當(dāng)前階段 的中間密文塊,所述至少一個(gè)組合元件的第二部分用于從將當(dāng)前狀態(tài)的密文塊與噪聲塊相 組合輸出密文塊,所述第一校驗(yàn)和生成器用于從一組指定的明文塊輸出第一校驗(yàn)和,所述 至少一個(gè)加密元件的第二部分用于加密所述第一校驗(yàn)和,所述第二校驗(yàn)和生成器用于從一 組指定的密文塊輸出第二校驗(yàn)和,而所述至少一個(gè)組合元件的第三部分用于將經(jīng)加密的第 一校驗(yàn)和與所述第二校驗(yàn)和相結(jié)合以構(gòu)成認(rèn)證標(biāo)記。
6.用于解密和驗(yàn)證數(shù)據(jù)的裝置,所述裝置包含 至少一個(gè)存儲(chǔ)器元件,用于存儲(chǔ)一組數(shù)據(jù)傳輸塊; 至少一個(gè)組合元件,用于組合輸入塊;至少一個(gè)加密元件,用于對(duì)輸入執(zhí)行第一加密功能;至少一個(gè)解密元件,用于對(duì)輸入執(zhí)行第二加密功能,其中所述第二加密功能是所述第 一加密功能的相反;至少一個(gè)轉(zhuǎn)換元件,用于從所述至少一個(gè)加密元件選擇一輸出或從所述至少一個(gè)組合 元件選擇一輸出;至少兩個(gè)校驗(yàn)和生成器,用于基于所指定的明文塊組生成輸入校驗(yàn)和以及基于次要密 文塊組生成輸出校驗(yàn)和;以及至少一個(gè)處理元件,其中所述至少一個(gè)處理元件用于控制所述至少一個(gè)存儲(chǔ)器元件、 所述至少一個(gè)組合元件、所述至少一個(gè)加密元件、所述至少一個(gè)解密元件、所述至少兩個(gè)檢 驗(yàn)和生成器和至少一個(gè)轉(zhuǎn)換元件,使得所述至少一個(gè)組合元件的第一部分用于將數(shù)據(jù)傳輸塊與噪聲塊相組合以構(gòu)成中間密 文塊,所述至少一個(gè)解密元件用于解密所述中間密文塊以形成中間明文塊,所述至少一個(gè) 組合元件的第二部分用于將所述中間明文塊與前一階段的中間密文塊相結(jié)合以形成明文 塊,所述至少一個(gè)組合元件的第三部分用于將所述數(shù)據(jù)傳輸塊與前一階段的中間密文塊相 組合以形成第二中間明文塊,所述至少一個(gè)加密元件用于加密所述第二中間明文塊以構(gòu)成 第二中間密文塊,所述至少一個(gè)轉(zhuǎn)換元件用于選擇所述第一中間密文塊或所述第二中間密 文塊,以及所述至少一個(gè)組合元件的第二部分是用于將所述噪聲塊與所述第二中間密文塊 相組合以形成次要密文塊。
7.用于安全數(shù)據(jù)傳輸?shù)难b置,其中第一部分的數(shù)據(jù)傳輸作為明文發(fā)送,第二部分的數(shù) 據(jù)傳輸作為密文發(fā)送,且所有的數(shù)據(jù)傳輸是認(rèn)證的,所述的方法包含生成一組明碼位置的裝置;將所述第一部分的數(shù)據(jù)傳輸和所述第二部分的數(shù)據(jù)傳輸加密為密文的裝置,其中所述 第一部分的數(shù)據(jù)傳輸由該組明碼位置指定,且第二部分的數(shù)據(jù)傳輸不與該組明碼位置組中 任何一個(gè)相關(guān)聯(lián);使用不與該組明碼位置中任何一個(gè)相關(guān)聯(lián)的數(shù)據(jù)傳輸來生成輸入校驗(yàn)和值的裝置;使用所述第一部分的數(shù)據(jù)傳輸?shù)拿芪纳奢敵鲂r?yàn)和值的裝置;使用所述輸入校驗(yàn)和值和輸出校驗(yàn)和值生成認(rèn)證標(biāo)記的裝置;以及發(fā)送所述明文、密文和認(rèn)證標(biāo)記的裝置,其中所述明文是由該組明碼位置指定的數(shù)據(jù) 傳輸?shù)牡谝徊糠帧?br> 8.用于解密和驗(yàn)證多個(gè)接收到的傳輸塊的裝置,所述方法包含確定多個(gè)接收到的傳輸塊的每一個(gè)是否是由來自一組明碼位置的一個(gè)明碼位置所指 定的裝置;解密多個(gè)接收到的傳輸塊的裝置,所述的解密包含;如果不是由明碼位置指定的,那么生成一組中間密文塊、解密該組中間密文塊以生成 一組中間明文塊,并生成一組明文塊;如果是由明碼位置指定的,那么將由明碼位置指定的多個(gè)接收到的傳輸塊的每一個(gè)與 前一中間密文塊組合以形成中間明文塊,并加密該中間明文塊以獲取中間密文塊;以及驗(yàn)證多個(gè)接收到的傳輸塊的裝置,所述驗(yàn)證是通過使用不是由明碼位置指定的該組 明文塊形成輸入校驗(yàn)和值,使用一組次要密文塊形成輸出校驗(yàn)和值,其中所述次要密文塊 是從不與明碼位置相關(guān)聯(lián)的一組中間密文塊導(dǎo)出的;以及使用所述輸入校驗(yàn)和值和所述輸 出校驗(yàn)和值用于與所述認(rèn)證標(biāo)記作比較。
全文摘要
本發(fā)明提出了用于加密和認(rèn)證數(shù)據(jù)的方法和裝置,使得一些數(shù)據(jù)可以以明文的形式發(fā)送但仍然由發(fā)送機(jī)認(rèn)證。一組明碼位置或一組密文位置被用于指定哪些數(shù)據(jù)塊會(huì)被用于生成輸入校驗(yàn)和值(470)和輸出校驗(yàn)和值(475)。這些校驗(yàn)和值接著被用于生成認(rèn)證標(biāo)記(490)。
文檔編號(hào)H04K1/04GK101938499SQ201010298229
公開日2011年1月5日 申請(qǐng)日期2003年7月24日 優(yōu)先權(quán)日2002年7月24日
發(fā)明者G·G·羅斯, P·M·霍克斯 申請(qǐng)人:高通股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
齐河县| 巴彦县| 玉山县| 西丰县| 浑源县| 江津市| 遂昌县| 新兴县| 外汇| 雷波县| 方城县| 华蓥市| 伊通| 昌吉市| 金秀| 琼海市| 垫江县| 怀集县| 易门县| 纳雍县| 高碑店市| 体育| 临朐县| 鄂托克旗| 霍州市| 安新县| 普洱| 股票| 保定市| 屏南县| 左贡县| 桐城市| 乌兰浩特市| 延寿县| 承德市| 双柏县| 平乡县| 南昌县| 安仁县| 徐汇区| 旺苍县|