專(zhuān)利名稱(chēng):用于數(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)注的問(wèn)題。安全性措施提供可說(shuō)明性、公正性、精確性、機(jī)密性、可操作性和其它這些領(lǐng)域中的數(shù)據(jù)處理系統(tǒng)和信息系統(tǒng)所期望的準(zhǔn)則。提供這種安全性的加密方法通常根據(jù)兩個(gè)目的來(lái)歸類(lèi)加密和認(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)通常被稱(chēng)為密碼系統(tǒng)并具有對(duì)稱(chēng)或非對(duì)稱(chēng)的性質(zhì)。對(duì)稱(chēng)加密系統(tǒng)使用密鑰來(lái)加密信息并使用相同的密鑰來(lái)解密經(jīng)加密的信息。非對(duì)稱(chēng)加密系統(tǒng),諸如公開(kāi)密鑰密碼系統(tǒng),使用第一密鑰來(lái)加密信息并使用不同的密鑰來(lái)解碼經(jīng)加密的信息。
在許多對(duì)稱(chēng)密碼系統(tǒng)中,一密鑰被用作加密功能,一分開(kāi)的密鑰被用作認(rèn)證功能。因此在使用對(duì)稱(chēng)密碼系統(tǒng)的數(shù)據(jù)處理系統(tǒng)中,加密和認(rèn)證是作為兩個(gè)獨(dú)立的實(shí)體來(lái)執(zhí)行的。由于認(rèn)證需要大約與加密相同的處理功率,總的處理量等于兩次加密數(shù)據(jù)所需的處理量。在運(yùn)作在有限功率或有限硬件環(huán)境中的數(shù)據(jù)處理系統(tǒng)中,諸如蜂窩電話、個(gè)人數(shù)字助理或其它可攜帶的通信設(shè)備,所期望的是具有可以將加密和認(rèn)證作為單個(gè)實(shí)體來(lái)執(zhí)行的密碼系統(tǒng),以此來(lái)降低設(shè)備上計(jì)算負(fù)載或增加設(shè)備執(zhí)行加密和認(rèn)證的速度。
在Springer-Verlag 2001的“計(jì)算機(jī)科學(xué)”第2045卷中的講稿EUROCRYPT 2001“密碼術(shù)的發(fā)展”中由Charanjit Jutla所著的論文“Encryption Modes withAlmost Free Message Integrity”中,提出了可以以與單獨(dú)加密需要差不多的處理方式來(lái)加密消息和認(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、題為“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)記來(lái)驗(yàn)證數(shù)據(jù)消息的明文部分和密文部分的方法和裝置。
一方面,提出了作為單個(gè)實(shí)體加密和認(rèn)證數(shù)據(jù)的方法,所述方法包含將數(shù)據(jù)安排到多個(gè)明文塊中,每個(gè)明文塊根據(jù)密碼塊大小來(lái)定尺寸;指定至少一個(gè)明碼(cleartext)位置,對(duì)此至少一個(gè)密文塊與相應(yīng)的明文塊一樣;確定多個(gè)使用臨時(shí)值和第一密鑰的噪聲塊;確定多個(gè)中間密文塊,其中第一中間密文塊對(duì)應(yīng)于經(jīng)加密的臨時(shí)值,且剩余的中間密文通過(guò)用第二密鑰加密多個(gè)中間明文塊來(lái)迭代地計(jì)算,其中每個(gè)中間明文塊是多個(gè)明文塊中一個(gè)和前一中間密文塊的組合;通過(guò)使用多個(gè)中間密文塊和多個(gè)噪聲塊來(lái)確定多個(gè)密文塊,其中第一密文塊與第一中間密文塊相同,而剩余的密文塊通過(guò)將相應(yīng)的中間密文塊和相應(yīng)的噪聲塊相組合來(lái)獲??;基于多個(gè)明文塊和對(duì)應(yīng)于上一明文塊的中間密文塊來(lái)計(jì)算輸入校驗(yàn)和值;基于多個(gè)密文塊和一個(gè)噪聲塊來(lái)計(jì)算輸出校驗(yàn)和值;通過(guò)用第二密鑰加密輸入校驗(yàn)和值并將經(jīng)加密的輸入校驗(yàn)和值和輸出校驗(yàn)和組合來(lái)計(jì)算認(rèn)證標(biāo)記;用相應(yīng)的明文塊來(lái)代替由明碼位置指定的多個(gè)密文塊的每一個(gè);以及添加認(rèn)證標(biāo)記。
在另一方面,提出了解密和驗(yàn)證伴有認(rèn)證標(biāo)記的多個(gè)數(shù)據(jù)塊的方法,其中定義了一組明碼位置,所述方法包含使用臨時(shí)值和第一密鑰來(lái)確定多個(gè)噪聲塊;將未由該組明碼位置中的明碼位置所指定的多個(gè)數(shù)據(jù)塊的每個(gè)與相應(yīng)的噪聲塊組合,用以確定多個(gè)中間密文塊;指定由該組明碼位置中的明碼位置確定的多個(gè)數(shù)據(jù)塊的每個(gè)為多個(gè)明文塊中的明文塊;對(duì)于該組明碼位置中的每個(gè)明碼位置,將相應(yīng)的明文塊與先前中間密文塊組合以形成中間明文塊,并且加密該中間明文塊來(lái)形成對(duì)應(yīng)于該明碼位置的中間密文塊;對(duì)于不在該組明碼位置的每個(gè)位置,解密相應(yīng)的中間密文塊以形成相關(guān)聯(lián)的中間明文塊,并且將相關(guān)聯(lián)的中間明文塊和先前的中間密文塊組合用以為不在該組明碼位置中的每個(gè)位置形成一明文塊;確定多個(gè)次要密文塊,其中多個(gè)次要密文塊的每個(gè)對(duì)應(yīng)于該組明碼位置中的明碼位置,并且是通過(guò)將相應(yīng)的中間密文塊和相應(yīng)的噪聲塊相組合而形成;通過(guò)將上一中間密文塊和不是由該組明碼位置中的明碼位置指定的多個(gè)數(shù)據(jù)塊組合來(lái)計(jì)算輸入校驗(yàn)和值;通過(guò)將噪聲塊和多個(gè)次要密文塊組合來(lái)計(jì)算輸出校驗(yàn)和值;以及驗(yàn)證認(rèn)證標(biāo)記。
在另一方面,提出了安全的數(shù)據(jù)傳輸?shù)姆椒?;其中第一部分的?shù)據(jù)傳輸是作為明文發(fā)送的,第二部分的數(shù)據(jù)傳輸是作為密文發(fā)送的,并且所有的數(shù)據(jù)傳輸是經(jīng)過(guò)認(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ù)傳輸來(lái)生成輸入校驗(yàn)和值;使用第一部分?jǐn)?shù)據(jù)傳輸?shù)拿芪膩?lái)生成輸出校驗(yàn)和值;使用輸入校驗(yàn)和值和輸出校驗(yàn)和值來(lái)生成認(rèn)證標(biāo)記;以及發(fā)送該明文、密文和認(rèn)證標(biāo)記,其中所述明文是由該組明碼位置指定的數(shù)據(jù)傳輸?shù)牡谝徊糠帧?br>
在另一方面,提出了解密和驗(yàn)證多個(gè)接收到的傳輸塊的方法,所述方法包含確定多個(gè)接受到的傳輸塊的每個(gè)是否是由來(lái)自一組明碼位置的明碼位置所指定的;解碼多個(gè)接收到的傳輸塊,所述解碼包含如果不是由明碼位置所指定的,那么就生成一組中間密文塊,解密該組中間密文塊以生成一組中間明文塊,并生成一組明文塊;如果是由明碼位置所指定的,那么就將由明碼位置所指定的多個(gè)接收到的傳輸塊的每個(gè)與先前的中間密文塊組合以生成中間明文塊,并加密該中間明文塊以獲取中間密文塊;以及驗(yàn)證多個(gè)接收到的傳輸塊,所述驗(yàn)證包含使用未由明碼位置指定的該組明文塊來(lái)形成輸入校驗(yàn)和值;使用一組次要密文塊來(lái)形成輸出校驗(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)過(guò)認(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ù)傳輸來(lái)生成輸入校驗(yàn)和值的裝置;用于使用第一部分?jǐn)?shù)據(jù)傳輸?shù)拿芪膩?lái)生成輸出校驗(yàn)和值的裝置;用于使用輸入校驗(yàn)和值和輸出校驗(yàn)和值來(lái)生成認(rèn)證標(biāo)記的裝置;以及用于發(fā)送該明文、密文和認(rèn)證標(biāo)記的裝置,其中所述明文是由該組明碼位置指定的第一部分的數(shù)據(jù)傳輸。
在另一方面,提出了解密和驗(yàn)證多個(gè)接收到的傳輸塊的裝置,所述裝置包含用于確定多個(gè)接受到的傳輸塊的每個(gè)是否是由來(lái)自一組明碼位置的明碼位置所指定的裝置;用于解碼多個(gè)接收到的傳輸塊的裝置,所述解碼包含如果不是由明碼位置所指定的,那么就生成一組中間密文塊,解密該組中間密文塊以生成一組中間明文塊,并生成一組明文塊;如果是由明碼位置所指定的,那么就將由明碼位置所指定的多個(gè)接收到的傳輸塊的每個(gè)與先前的中間密文塊組合以生成中間明文塊,并加密該中間明文塊以獲取中間密文塊;以及用于驗(yàn)證多個(gè)接收到的傳輸塊的裝置,這是通過(guò)使用未由明碼位置指定的該組明文塊來(lái)形成輸入校驗(yàn)和值,使用一組次要密文塊來(lái)形成輸出校驗(yàn)和值,其中所述次要密文塊是從一組不與明碼位置相關(guān)聯(lián)的中間密文塊獲取的;以及將輸入校驗(yàn)和值和輸出校驗(yàn)和值用于與認(rèn)證標(biāo)記作比較。
圖1A、1B和1C分別是基本密碼系統(tǒng)、對(duì)稱(chēng)加密系統(tǒng)和非對(duì)稱(chēng)加密系統(tǒng)的框圖。
圖2A和2B分別是對(duì)稱(chēng)認(rèn)證系統(tǒng)和非對(duì)稱(chēng)認(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ù)消息被稱(chēng)為明文消息或明文。經(jīng)加密的被稱(chēng)為密文,其中加密包含任一將明文轉(zhuǎn)換為密文的方法,例如分組密碼、散列函數(shù)或任一其它的加密函數(shù)。解密包含任一將密文轉(zhuǎn)換為明文的方法,即恢復(fù)原始消息。圖1A說(shuō)明了設(shè)計(jì)用作加密的基本密碼系統(tǒng)10。明文消息11由加密方案12操作以形成密文13。密文13于是通過(guò)通信信道(未示出)發(fā)送并在另一個(gè)站點(diǎn)(未示出)由解碼方案14恢復(fù)明文15。明文和密文可以關(guān)于任何數(shù)據(jù),包含以數(shù)字形式出現(xiàn)的音頻和視頻數(shù)據(jù)。
密碼分析法是破獲密碼系統(tǒng)的安全性的技術(shù)。執(zhí)行密碼分析法的實(shí)體在本領(lǐng)域中被稱(chēng)為對(duì)手或攻擊者。加密方案的密碼分析法是關(guān)于解密未經(jīng)認(rèn)證的消息。認(rèn)證方案的密碼分析法是針對(duì)合成可以被驗(yàn)證為由其他人發(fā)送的消息。
密碼系統(tǒng)是基于秘密的。一組實(shí)體共享該秘密,如果一組實(shí)體之外的實(shí)體不花費(fèi)大量的資源就不能獲得密鑰。這個(gè)秘密被說(shuō)成充當(dāng)該組實(shí)體的安全關(guān)聯(lián)。
一般地,秘密包含一個(gè)密鑰或一組密鑰,它們是以比特來(lái)計(jì)量的。密鑰越長(zhǎng),該密鑰具有越高的秘密安全性。對(duì)稱(chēng)密碼系統(tǒng)使用同解密消息一樣的同一密鑰來(lái)加密消息。對(duì)稱(chēng)加密系統(tǒng)20在圖1B中說(shuō)明,其中加密和解密都使用相同的私鑰。明文21由加密方案22操作。密鑰23在加密方案22中使用以形成密文24。密文24在通信信道(未示出)上發(fā)送至另一站點(diǎn),其中解密方案25使用同一密鑰23來(lái)形成明文26。
相反地,非對(duì)稱(chēng)密碼系統(tǒng)使用第一密鑰來(lái)加密消息,并使用不同的密鑰來(lái)將其解密。圖1C說(shuō)明了被稱(chēng)為公鑰密碼系統(tǒng)30的非對(duì)稱(chēng)加密系統(tǒng),其中公鑰用于加密而私鑰用于解密。公鑰是公開(kāi)的,這樣任一用戶可使用該公鑰來(lái)加密任一消息。然而,只有私有的、未公開(kāi)的密鑰可以被用于解密這個(gè)經(jīng)公鑰加密的消息。明文31被輸入加密方案32,所述加密方案使用與指定用戶相關(guān)聯(lián)并從公布中獲取的公鑰33。所得的密文34在通信信道(未示出)上發(fā)送至指定用戶。該指定用戶使用解密方案35中的密鑰36將密文34轉(zhuǎn)換成明文37。
對(duì)稱(chēng)加密一般比非對(duì)稱(chēng)加密快得多。然而,由于可能被對(duì)手中途截取,將密鑰從發(fā)送者發(fā)送至接收者是有問(wèn)題的。一個(gè)解決方案是使用可信的第三方來(lái)持有密鑰,該第三方只會(huì)與經(jīng)認(rèn)證的用戶共享密鑰。這里所述的實(shí)施例不解決這個(gè)問(wèn)題,而是假定發(fā)送者和接收者共享了一密鑰。
上述密碼系統(tǒng)生成的密文的完整性一般由附加的某些認(rèn)證數(shù)據(jù)提供給經(jīng)發(fā)送的密文。該認(rèn)證數(shù)據(jù)一般作為消息內(nèi)容和完整性密鑰的函數(shù)計(jì)算。
在對(duì)稱(chēng)認(rèn)證系統(tǒng)中,認(rèn)證數(shù)據(jù)被稱(chēng)為消息認(rèn)證代碼(MAC)。該MAC是作為消息內(nèi)容和完整性密鑰的函數(shù)計(jì)算的,其中發(fā)送者和指定目標(biāo)共享該完整性密鑰。發(fā)送者發(fā)送消息并附加MAC。消息可以是明文或密文。接收者重新計(jì)算來(lái)自消息的MAC,并且只有當(dāng)經(jīng)重新計(jì)算的MAC與發(fā)送的MAC一致時(shí)才認(rèn)可消息的完整性。理論上,只有消息的發(fā)送者能夠生成該消息有效的簽名,由此用于接收者認(rèn)證該消息。
對(duì)稱(chēng)認(rèn)證系統(tǒng)40在圖2A中說(shuō)明,其中簽名和驗(yàn)證都使用相同的密鑰。用使用密鑰43的認(rèn)證方案42來(lái)運(yùn)作消息41以形成認(rèn)證數(shù)據(jù)44。認(rèn)證數(shù)據(jù)44和消息41于是通過(guò)通信信道(未示出)發(fā)送至另一方(未示出)。用使用相同密鑰43的驗(yàn)證方案45來(lái)對(duì)消息41操作以確定認(rèn)證數(shù)據(jù)46。將由接收方生成的認(rèn)證數(shù)據(jù)46與在通信信道上接收到的認(rèn)證數(shù)據(jù)44相比較。
在非對(duì)稱(chēng)認(rèn)證系統(tǒng)中,認(rèn)證數(shù)據(jù)被稱(chēng)為數(shù)據(jù)簽名。數(shù)據(jù)簽名作為消息內(nèi)容和發(fā)送者的完整性密鑰的函數(shù)計(jì)算。發(fā)送者向接收方發(fā)送數(shù)字簽名,接收方于是使用發(fā)送者的公鑰對(duì)數(shù)字簽名執(zhí)行驗(yàn)證。非對(duì)稱(chēng)認(rèn)證系統(tǒng)50在圖1E中說(shuō)明,其中簽名使用私鑰而認(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ù)來(lái)計(jì)算消息摘要。密碼哈希函數(shù)從任一輸入計(jì)算出一值(包含固定位數(shù)),而不管輸入的長(zhǎng)度。密碼哈希函數(shù)的一個(gè)特性是給定一輸出值,計(jì)算上難以確定會(huì)導(dǎo)致那個(gè)輸出的輸入。密碼哈希函數(shù)的一個(gè)例子是SH-1,如聯(lián)邦信息處理標(biāo)準(zhǔn)出版物(FIPS PUBS)發(fā)布的和國(guó)家標(biāo)準(zhǔn)技術(shù)局(NIST)出版的FIPPUB 180-1“Secure Hash Standard”中所描述的。
分組密碼是對(duì)稱(chēng)加密方案,對(duì)于該方案到該方案的輸入在位數(shù)上總是固定的長(zhǎng)度。該長(zhǎng)度被稱(chē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ù)來(lái)寫(xiě)的。例如,DES具有64位的密鑰,這些位數(shù)中的8位被用作校驗(yàn)和以檢測(cè)密鑰傳輸中的差錯(cuò)。從而,DES的密鑰熵是(64-8)=56位。
給定分組密碼的幾對(duì)輸入和相應(yīng)的輸出,對(duì)手就可導(dǎo)出該分組密碼的密鑰,所述對(duì)手測(cè)試所有可能的密鑰值以確定那些輸入導(dǎo)致正確的輸出。這種類(lèi)型的攻擊被稱(chēng)為窮舉密鑰搜索。這種攻擊的計(jì)算復(fù)雜性是攻擊所需的加密操作的數(shù)目。因此,在窮舉密鑰搜索中,為了提取K位密鑰的攻擊需要大約2k加密操作來(lái)提取分組密碼密鑰。
分組密碼對(duì)構(gòu)造其它的密碼實(shí)體是有用的。使用分組密碼的方式被稱(chēng)為操作模式。已經(jīng)為DES標(biāo)準(zhǔn)化四種模式的操作,并且在FIPS PUBS發(fā)布的和NIST出版的FIPS PUB 81“DES Modes of Opertaion”中描述了這四種模式。這四種模式是電子碼本(ECB)、密碼分組鏈(CBC)、輸出反饋(OFB)和密碼反饋(CFB)。為了說(shuō)明起見(jiàn),這里只討論ECB和CBC來(lái)加密明文塊P1,...,和Pm的序列。
在ECB模式中,依照以下關(guān)系,分組密碼被用于將明文的每個(gè)塊加密成密文塊Ci=EK(Pi),其中EK(Pi)標(biāo)記為使用密鑰K對(duì)塊Pi的加密。在這里使用時(shí),DK(Pi)表示使用密鑰K對(duì)塊Pi的解密。
在CBC模式中,用秘密初始值(IV)對(duì)第一明文塊求異或形成一結(jié)果,該結(jié)果接著被加密。依照以下關(guān)系寫(xiě)出該過(guò)程的數(shù)學(xué)描述C1=EK(P1IV)。
此后,在加密前用先前的密文對(duì)每個(gè)明文塊求異或,如下Ci=EK(PiCi-1)。
在對(duì)稱(chēng)密碼系統(tǒng)中,有效的加密和認(rèn)證可能是有問(wè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)證。這些方法具有一般的形式并且將分組密碼用作密碼核心。在密碼界中,這樣的方法也被稱(chēng)為“操作模式”。Jutla的操作模式之一,被稱(chēng)為完整性意識(shí)可平行模式(IAPM)模式,不在這個(gè)文件中討論。Jutla的另一個(gè)操作模式,被稱(chēng)為完整性意識(shí)密碼塊鏈(IACBC)模式,在圖3中示出。IACBC使用兩個(gè)密鑰K0和K1。假設(shè)發(fā)送者希望加密和認(rèn)證含有從P1到Pm-1的(m-1)個(gè)消息塊的消息。發(fā)送者將t設(shè)置為等于大于(m+1)的對(duì)數(shù)(基數(shù)為2)的下一個(gè)整數(shù)。發(fā)送者選擇一隨機(jī)值(稱(chēng)為臨時(shí)或初始值)以加密形成密文塊C0。值r+1到r+t被加密以形成值W0到Wt-1,其中所述加密使用密鑰K0。值W0到Wt-1接著被用于導(dǎo)出成對(duì)的獨(dú)立值S0到St-1。這些值在這里被稱(chēng)為噪聲塊。如果均勻地分配給S0,...,Smn位隨機(jī)數(shù)字,其具有以下特性對(duì)于每對(duì)Si和Sj,其中i≠j,并且每對(duì)n位數(shù)常數(shù)c1和c2,Si=c1并且Sj=c2的概率是2-2n,那么值S0,...,Sm是成對(duì)獨(dú)立的。對(duì)S0到Sm的實(shí)際計(jì)算與理解IACBC無(wú)關(guān)并且將不在下面描述。根據(jù)以下關(guān)系,對(duì)于1≤i≤m-1迭代地導(dǎo)出密文塊c1到cm-1的值Mi=PiNi-1,Ni=EK1(Mi),Ci=NiSi,其中密鑰K1被用于每個(gè)密碼塊,并且初始值N0被設(shè)置為C0。這些值Mi被稱(chēng)為中間明文塊,值Ni被稱(chēng)為中間密文塊。發(fā)送者接著計(jì)算檢驗(yàn)和值Pm,定義為Pm=P1P2...Pm-1。
通過(guò)用密鑰K1加密(PmNi-1)和將經(jīng)加密的結(jié)果與S0求異或,從Pm計(jì)算出MAC標(biāo)記值Cm。數(shù)學(xué)上,該計(jì)算可如下表示Cm=EK1(PmNi-1)S0。
發(fā)送者發(fā)送C0...Cm。
假設(shè)接收者接收到C’0...C’m。接收者通過(guò)首先解密C’0以形成r’來(lái)開(kāi)始解密過(guò)程,其中所述解密使用密鑰K1。加密值r’+1到r’+t以形成值W’0至W’t-1,其中加密使用密鑰K0。接收者接著計(jì)算值S’0到S’m。根據(jù)以下關(guān)系,對(duì)于1≤i≤m-1迭代地導(dǎo)出密文塊P1到Pm-1的值N’i=C’i S’i,M’i=DK1(N’i),Pi=N’i-1M’i,其中密鑰K1被用于每個(gè)明文塊,并且初始值N’0被設(shè)置為等于C’0。接收者接著計(jì)算檢驗(yàn)和值P’m,定義為Pm’=P’1P’2...P’m-1。
通過(guò)使用密鑰K1加密Pm和Nm-1的異或,接著將加密的結(jié)果與S’0求異或來(lái)計(jì)算出值X。數(shù)學(xué)上,可以如下描述該過(guò)程X=EK1(P’mN’m-1)S’0。
如果X與C’m相等,那么接收者可以確信精加密的消息的完整性。
Gligor和Donescu在論文“Fast Encryption and AnthenticaionXCBCEncryption and XEBC Authentication Modes”中提出一相似的模式,稱(chēng)為擴(kuò)展密文塊鏈模式(XCBC模式),它使用相似的計(jì)算量提供加密和認(rèn)證。XCBC和IACBC的主要區(qū)別是噪聲塊S0到Sm的表示法,其表示法與這個(gè)文件無(wú)關(guān)。
IACBC和XCBC模式的操作具有某些不合需要的特性。第一個(gè)不合需要的特性是這些模式需要所有的數(shù)據(jù)經(jīng)加密被發(fā)送。在諸如IPSec等因特網(wǎng)協(xié)議中,發(fā)送所有數(shù)據(jù)都被加密的消息是不希望的。特別是,包含定址信息的頭部必須以明文的形式發(fā)送。這里所描述的實(shí)施例提出了IACBC和XCBC模式的變形(此后稱(chēng)為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)證過(guò)程。此外,使用位邏輯異或運(yùn)算符描述了各種組合步驟。實(shí)施例的其它實(shí)現(xiàn)可以使用取模的整數(shù)加法運(yùn)算來(lái)執(zhí)行,其中兩個(gè)輸入被處理為整數(shù)的二進(jìn)制表示,以這兩個(gè)整數(shù)和的二進(jìn)制表示構(gòu)成中間值,通過(guò)將中間值截短成密碼塊的大小來(lái)構(gòu)成輸出。也可以適當(dāng)修改地使用其它群運(yùn)算符,然而,為了易于說(shuō)明,這里只描述使用異或操作符的實(shí)施例。
CBC-IO模式的一個(gè)實(shí)施例在圖4A中說(shuō)明。該CBC-IO模式的操作使用兩個(gè)密鑰K0和K1。假設(shè)發(fā)送者希望加密和認(rèn)證由塊P1到Pm-1的(m-1)消息組成的消息。
在步驟400處,發(fā)送者和接收者對(duì)該組明文塊以不加密的形式發(fā)送達(dá)成一致。用U表示要以不加密形式發(fā)送的明文塊的指數(shù)的集合,其中U的元素被稱(chēng)為明碼位置。
在步驟402處,發(fā)送者選擇臨時(shí)值r并按照IACBC或XCBC模式來(lái)計(jì)算噪聲塊S0到Sm,以獲取中間密文N0到Nm-1,并獲取密文C0到Cm-1。即,N0=C0=Ek1(r),并且根據(jù)以下關(guān)系,對(duì)于1≤i≤m-1反復(fù)導(dǎo)出中間密文N0到Nm-1和密文塊C1到Cm-1的值
Mi=PiNi-1,Ni=EK1(Mi),Ci=NiSi注意對(duì)每個(gè)密文塊使用密鑰K1。在一個(gè)替換實(shí)施例中,臨時(shí)值r可以是一個(gè)由發(fā)送者和接收者都存儲(chǔ)的預(yù)定的值,而非一導(dǎo)出的值。
在步驟410處,發(fā)送者計(jì)算校驗(yàn)和值CHK_IN和CHK_OUT,它們定義如下CHK_IN=(⊕i∉UPi)⊕Nm-1,]]>和CHK_OUT=(i∈UCi)S0。
在步驟420處,發(fā)送者通過(guò)用密鑰K1加密CHK_IN計(jì)算MAC標(biāo)記Cm,并將結(jié)果與CHK_OUT求異或。這個(gè)過(guò)程在數(shù)學(xué)上描述如下Cm=EK1(CHK_IN)CHK_OUT。
在步驟430處,發(fā)送者重新設(shè)置那些值Ci,其中i∈U(即,那些會(huì)不加密發(fā)送的明文),使得Ci=Pi。在步驟440處,發(fā)送者發(fā)送C0...Cm。
因?yàn)橥ㄟ^(guò)將信息和上一次加密的輸入和輸出組合計(jì)算出認(rèn)證標(biāo)記,這種模式被稱(chēng)為CBC-IO。使用CBC-IO模式生成認(rèn)證標(biāo)記的步驟與IACBC的不同在于生成CHK_IN和CHK_OUT的值。由于這個(gè)不同,在接收者處的解密和驗(yàn)證過(guò)程也必須不同地配置。
圖4B是被配置成執(zhí)行上述CBC-IO模式的硬件的框圖。應(yīng)該注意圖4B說(shuō)明了可以作為軟件實(shí)現(xiàn)的替換的實(shí)現(xiàn),其中處理器和存儲(chǔ)器被配置成執(zhí)行一組指令,用于執(zhí)行上述的CBC-IO模式。存儲(chǔ)器元件450存儲(chǔ)明文塊Pi,其中的一些要被加密且其中的全部要被認(rèn)證。加密元件460A、460B、460C和460D被配置成對(duì)這些輸入執(zhí)行加密功能。為了說(shuō)明起見(jiàn),在圖4B中示出了四個(gè)(4)加密元件用于加密明文塊,但是本領(lǐng)域的技術(shù)人員理解可以實(shí)現(xiàn)較多或較少的加密元件而不影響本實(shí)施例的范圍。
在這個(gè)實(shí)施例中,到加密塊460A、460B、460C和460D的輸入是在第一加密元件460A處的臨時(shí)值r和各自在其相應(yīng)的其余密文元件處的中間明文塊M1到Mm-1。中間明文塊M1到Mm-1是將元件462A、462B和462C組合的輸出。一方面,組合元件462A、462B和462C是異或門(mén)。加密元件460A、460B、460C和460D的輸出是中間密文塊N0到Nm-1。通過(guò)組合元件464A、464B和464C中間密文塊N0到Nm-1與相應(yīng)的噪聲塊S1到Sm-1組合。組合元件464A、464B和464C的輸出是密文塊C1到Cm-1。
處理框(或校驗(yàn)和生成器)470被配置成通過(guò)使用要以加密形式發(fā)送的明文塊和上一個(gè)中間密文塊Nm-1來(lái)確定校驗(yàn)和值CHK_IN。處理框(或校驗(yàn)和生成器475)被配置成通過(guò)使用第一噪聲塊S0和對(duì)應(yīng)于要以明文形式發(fā)送的明文塊的密文塊來(lái)確定校驗(yàn)和值CHK_OUT。上面已經(jīng)描述了用于確定CHK_IN和CHK_OUT的公式。接著CHK_IN輸入到加密元件480中。接著使用組合器元件490將加密元件480的輸出和CHK_OUT組合。組合器元件490的輸出是最后一個(gè)密文塊Cm,它也被用作認(rèn)證標(biāo)記。
密文塊C1到Cm-1,認(rèn)證標(biāo)記Cm和明文塊Pi被輸入到選擇元件495,選擇元件495確定要發(fā)送的塊是密文還是明文。換而言之,i∈U的那些Pi與那些 的Ci一起被發(fā)送。
圖5是解密和驗(yàn)證經(jīng)CBC-IO模式加密和認(rèn)證的消息的框圖。在步驟500處,接收者接收模塊C’0...C’m。注意對(duì)于i∈U,C’i是不加密發(fā)送的。在步驟510處,接收者使用密鑰K1來(lái)解密C’0以獲取r’。值r’和密鑰K0被用于導(dǎo)出噪聲塊S’0到S’m的值。
在步驟520處,對(duì)于i,其中1≤i≤m,一迭代過(guò)程由是否i∈U的判定開(kāi)始。如果 那么程序流進(jìn)入到步驟530。如果i∈U,那么程序流進(jìn)入到步驟540。在步驟530處,接收者確定中間密文N’i,其中 通過(guò)將C’i和S’i求異或以確定中間密文N’i,其中 這在數(shù)學(xué)上描述如下N’i=C’iS’i。
在步驟532處,接收者解碼中間密文Ni,其中 M’i=DK1(N’i),P’i=M’iN’i-1。
程序流進(jìn)入步驟550。
對(duì)于i∈U,在步驟540,接收者確定P’i=C’i,其中i∈U。
在步驟542處,順次前進(jìn)經(jīng)過(guò)值i∈U,接收者按照以下關(guān)系,將P’i和N’i-1組合以獲取M’iM’i=P’iN’i-1,N’i=EK1(M’i)。
程序流進(jìn)入步驟550。在步驟550處,指數(shù)i加1并作出判定是否i>m。如果條件i>m為假,那么程序流回到步驟520處。如果條件i>m為真,那么程序流進(jìn)入到步驟560,步驟560是驗(yàn)證過(guò)程的開(kāi)始。
應(yīng)該注意上述為明碼位置確定中間密文塊和中間明文塊的步驟可以互換排序而不影響這些實(shí)施例的范圍。也應(yīng)該注意上述步驟可以容易地改變成適用于一組密文位置,而非明碼位置,即這些步驟可以關(guān)于已被指定為加密的塊來(lái)描述,而非關(guān)于已用明文發(fā)送的塊。也應(yīng)該注意在上述步驟中計(jì)算出的值被存儲(chǔ)以進(jìn)一步在迭代過(guò)程中使用。
接收者現(xiàn)在已解密了所有的密文,但是接收者現(xiàn)在需要驗(yàn)證完整性。為了驗(yàn)證完整性,在步驟560處,接收者首先按照以下關(guān)系構(gòu)成次要密文C*i,其中i∈UC*i=N’iS’i,在步驟570處,接收者計(jì)算校驗(yàn)和值CHK_IN’,定義如下CHK_IN′=(⊕i∉UP′i)⊕N′m-1.]]>在步驟580處,接收者計(jì)算校驗(yàn)和值CHK_OUT’,定義如下CHK_OUT’=(i∈UC*i)S’0。
在步驟590處,通過(guò)用密鑰K1加密由CHK_IN’計(jì)算出值X,并將結(jié)果與CHK_OUT’求異或。這個(gè)過(guò)程在數(shù)學(xué)上描述如下X=EK1(CHK_IN’)CHK_OUT’。
接收者將X和C’m作比較以確定它們是否相等。如果它們是相等的,那么接收者可以確信消息的完整性。如果驗(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í)行。這種并行處理加快了接收者處理來(lái)自發(fā)送者的經(jīng)加密和認(rèn)證的傳輸?shù)乃俣取?br>
圖6A是被配置成對(duì)用上述CBC-IO模式加密的消息執(zhí)行解密的框圖。圖6B、6C和6D是被配置成使用上述CBC-IO模式認(rèn)證的消息執(zhí)行驗(yàn)證的框圖。在圖6A中,接受到的塊C’0,C’1,...和C’m存儲(chǔ)在存儲(chǔ)器600中。解密元件610A、610B、610C、610D和610E被配置使用密鑰K1執(zhí)行解密功能,所述密鑰K1在密鑰協(xié)商過(guò)程期間在發(fā)送者和接收者之間達(dá)成一致,這里不討論該協(xié)商過(guò)程的詳情。到第一解密元件610A的輸入是塊C’0,它是來(lái)自發(fā)送者的第一個(gè)消息塊。第一解密元件610a的輸出是r’,它會(huì)被用于確定噪聲塊S’0,S’1,...,S’m-1,這是由這里未示出的硬件配置確定的。
到其它解密元件610B、610C、610D和610E的輸入各自在每個(gè)相應(yīng)的解密元件處生成中間密文塊N’0到N’m。中間密文塊N’1到N’m是通過(guò)對(duì)所有的i∉U]]>將相應(yīng)的噪聲塊S’i和接收到的密文塊C’i組合而形成的,其中所述組合是使用組合元件620A、620B、620C和620D,諸如,例如異或門(mén)或取模的整數(shù)加法器,來(lái)執(zhí)行的。
使用組合元件622A、622B、622C和622D將解密元件610A、610B、610C、610D和610E的輸出各自與相關(guān)聯(lián)的中間密文塊N’i相組合。組合元件622A、622B、622C和622D的輸出是明文塊P’i,其中i∉U.]]>對(duì)于中間密文塊N’i的生成,其中i∈U,加密元件630A、630B和630C使用密鑰K1來(lái)加密前一個(gè)中間密文塊N’i-1或中間密文塊N’i。組合元件624A、624B和624C將前一個(gè)中間密文塊N’i-1與明文塊P’i組合以形成中間明文塊M’i,中間明文塊M’i是由加密元件630A、630B、630C和630D來(lái)加密的。應(yīng)該注意在確定P’i后(其中i∉U]]>),可以通過(guò)設(shè)置P’i=C’i(其中i∈U)可以簡(jiǎn)單地導(dǎo)出明文塊P’i(其中i∈U)。包含了中間密文塊Ni的生成,其中i∈U,以允許對(duì)于i∉U]]>迭代地確定明文塊P’i,并生成第二密文塊C*i用于驗(yàn)證。在這個(gè)實(shí)施例中,用控制線(未示出)實(shí)現(xiàn)轉(zhuǎn)換器640A、640B、640C和640D,以利于按照是明碼位置還是密文位置處于即時(shí)位置之前來(lái)選擇合適的中間密文塊。
輸入校驗(yàn)和CHK_IN可以被確認(rèn)為組合元件(未示出)的輸出,所述組合元件將上一個(gè)中間密文塊N’m和所有明文塊P’i的組合(其中i∉U]]>)相結(jié)合。輸出校驗(yàn)和CHK_OUT可以被確定為組合元件(未示出)的輸出,所述組合元件將第一噪聲塊S’0和所有次要密文C*i的組合相結(jié)合,次要密文C*i的每一個(gè)被定義為相應(yīng)的中間密文塊N’i和相應(yīng)的噪聲塊S’i的組合。次要密文塊C*i是圖6A中組合元件645A、645B和645C的輸出。
圖6B示出了驗(yàn)證認(rèn)證標(biāo)記的一個(gè)實(shí)施例。CHK_IN值被輸入到加密元件650中。加密元件650的輸出與CHK_OUT值在組合元件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_OUT值組合。在比較元件667處,將組合元件665的輸出與加密元件660的輸出作比較,以驗(yàn)證認(rèn)證標(biāo)記。圖6D是驗(yàn)證認(rèn)證標(biāo)記的另一個(gè)實(shí)施例。在組合元件670處,將認(rèn)證標(biāo)記C’m與CHK_OUT值組合。組合元件670的輸出被輸入到解密元件675中。接著,在比較元件677處,將解密元件675的輸出與CHK_IN值作比較。如果任一的比較顯示匹配,那么就驗(yàn)證了認(rèn)證標(biāo)記C’m。
當(dāng)接收者試圖解密消息時(shí),攻擊者會(huì)使得接收者使用錯(cuò)誤的明碼位置組。為了防止這種類(lèi)型的攻擊,發(fā)送者和接收者必須使用其它的方法來(lái)驗(yàn)證應(yīng)用到特定密文消息的明碼位置。對(duì)這個(gè)問(wèn)題有簡(jiǎn)單的解決方案。一個(gè)解決方案是對(duì)那些位置是明碼位置有標(biāo)準(zhǔn)的協(xié)議。另一種方法是在數(shù)據(jù)塊中包含明碼位置集合U的表示,這樣使得對(duì)密文的驗(yàn)證包含對(duì)明碼位置集合的驗(yàn)證。
在檢驗(yàn)和中包含值Ci,其中i∉U,]]>構(gòu)成了CBC-IO模式操作和由Jutla和Gligor和Donescu提出的模式操作之間的區(qū)別。注意在計(jì)算密文和認(rèn)證標(biāo)記時(shí),CBC-IO使用分組密碼加密。然而,在一些或全部的分組密碼加密操作之處使用分組密碼解密是同等有效的。這會(huì)導(dǎo)致在解密和消息完整性期間從分組密碼解密到分組密碼加密(反之亦然)的改變。
在CBC-IO模式中,如果基層的分組密碼是安全的,那么加密和認(rèn)證功能是安全的。本領(lǐng)域中對(duì)于短語(yǔ)“the encryption and authentication functions aresecure”“加密和認(rèn)證功能呈安全的”什么意思有正式的表示法,然而這些正式的表達(dá)法與本發(fā)明的主題無(wú)關(guān)并不會(huì)在這里討論。本領(lǐng)域的技術(shù)人員會(huì)熟悉短語(yǔ)“theencryption and authentication functions are secure”的意思。
雖然這里的實(shí)施例是基于AES分組密碼關(guān)于CBC-IO模式描述的,這些實(shí)施例也可以應(yīng)用到基于其它分組密碼來(lái)構(gòu)建CBC-IO模式。注意發(fā)送者可以選擇發(fā)送Pi或Ci,這不會(huì)危害認(rèn)證。這里所述的實(shí)施例允許一方發(fā)送經(jīng)加密的或未經(jīng)加密的塊而不危害認(rèn)證方案的安全性。如果Pi以明文發(fā)送,那么Pi的加密版本仍然是安全和不可預(yù)測(cè)的,并且可以被用作安全認(rèn)證。
通常的做法是當(dāng)使用認(rèn)證模式時(shí),僅將MAC定義并最終塊的一部分。也可以改變本發(fā)明,這樣使得只有一部分最終塊作為MAC發(fā)送。
本領(lǐng)域的技術(shù)人員可以理解,信息和信號(hào)可以用多種不同技術(shù)和工藝中的任一種來(lái)表示。例如,上述說(shuō)明中可能涉及的數(shù)據(jù)、指令、命令、信息、信號(hào)、比特、碼元和碼片可以用電壓、電流、電磁波、磁場(chǎng)或其粒子、光場(chǎng)或其粒子或它們的任意組合來(lái)表示。
本領(lǐng)域的技術(shù)人員能進(jìn)一步理解,結(jié)合這里所公開(kāi)的實(shí)施例所描述的各種說(shuō)明性的邏輯框、模塊、電路和算法步驟可以為電子硬件、計(jì)算機(jī)軟件或兩者的組合來(lái)實(shí)現(xiàn)。為了清楚說(shuō)明硬件和軟件間的互換性,各種說(shuō)明性的組件、框圖、模塊、電路和步驟一般按照其功能性進(jìn)行了闡述。這些功能性究竟作為硬件還是軟件來(lái)實(shí)現(xiàn)取決于特定的應(yīng)用對(duì)總體系統(tǒng)設(shè)計(jì)上的約束。熟練的技術(shù)人員可能對(duì)于每個(gè)特定應(yīng)用不同的方式來(lái)實(shí)現(xiàn)所述功能,但這種實(shí)現(xiàn)決定不應(yīng)被解釋為就此背離本發(fā)明的范圍。
結(jié)合這里所描述的實(shí)施例來(lái)描述的各種說(shuō)明性的邏輯框、模塊和算法步驟的實(shí)現(xiàn)或執(zhí)行可以用通用處理器、數(shù)字信號(hào)處理器(DSP)、之用專(zhuān)用集成電路(ASIC)、現(xiàn)場(chǎng)可編程門(mén)陣列(FPGA)或其它可編程邏輯器件、離散門(mén)或晶體管邏輯、離散硬件組件或者為執(zhí)行這里所述功能而設(shè)計(jì)的任意組合。通用處理器可能是微處理器,然而或者,處理器可以是任何常規(guī)的處理器、控制器、微控制器或狀態(tài)機(jī)。處理器也可以用計(jì)算設(shè)備的組合來(lái)實(shí)現(xiàn),如,DSP和微處理器的組合、多個(gè)微處理器、結(jié)合DSP內(nèi)核的一個(gè)或多個(gè)微處理器或者任意其它這種配置。
結(jié)合這里所公開(kāi)實(shí)施例描述的方法或算法的步驟可能直接包含在硬件中、由處理器執(zhí)行的軟件模塊中或在兩者當(dāng)中。軟件模塊可以駐留在RAM存儲(chǔ)器、閃存、ROM存儲(chǔ)器、EPROM存儲(chǔ)器、EEPROM存儲(chǔ)器、寄存器、硬盤(pán)、可移動(dòng)盤(pán)、CD-ROM或本領(lǐng)域中已知的任何其它形式的存儲(chǔ)媒質(zhì)中。示例性存儲(chǔ)媒質(zhì)與處理器耦合,使得處理器可以從存儲(chǔ)媒質(zhì)讀取信息,或把信息寫(xiě)入存儲(chǔ)媒質(zhì)。或者,存儲(chǔ)媒質(zhì)可以與處理器整合。處理器和存儲(chǔ)媒質(zhì)可能駐留在ASIC中。ASIC可能駐留在用戶終端中?;蛘?,處理器和存儲(chǔ)媒質(zhì)可能作為離散組件駐留在用戶終端中。
提供上述優(yōu)選實(shí)施例的描述為了使本領(lǐng)域的技術(shù)人員能制造或使用本發(fā)明。這些實(shí)施例的各種修改對(duì)于本領(lǐng)域的技術(shù)人員來(lái)說(shuō)是顯而易見(jiàn)的,這里定義的總的原則可以被應(yīng)用于其它實(shí)施例中而不使用創(chuàng)造能力。因此,本發(fā)明并不要限于這里示出的實(shí)施例,而要符合與這里揭示的原理和新穎特征一致的最寬泛的范圍。
權(quán)利要求
1.作為單個(gè)實(shí)體加密和驗(yàn)證數(shù)據(jù)的方法,所述方法包含將數(shù)據(jù)排列或多個(gè)明文塊,根據(jù)密碼塊大小來(lái)定每個(gè)明文塊的大??;指定至少一個(gè)明碼位置,對(duì)于此位置至少一個(gè)密文塊會(huì)與相應(yīng)的明文塊相同;使用臨時(shí)值和第一密鑰確定多個(gè)噪聲塊;確定多個(gè)中間密文塊,其中所述第一中間密文塊對(duì)應(yīng)于經(jīng)加密的臨時(shí)值,通過(guò)用第二密鑰加密多個(gè)中間明文塊迭代地計(jì)算出其余的中間密文,其中每個(gè)中間明文塊是多個(gè)明文塊之一和前一中間密文塊的組合;使用多個(gè)中間密文塊和所述多個(gè)噪聲塊確定多個(gè)密文塊,其中所述所述第一密文塊與所述第一中間密文塊相同,且通過(guò)將相應(yīng)的中間密文塊和相應(yīng)的噪聲塊相組合導(dǎo)出其余的密文塊;基于多個(gè)明文塊和對(duì)應(yīng)于上一明文塊的中間密文塊計(jì)算輸入校驗(yàn)和值;基于多個(gè)密文塊和一個(gè)噪聲塊計(jì)算輸出校驗(yàn)和值;通過(guò)用所述第二密鑰加密輸入校驗(yàn)和值并將經(jīng)加密的輸入校驗(yàn)和值和輸出校驗(yàn)和值相組合來(lái)計(jì)算認(rèn)證標(biāo)記;用相應(yīng)的明文塊來(lái)替代由明碼位置指定的多個(gè)密文塊的每一個(gè);以及附加所述認(rèn)證標(biāo)記。
2.如權(quán)利要求1所述的方法,其特征在于,其中所述加密使用分組密碼加密。
3.如權(quán)利要求1所述的方法,其特征在于,其中所述加密包含選擇應(yīng)用分組密碼加密或分組密碼解密;根據(jù)一組預(yù)定義的選擇規(guī)則來(lái)選擇分組密碼以供使用;以及通過(guò)將所選擇的分組密碼加密或分組密碼解密應(yīng)用到與前一中間密文塊組合的多個(gè)明文塊之一,形成多個(gè)中間密文塊。
4.如權(quán)利要求1所述的方法,其特征在于,其中所述的計(jì)算輸入校驗(yàn)和值包含將對(duì)應(yīng)于不被指定為至少一個(gè)明碼位置的一個(gè)位置的所有多個(gè)明文塊組合;以及將上一個(gè)噪聲塊和經(jīng)組合的多個(gè)明文塊相組合。
5.如權(quán)利要求1所述的方法,其特征在于,其中所述計(jì)算輸出校驗(yàn)和值包含;將對(duì)應(yīng)于至少一個(gè)明碼位置的所有多個(gè)密文塊相組合;以及將第一噪聲塊與經(jīng)組合的多個(gè)密文塊相組合。
6.如權(quán)利要求1所述的方法,其特征在于,其中組合是使用位異或操作來(lái)執(zhí)行的。
7.如權(quán)利要求1所述的方法,其特征在于,其中組合是使用組群運(yùn)算來(lái)執(zhí)行的。
8.如權(quán)利要求7所述的方法,其特征在于,其中所述群運(yùn)算符是取模整數(shù)加法運(yùn)算符。
9.用于解密和驗(yàn)證伴有認(rèn)證標(biāo)記的多個(gè)數(shù)據(jù)塊的方法,其中定義了一組明碼位置,所述方法包含使用臨時(shí)值和第一密鑰來(lái)確定多個(gè)噪聲塊;將多個(gè)不是由明碼位置集中的明碼位置指定的數(shù)據(jù)塊的每個(gè)與相應(yīng)的噪聲塊組合以確定多個(gè)中間密文塊;將由明碼位置集中的一個(gè)明碼位置指定的多個(gè)數(shù)據(jù)塊的每個(gè)指定為多個(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)于明碼位置集中的明碼位置,并且是通過(guò)將相應(yīng)的中間密文塊和相應(yīng)的噪聲塊相組合來(lái)形成的;通過(guò)將上一個(gè)中間密文塊和不是由明碼位置集中的一個(gè)明碼位置指定的多個(gè)數(shù)據(jù)塊組合來(lái)計(jì)算輸入校驗(yàn)和值;通過(guò)將噪聲塊和多個(gè)次要密文塊相組合來(lái)計(jì)算輸出校驗(yàn)和值;以及驗(yàn)證所述認(rèn)證標(biāo)記。
10.如權(quán)利要求9所述的方法,其特征在于,其中驗(yàn)證認(rèn)證標(biāo)記包含通過(guò)用第二密鑰加密輸入校驗(yàn)和值,并將經(jīng)加密的輸入校驗(yàn)和值與輸出校驗(yàn)和值結(jié)組來(lái)計(jì)算測(cè)試認(rèn)證標(biāo)記;以及將測(cè)試認(rèn)證標(biāo)記和認(rèn)證標(biāo)記相比較,其中如果測(cè)試認(rèn)證標(biāo)記和認(rèn)證標(biāo)記是相同的,那么就驗(yàn)證了所述認(rèn)證標(biāo)記。
11.如權(quán)利要求9所述的方法,其特征在于,其中驗(yàn)證認(rèn)證標(biāo)記包含將認(rèn)證標(biāo)記和所述輸出校驗(yàn)和值組合以形成測(cè)試加密輸入校驗(yàn)和值;加密所述輸入校驗(yàn)和值;以及將測(cè)試加密輸入校驗(yàn)和值和加密輸入校驗(yàn)和值作比較,其中如果測(cè)試加密輸入校驗(yàn)和值和加密輸入校驗(yàn)和值是相同的,那么就驗(yàn)證了所述認(rèn)證標(biāo)記。
12.如權(quán)利要求9所述的方法,其特征在于,其中驗(yàn)證認(rèn)證標(biāo)記包含將認(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)記。
13.用于加密和認(rèn)證數(shù)據(jù)的裝置,所述裝置包含至少一個(gè)存儲(chǔ)器元件;以及至少一個(gè)處理元件,被配置成執(zhí)行一組存儲(chǔ)在存儲(chǔ)器元件中的指令,所述指令組用于將數(shù)據(jù)排列成多個(gè)明文塊,根據(jù)密碼塊大小來(lái)定每個(gè)明文塊的大?。恢付ㄖ辽僖粋€(gè)明碼位置,對(duì)此位置至少一個(gè)密文塊會(huì)與相應(yīng)的明文塊相同;使用臨時(shí)值和第一密鑰確定多個(gè)噪聲塊;確定多個(gè)中間密文塊,其中所述第一中間密文塊對(duì)應(yīng)于經(jīng)加密的臨時(shí)值,通過(guò)用第二密鑰加密多個(gè)中間明文塊迭代地計(jì)算出其余的中間密文,其中每個(gè)中間明文塊是多個(gè)明文塊之一和前一中間密文塊的組合;使用多個(gè)中間密文塊和所述多個(gè)噪聲塊確定多個(gè)密文塊,其中所述第一密文塊與所述第一中間密文塊相同,且通過(guò)將相應(yīng)的中間密文塊和相應(yīng)的噪聲塊相組合導(dǎo)出其余的密文塊;基于多個(gè)明文塊和對(duì)應(yīng)于上一明文塊的中間密文塊計(jì)算輸入校驗(yàn)和值;基于多個(gè)密文塊和一個(gè)噪聲塊計(jì)算輸出校驗(yàn)和值;通過(guò)用所述第二密鑰加密輸入校驗(yàn)和值并將經(jīng)加密的輸入校驗(yàn)和值和輸出校驗(yàn)和值相組合來(lái)計(jì)算認(rèn)證標(biāo)記;用相應(yīng)的明文塊來(lái)替代由一明碼位置指定的多個(gè)密文塊的每一個(gè);以及附加所述認(rèn)證標(biāo)記。
14.用于加密和認(rèn)證數(shù)據(jù)的裝置,所述裝置包含至少一個(gè)存儲(chǔ)器元件;以及至少一個(gè)處理元件,被配置成執(zhí)行一組存儲(chǔ)在存儲(chǔ)器元件中的指令,所述指令組用于使用臨時(shí)值和第一密鑰來(lái)確定多個(gè)噪聲塊;將多個(gè)不是由明碼位置集中的一個(gè)明碼位置指定的數(shù)據(jù)塊的每個(gè)與相應(yīng)的噪聲塊組合以確定多個(gè)中間密文塊;將由明碼位置集中的一個(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)于明碼位置集中的明碼位置,并且是通過(guò)將相應(yīng)的中間密文塊和相應(yīng)的噪聲塊相結(jié)合來(lái)形成的;通過(guò)將上一個(gè)中間密文塊和不是由明碼位置集中明碼位置指定的多個(gè)數(shù)據(jù)塊組合來(lái)計(jì)算輸入校驗(yàn)和值;通過(guò)將噪聲塊和多個(gè)次要密文塊相結(jié)合來(lái)計(jì)算輸出校驗(yàn)和值;以及驗(yàn)證所述認(rèn)證標(biāo)記。
15.用于作為單個(gè)實(shí)體加密和認(rèn)證數(shù)據(jù)的方法,所述方法包含指定一組明碼位置和一組密文位置,其中所述該組明碼位置用于指示在明碼位置中的塊是未加密的,而該組密文位置用于指示在密文位置中的塊是加密的;如果數(shù)據(jù)塊在明碼位置中,那么設(shè)置明文塊等于所述數(shù)據(jù)塊;將明文塊與前一中間密文塊求異或以構(gòu)成中間明文塊;加密中間明文塊以形成中間密文塊;如果數(shù)據(jù)塊在密文位置中,那么將數(shù)據(jù)塊與對(duì)應(yīng)于來(lái)自一組序列的數(shù)據(jù)塊的序列求異或以形成相應(yīng)的中間密文塊;解密相應(yīng)的中間密文塊以形成中間明文塊;以及將中間明文塊與前一中間密文塊求異或以構(gòu)成明文塊;使用所有中間塊計(jì)算認(rèn)證標(biāo)記;使用認(rèn)證標(biāo)記、來(lái)自所述序列組的第一序列和來(lái)自所述序列組的上一序列計(jì)算上一密文塊;以及發(fā)送所述密文塊和所述認(rèn)證標(biāo)記。
16.用于安全數(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ù)傳輸來(lái)生成輸入校驗(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>
17.用于解密和驗(yàn)證多個(gè)接收到的傳輸塊的方法,所述方法包含確定多個(gè)接收到的傳輸塊的每一個(gè)是否是由來(lái)自一組明碼位置的一個(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)記作比較。
18.如權(quán)利要求9所述的方法,其特征在于,其中所述解密是與所述驗(yàn)證江行執(zhí)行的。
19.用于加密和認(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)記。
20.用于解密和驗(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è)組合元件的第二部分是用于將所述噪聲塊與所述第二中間密文塊相組合以形成次要密文塊。
21.用于安全數(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ù)傳輸來(lái)生成輸入校驗(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>
22.用于解密和驗(yàn)證多個(gè)接收到的傳輸塊的裝置,所述方法包含確定多個(gè)接收到的傳輸塊的每一個(gè)是否是由來(lái)自一組明碼位置的一個(gè)明碼位置所指定的裝置;解密多個(gè)接收到的傳輸塊的裝置,所述的解密包含;如果不是由明碼位置指定的,那么生成一組中間密文塊、解密該組中間密文塊以生成一組中間明文塊,并生成一組明文塊;如果是由明碼位置指定的,那么將由明碼位置指定的多個(gè)接收到的傳輸塊的每一個(gè)與前一中間密文塊組合以形成中間明文塊,并加密該中間明文塊以獲取中間密文塊;以及驗(yàn)證多個(gè)接收到的傳輸塊的裝置,所述驗(yàn)證是通過(guò)使用不是由明碼位置指定的該組明文塊形成輸入校驗(yàn)和值,使用一組次要密文塊形成輸出校驗(yàn)和值,其中所述次要密文塊是從不與明碼位置相關(guān)聯(lián)的一組中間密文塊導(dǎo)出的;以及使用所述輸入校驗(yàn)和值和所述輸出校驗(yàn)和值用于與所述認(rèn)證標(biāo)記作比較。
全文摘要
這里提出了用于加密和認(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)H04L9/32GK1682479SQ03822430
公開(kāi)日2005年10月12日 申請(qǐng)日期2003年7月24日 優(yōu)先權(quán)日2002年7月24日
發(fā)明者P·M·霍克斯, G·G·羅斯 申請(qǐng)人:高通股份有限公司