專利名稱:用于實(shí)現(xiàn)密碼散列函數(shù)的設(shè)備和方法
技術(shù)領(lǐng)域:
本發(fā)明涉及密碼學(xué)領(lǐng)域。具體地,本發(fā)明涉及一種用于執(zhí)行密碼散列函數(shù)的裝置和方法。
背景技術(shù):
密碼散列函數(shù)被計(jì)算設(shè)備用于安全通信。散列函數(shù)是一種機(jī)制,用于將任意長(zhǎng)度的消息映射為較小固定長(zhǎng)度的消息。這些所謂的消息散列值旨在用作消息自身的緊湊代表圖像。因此,有時(shí)散列值稱作數(shù)字指紋。關(guān)于散列函數(shù)的基本要求在于,散列函數(shù)必須難以偽造,即只知道散列值的話,應(yīng)該不允許有效地計(jì)算被映射到該散列值的消息(所謂的抗原象)。
其它要求可能在于應(yīng)該難以找到映射為相同散列值的兩個(gè)不同消息(所謂的抗沖突),以及在給定消息和相應(yīng)散列值的情況下,應(yīng)該難以找到映射到該相同散列值的另一消息(所謂的抗第二原象)。典型地,如果散列函數(shù)將任意二進(jìn)制串映射為i比特散列值,則對(duì)于散列函數(shù),目標(biāo)在于大致提供抗i比特原象、抗i比特第二原象和抗i/2比特沖突。典型地,在考慮所有這三個(gè)安全目標(biāo)的情況下,設(shè)計(jì)散列函數(shù),但是隨應(yīng)用而發(fā)生改變。如破譯SHA-I的近來(lái)密碼學(xué)發(fā)展所證明的,非常難設(shè)計(jì)好的散列函數(shù),其中,SHA-I是輸出大小為160比特的散列函數(shù),其中僅不得不將抗80比特沖突的先前估計(jì)向下修訂為小于63比特,在互連計(jì)算技術(shù)的當(dāng)前狀態(tài)下這很難是足夠的。大多數(shù)現(xiàn)代散列函數(shù)是迭代散列函數(shù),即被設(shè)計(jì)為迭代過(guò)程,包括輸入消息的固定大小塊的連續(xù)處理(經(jīng)由所謂的壓縮函數(shù))。為此,將任意長(zhǎng)度的散列輸入X格式化,使
得其可以被分為要連續(xù)地提供給壓縮函數(shù)的固定長(zhǎng)度的輸入串X1.....Xt。然后,壓縮函數(shù)
基于接收的固定輸入和初始公知的狀態(tài)來(lái)迭代地處理這些輸入,從而轉(zhuǎn)換壓縮函數(shù)的內(nèi)部狀態(tài)。然后,將該迭代處理得到的最終內(nèi)部狀態(tài)映射為散列值。格式化過(guò)程可能需要將額外比特附加(填充)到輸入串,以確保結(jié)果比特串的長(zhǎng)度是壓縮函數(shù)的固定大小塊的整數(shù)因子倍。關(guān)于填充的主要要求在于,在給定填充后的串X I |pad(x)的情況下,應(yīng)該能夠毫無(wú)疑義地提取出未填充串X。基于安全原因,填充通常包括將固定大小的串附加到輸入串,來(lái)指示未填充的輸入串的比特長(zhǎng)度(Merkle- Damgard加強(qiáng)(或MD加強(qiáng)))。MD加強(qiáng)具有以下效果通過(guò)使用MD填充輸入串不能是另一 MD填充輸入串的后綴這一安全性論證,迭代散列函數(shù)的壓縮函數(shù)上的可證明結(jié)果轉(zhuǎn)至散列函數(shù)本身。具有n比特的固定大小輸入長(zhǎng)度編碼的MD填充允許大小小于Z比特(或者在始終以單位(例如,八進(jìn)制串,而非比特串)來(lái)測(cè)量所有輸入串的情況下,是2n個(gè)單位)的散列輸入。通常,通過(guò)將隨后跟著多個(gè)“0”比特的比特“I”附加到無(wú)填充輸入串來(lái)實(shí)現(xiàn)無(wú)歧義的填充,因而能夠通過(guò)以下步驟從x| I I 0…0中無(wú)歧義地提取出任何輸入串X:從右至左掃描填充串,直到碰到第一個(gè)“I”比特(因而,該“I”比特充當(dāng)分隔符)為止。備選方案是可能的(包括互換填充信息中的“ I”符號(hào)和“0”符號(hào)),但是如果預(yù)先不知道輸入串的大小,則始終需要使用至少一個(gè)附加比特。如果壓縮函數(shù)在B比特輸入串上運(yùn)算,且如果MD格式化使用長(zhǎng)度信息的n-比特編碼,則可以通過(guò)以下步驟來(lái)從L比特輸入串X中獲得填充串x||l 0...0 I |Len(x):計(jì)算最小非負(fù)整數(shù)k使得L+1+k+n三0 (mod B),挑出k個(gè)“0”比特并用整數(shù)L的n比特表示來(lái)替換Len(x)。
圖I是示出了計(jì)算設(shè)備的示圖。圖2是示出了圖I的計(jì)算設(shè)備的通信子系統(tǒng)的示圖。
圖3是示出了對(duì)輸入至密碼散列函數(shù)的消息進(jìn)行準(zhǔn)備的方法的示圖。圖4是示出了圖3中設(shè)置長(zhǎng)度塊中的比特的實(shí)施例的示圖。圖5是示出了圖3中設(shè)置長(zhǎng)度塊中的比特的實(shí)施例的示圖。圖6是示出了圖3中設(shè)置長(zhǎng)度塊中的比特的實(shí)施例的示圖。圖7是示出了圖3中設(shè)置長(zhǎng)度塊中的比特的實(shí)施例的示圖。圖8是示出了圖3中設(shè)置長(zhǎng)度塊中的比特的實(shí)施例的示圖。
具體實(shí)施例方式在想要交換大小比可以使用長(zhǎng)度塊來(lái)編碼的消息的最大大小要大的消息的情況下,產(chǎn)生了問(wèn)題。為了符合標(biāo)準(zhǔn)且保持與使用標(biāo)準(zhǔn)的所有設(shè)備和程序的可互操作性,必須將消息分解為分離的片段,用于散列和發(fā)送,其中每個(gè)片段不大于長(zhǎng)度塊允許的最大消息大小。然后,在將消息片段重新組裝為原始消息之前必須獨(dú)立地驗(yàn)證各個(gè)消息片段。在實(shí)施例中,提供了一種計(jì)算設(shè)備實(shí)現(xiàn)的方法,用于準(zhǔn)備輸入至密碼散列函數(shù)的消息,該消息具有數(shù)目為比特長(zhǎng)度的多個(gè)比特,在長(zhǎng)度上小于或等于預(yù)定最大大小,密碼散列函數(shù)在預(yù)定塊大小為B比特的塊上運(yùn)算,所述計(jì)算設(shè)備包括與存儲(chǔ)器進(jìn)行通信的用于處理消息的處理器。所述方法可以包括處理器通過(guò)添加足夠的填充比特和長(zhǎng)度為n比特的長(zhǎng)度塊,使得填充后消息的填充比特長(zhǎng)度是塊大小B的整數(shù)因子倍,來(lái)填充消息;處理器設(shè)置長(zhǎng)度塊的比特,使得如果比特長(zhǎng)度小于2n比特,則長(zhǎng)度塊的比特表示比特長(zhǎng)度;以及如果比特長(zhǎng)度大于或等于2n比特,則將長(zhǎng)度塊中當(dāng)長(zhǎng)度塊指示塊大小B倍數(shù)的消息長(zhǎng)度時(shí)未使用的比特設(shè)置為預(yù)定值,使得長(zhǎng)度塊不表示比特長(zhǎng)度。在實(shí)施例中,所述方法可以包括處理器將存儲(chǔ)器地址位置分配給消息的比特、填充比特和長(zhǎng)度塊;以及設(shè)置比特可以包括處理器調(diào)整與每個(gè)比特相對(duì)應(yīng)的存儲(chǔ)器地址位置中的值。在一個(gè)方面,所述方法還可以包括在處理器填充消息之前,處理器確定消息的比特長(zhǎng)度。在所述方法的這個(gè)方面,確定步驟可以包括讀取存儲(chǔ)器中存儲(chǔ)的數(shù)據(jù)值。在所述方法的這個(gè)方面,確定步驟可以包括估計(jì)消息的比特長(zhǎng)度。在所述方法的這個(gè)方面,預(yù)定值可以是與以下所有值不同的固定數(shù)字能夠用于表示長(zhǎng)度小于2n比特的塊大小B倍數(shù)消息的比特長(zhǎng)度的值。在所述方法的這個(gè)方面,預(yù)定值可以是全“I”比特。
在所述方法的這個(gè)方面,長(zhǎng)度塊可以被設(shè)置為所述整數(shù)因子。在所述方法的這個(gè)方面,處理器通過(guò)計(jì)算比特長(zhǎng)度模2n來(lái)計(jì)算所述預(yù)定值,以輸入存儲(chǔ)器。在所述方法的這個(gè)方面,填充步驟還可以包括,如果比特長(zhǎng)度大于或等于2n比特,則添加足夠大小的擴(kuò)展長(zhǎng)度塊,來(lái)表示高達(dá)所述預(yù)定最大大小的比特長(zhǎng)度,以包括填充消息;以及設(shè)置步驟還包括,處理器將擴(kuò)展長(zhǎng)度塊的比特設(shè)置為表示比特長(zhǎng)度的值。在實(shí)施例中,可以提供一種計(jì)算設(shè)備,用于準(zhǔn)備輸入至密碼散列函數(shù)的消息,消息具有數(shù)目為比特長(zhǎng)度的多個(gè)比特,在長(zhǎng)度上小于或等于預(yù)定最大大小,密碼散列函數(shù)在預(yù)定塊大小為B比特的塊上運(yùn)算,所述計(jì)算設(shè)備包括與存儲(chǔ)器進(jìn)行通信的用于處理消息的處理器。所述設(shè)備可以包括處理器通過(guò)添加足夠的填充比特和長(zhǎng)度為n比特的長(zhǎng)度塊,使得填充后消息的填充比特長(zhǎng)度是塊大小B的整數(shù)因子倍,來(lái)填充消息;處理器設(shè)置長(zhǎng)度塊的比特,使得如果比特長(zhǎng)度小于2n比特,則長(zhǎng)度塊的比特表示比特長(zhǎng)度;以及如果比特長(zhǎng)度大 于或等于2n比特,則將長(zhǎng)度塊中當(dāng)長(zhǎng)度塊指示塊大小B倍數(shù)的消息長(zhǎng)度時(shí)未使用的比特設(shè)置為預(yù)定值,使得長(zhǎng)度塊不表示比特長(zhǎng)度。在實(shí)施例中,處理器將存儲(chǔ)器地址位置分配給消息的比特、填充比特和長(zhǎng)度塊,以及設(shè)置比特包括處理器調(diào)整與每個(gè)比特相對(duì)應(yīng)的存儲(chǔ)器地址位置中的值。在設(shè)備的一個(gè)方面,處理器還可以用于確定消息的比特長(zhǎng)度。在設(shè)備的這個(gè)方面,處理器可以用于通過(guò)讀取存儲(chǔ)器中存儲(chǔ)的數(shù)據(jù)值來(lái)確定比特長(zhǎng)度。在設(shè)備的這個(gè)方面,處理器可以用于通過(guò)估計(jì)消息的比特長(zhǎng)度來(lái)確定比特長(zhǎng)度。在設(shè)備的這個(gè)方面,預(yù)定值可以是與以下所有值不同的固定數(shù)字在長(zhǎng)度小于2n比特時(shí)能夠用于表示塊大小B倍數(shù)消息的比特長(zhǎng)度的值。在設(shè)備的這個(gè)方面,預(yù)定值可以是全“I”比特。在設(shè)備的這個(gè)方面,長(zhǎng)度塊可以被設(shè)置為整數(shù)因子。在設(shè)備的這個(gè)方面,處理器可以用于通過(guò)計(jì)算比特長(zhǎng)度模2"來(lái)計(jì)算預(yù)定值。在設(shè)備的這個(gè)方面,設(shè)備可以用于如下填充消息如果比特長(zhǎng)度大于或等于2n比特,則添加足夠大小的擴(kuò)展長(zhǎng)度塊,來(lái)表示高達(dá)所述預(yù)定最大大小的比特長(zhǎng)度,以包括填充消息;以及處理器還用于如果比特長(zhǎng)度大于或等于2n比特,則將擴(kuò)展長(zhǎng)度塊的比特設(shè)置為表示比特長(zhǎng)度的值。在實(shí)施例中,提供了一種計(jì)算機(jī)程序產(chǎn)品,其包括在非臨時(shí)性存儲(chǔ)介質(zhì)中實(shí)現(xiàn)的計(jì)算機(jī)可讀程序代碼,所述程序代碼使能計(jì)算設(shè)備執(zhí)行上述方法實(shí)施例。可以在計(jì)算設(shè)備中實(shí)現(xiàn)本文描述的實(shí)施例,計(jì)算設(shè)備可以包括例如圖I和2所示的計(jì)算設(shè)備。例如,計(jì)算設(shè)備可以經(jīng)由無(wú)線通信系統(tǒng)或企業(yè)系統(tǒng)與其它設(shè)備進(jìn)行通信。在實(shí)施例中,計(jì)算設(shè)備100可以是具有雙向通信能力和高級(jí)數(shù)據(jù)通信能力的移動(dòng)設(shè)備,包括通過(guò)收發(fā)站的網(wǎng)絡(luò)與其它移動(dòng)設(shè)備或計(jì)算機(jī)系統(tǒng)進(jìn)行通信的能力。計(jì)算設(shè)備100還可以具有語(yǔ)音通信能力。圖I是計(jì)算設(shè)備100的示例實(shí)施例的框圖。計(jì)算設(shè)備100包括多個(gè)部件,比如主處理器102,其控制計(jì)算設(shè)備100的整體操作。通過(guò)通信子系統(tǒng)104執(zhí)行包括數(shù)據(jù)和語(yǔ)音通信的通信功能。解碼器103可以對(duì)計(jì)算設(shè)備100接收的數(shù)據(jù)進(jìn)行解壓縮和解密,解碼器103根據(jù)任何適當(dāng)解壓縮技術(shù)和依賴于諸如數(shù)據(jù)加密標(biāo)準(zhǔn)(DES)、三重DES或高級(jí)加密標(biāo)準(zhǔn)(AES)之類各種標(biāo)準(zhǔn)的加密/解密技術(shù)進(jìn)行工作。典型地,根據(jù)諸如JPEG之類的適當(dāng)標(biāo)準(zhǔn)對(duì)圖像數(shù)據(jù)進(jìn)行壓縮和解壓縮,而根據(jù)諸如H. 26x和MPEG-x系列標(biāo)準(zhǔn)之類的適當(dāng)標(biāo)準(zhǔn)對(duì)視頻數(shù)據(jù)進(jìn)行壓縮和解壓縮。通信子系統(tǒng)104從無(wú)線網(wǎng)絡(luò)200接收消息并且向無(wú)線網(wǎng)絡(luò)200發(fā)送消息。在計(jì)算設(shè)備100的這個(gè)示例實(shí)施例中,根據(jù)以下一項(xiàng)或多項(xiàng)配置通信子系統(tǒng)104 :全球移動(dòng)通信系統(tǒng)(GSM)、通用分組無(wú)線服務(wù)(GPRS)標(biāo)準(zhǔn)、增強(qiáng)數(shù)據(jù)GSM環(huán)境(EDGE)和通用移動(dòng)電信系統(tǒng)(UMTS)。新標(biāo)準(zhǔn)還在制訂中,但是應(yīng)相信,新標(biāo)準(zhǔn)將與本文描述的網(wǎng)絡(luò)行為相類似,并且本領(lǐng)域技術(shù)人員也應(yīng)理解,本文描述的實(shí)施例意在使用將來(lái)開發(fā)的任何其它適當(dāng)標(biāo)準(zhǔn)。將通信子系統(tǒng)104與無(wú)線網(wǎng)絡(luò)200相連的無(wú)線鏈路表示一個(gè)或多個(gè)不同射頻(RF)信道,其根據(jù)針對(duì)GSM、GPRS、EDGE或UMTS和可選地其它網(wǎng)絡(luò)通信而規(guī)定的已定義協(xié)議進(jìn)行工作。對(duì)于新的網(wǎng)絡(luò)協(xié)議,這些信道能夠支持電路交換語(yǔ)音通信和分組交換數(shù)據(jù)通信。主處理器102還與以下其他子系統(tǒng)進(jìn)行交互比如隨機(jī)存取存儲(chǔ)器(RAM) 106、快閃存儲(chǔ)器108、顯示器110、輔助輸入/輸出(I/O)子系統(tǒng)112、數(shù)據(jù)端口 114、鍵盤116、揚(yáng)聲器118、麥克風(fēng)120、近距離通信系統(tǒng)122和其它設(shè)備子系統(tǒng)124。計(jì)算設(shè)備100的一些子系統(tǒng)執(zhí)行通信相關(guān)功能,而其它子系統(tǒng)可以提供“駐留”或設(shè)備上功能。舉例而言,顯示器110和鍵盤116可以用于諸如輸入文本消息以經(jīng)由網(wǎng)絡(luò)200發(fā)送之類的通信相關(guān)功能、以及諸如計(jì)算器或任務(wù)列表之類的設(shè)備駐留功能。設(shè)備100中包括呈現(xiàn)電路125。當(dāng)用戶指示要在顯示器110上觀看數(shù)據(jù)文件時(shí),呈現(xiàn)電路125分析并處理數(shù)據(jù)文件,以在顯示器110上可視化??梢砸杂布?、軟件或者硬件軟件兩者的組合實(shí)現(xiàn)呈現(xiàn)電路125。計(jì)算設(shè)備100可以在完成需要的網(wǎng)絡(luò)注冊(cè)或激活過(guò)程之后,經(jīng)由無(wú)線網(wǎng)絡(luò)200發(fā)送和接收通信信號(hào)。網(wǎng)絡(luò)訪問(wèn)與計(jì)算設(shè)備100的訂戶或用戶相關(guān)聯(lián)。為了識(shí)別訂戶,計(jì)算設(shè)備100要求將SM/RUM卡126 (即,訂戶識(shí)別模塊或可移除用戶識(shí)別模塊)插入SM/RUM接口 128,以與網(wǎng)絡(luò)進(jìn)行通信。SM/RUM卡126是一種常規(guī)“智能卡”,其能夠用于識(shí)別計(jì)算設(shè)備100的訂戶和使計(jì)算設(shè)備100個(gè)性化。在沒有SM/RUIM卡126的情況下,計(jì)算設(shè)備100沒有完全運(yùn)行來(lái)與無(wú)線網(wǎng)絡(luò)200進(jìn)行通信。通過(guò)將SM/RUM卡126插入SM/RUM接口 128,訂戶可以訪問(wèn)所有訂購(gòu)的服務(wù)。服務(wù)可以包括web瀏覽和消息收發(fā),比如e-mail、語(yǔ)音email、短消息服務(wù)(SMS)和多媒體消息收發(fā)服務(wù)(MMS)。更高級(jí)的服務(wù)可以包括銷售點(diǎn)、現(xiàn)場(chǎng)服務(wù)和銷售力量自動(dòng)化。SM/RUIM卡126包括處理器和用于存儲(chǔ)信息的存儲(chǔ)器。一旦將SM/RUM卡126插入到SM/RUM接口 128中,其就與主處理器102耦合。為了識(shí)別訂戶,SM/RUM卡126可以包括一些用戶參數(shù),比如國(guó)際移動(dòng)訂戶身份(MSI)。使用SM/RUM卡126的優(yōu)勢(shì)在于,訂戶不必要受縛于任何單個(gè)物理移動(dòng)設(shè)備。SM/RUM卡126還可以存儲(chǔ)移動(dòng)設(shè)備的其他訂戶信息,包括記事冊(cè)(或者日歷)信息和最近呼叫信息。備選地,也可以將用戶識(shí)別信息編程入快閃存儲(chǔ)器108中。計(jì)算設(shè)備100可以是電池供能設(shè)備,其包括用于容納一個(gè)或多個(gè)充電電池130的電池接口 132。在至少一些實(shí)施例中,電池130可以是帶有嵌入式微處理器的智能電池。電池接口 132與調(diào)節(jié)器(未示出)相耦合,其中調(diào)節(jié)器幫助電池接口 130向計(jì)算設(shè)備100提供電力V+。盡管當(dāng)前技術(shù)使用電池,但是諸如微燃料電池之類的未來(lái)技術(shù)可以向計(jì)算設(shè)備、100提供電力。計(jì)算設(shè)備100還包括操作系統(tǒng)134和軟件部件136至146,將在下文對(duì)這些部件進(jìn)行詳細(xì)描述。典型地,在諸如快閃存儲(chǔ)器108之類的永久性存儲(chǔ)器中存儲(chǔ)由主處理器102執(zhí)行的操作系統(tǒng)134和軟件部件136至146,備選地,快閃存儲(chǔ)器108可以是只讀存儲(chǔ)器(ROM)或類似存儲(chǔ)元件(未示出)。本領(lǐng)域技術(shù)人員應(yīng)該意識(shí)到,可以將操作系統(tǒng)134和軟件部件136至146中的一部分(比如,特定設(shè)備應(yīng)用程序或者其一部分)臨時(shí)加載到諸如RAM 106之類的易失性存儲(chǔ)器中。本領(lǐng)域技術(shù)人員公知的是,還可以包括其它軟件部件。通常在計(jì)算設(shè)備100的制造期間,將控制基本設(shè)備操作的軟件應(yīng)用程序136的子集(包括數(shù)據(jù)和語(yǔ)音通信應(yīng)用程序)安裝到計(jì)算設(shè)備100上。其它軟件應(yīng)用程序包括消息應(yīng)用程序138,其可以是允許計(jì)算設(shè)備100的用戶發(fā)送和接收電子消息的任何適當(dāng)軟件程序。本領(lǐng)域技術(shù)人員公知的是,對(duì)于消息應(yīng)用程序138,存在多種備選。典型地,在計(jì)算設(shè)備100的快閃存儲(chǔ)器108或者計(jì)算設(shè)備100中的一些其它適當(dāng)存儲(chǔ)元件中存儲(chǔ)用戶已經(jīng)發(fā)送或接收的消息。在至少一些實(shí)施例中,可以遠(yuǎn)離設(shè)備100存儲(chǔ)一部分已發(fā)送和已接收消息, t匕如,在與通信設(shè)備100進(jìn)行通信的關(guān)聯(lián)主機(jī)系統(tǒng)的數(shù)據(jù)存儲(chǔ)器中存儲(chǔ)一部分已發(fā)送和已接收消息。軟件應(yīng)用程序還可以包括設(shè)備狀態(tài)模塊140、個(gè)人信息管理器(PM) 142和其它適當(dāng)模塊(未示出)。設(shè)備狀態(tài)模塊140提供持久性,即設(shè)備狀態(tài)模塊140保證重要設(shè)備數(shù)據(jù)存儲(chǔ)在諸如快閃存儲(chǔ)器108之類的永久性存儲(chǔ)器中,使得當(dāng)計(jì)算設(shè)備100關(guān)斷或斷電時(shí)數(shù)據(jù)不丟失。PIM 142包括用于組織和管理用戶感興趣的數(shù)據(jù)項(xiàng)的功能,數(shù)據(jù)項(xiàng)例如但不限于e-mail、聯(lián)系人、日程表事件、語(yǔ)音郵件、約會(huì)和任務(wù)項(xiàng)。PIM應(yīng)用程序能夠經(jīng)由無(wú)線網(wǎng)絡(luò)200發(fā)送和接收數(shù)據(jù)項(xiàng)。PM數(shù)據(jù)項(xiàng)可以經(jīng)由無(wú)線網(wǎng)絡(luò)200與主計(jì)算機(jī)系統(tǒng)中存儲(chǔ)的移動(dòng)設(shè)備訂戶的相應(yīng)數(shù)據(jù)項(xiàng)和/或與主計(jì)算機(jī)系統(tǒng)相關(guān)聯(lián)的移動(dòng)設(shè)備訂戶的相應(yīng)數(shù)據(jù)項(xiàng)無(wú)縫地整合、同步和更新。對(duì)于這些數(shù)據(jù)項(xiàng),該功能在計(jì)算設(shè)備100上創(chuàng)建了鏡像主計(jì)算機(jī)。當(dāng)主計(jì)算機(jī)系統(tǒng)是移動(dòng)設(shè)備訂戶的辦公計(jì)算機(jī)系統(tǒng)時(shí),這可能特別有利。計(jì)算設(shè)備100還包括連接模塊114和信息技術(shù)(IT)策略模塊146。連接模塊144實(shí)現(xiàn)了計(jì)算設(shè)備100與無(wú)線基礎(chǔ)設(shè)施和諸如企業(yè)系統(tǒng)之類的任何主機(jī)系統(tǒng)進(jìn)行通信所需的通信協(xié)議,其中計(jì)算設(shè)備100被授權(quán)與所述無(wú)線基礎(chǔ)設(shè)施和主機(jī)系統(tǒng)接口連接。圖3和4給出了無(wú)線基礎(chǔ)設(shè)施和企業(yè)系統(tǒng)的示例,將在下文對(duì)其進(jìn)行詳細(xì)描述。連接模塊144包括能夠與計(jì)算設(shè)備100集成的應(yīng)用編程接口(API)集合,以允許計(jì)算設(shè)備100使用與企業(yè)系統(tǒng)相關(guān)聯(lián)的任意數(shù)目的服務(wù)。連接模塊144允許計(jì)算設(shè)備100與主機(jī)系統(tǒng)建立端到端的安全認(rèn)證的通信管道。由連接模塊144提供的可供訪問(wèn)的應(yīng)用程序子集可以用于將IT策略命令從主機(jī)系統(tǒng)傳送至計(jì)算設(shè)備100。這可以以無(wú)線或有線方式進(jìn)行。向IT策略模塊146傳送這些指令,以修改設(shè)備100的配置。備選地,在一些情況下,也可以經(jīng)由有線連接進(jìn)行IT策略更新。其它類型的軟件應(yīng)用程序也可以安裝到計(jì)算設(shè)備100上。這些軟件應(yīng)用程序可以是在制造計(jì)算設(shè)備100之后添加的第三方應(yīng)用程序。第三方應(yīng)用程序的示例包括游戲、計(jì)算器、公共事務(wù)等等??梢酝ㄟ^(guò)以下至少一項(xiàng)將附加應(yīng)用程序加載到計(jì)算設(shè)備100上無(wú)線網(wǎng)絡(luò)200、輔助I/o子系統(tǒng)112、數(shù)據(jù)端口 114、近距離通信子系統(tǒng)122或任何其它適當(dāng)設(shè)備子系統(tǒng)124。這種應(yīng)用程序安裝的靈活性增加了計(jì)算設(shè)備100的功能并且能夠提供增強(qiáng)的設(shè)備上功能、通信相關(guān)功能或兩者。例如,安全通信應(yīng)用程序可以實(shí)現(xiàn)通過(guò)使用計(jì)算設(shè)備100來(lái)執(zhí)行電子商務(wù)功能和其它這些金融業(yè)務(wù)。數(shù)據(jù)端口 114使訂戶能夠通過(guò)外部設(shè)備或軟件應(yīng)用程序來(lái)設(shè)置偏好,并且通過(guò)向計(jì)算設(shè)備100提供信息或軟件下載,而非通過(guò)無(wú)線通信網(wǎng)絡(luò),來(lái)擴(kuò)展計(jì)算設(shè)備100的能力。例如,該備選的下載路徑可以用于通過(guò)直接而可靠可信的連接將加密密鑰加載到計(jì)算設(shè)備100上,以提供安全設(shè)備通信。數(shù)據(jù)端口 114可以是使能夠在計(jì)算設(shè)備100與另一計(jì)算設(shè)備之間進(jìn)行數(shù)據(jù)通信的任何適當(dāng)端口。數(shù)據(jù)端口 114可以是串行端口或并行端口。在一些情況下,數(shù)據(jù)端口 114可以是USB端口,其包括用于數(shù)據(jù)傳送的數(shù)據(jù)線和電源線,電源線能夠提供充電電流,以為計(jì)算設(shè)備100的電池130充電。 近距離通信子系統(tǒng)122提供計(jì)算設(shè)備100與不同系統(tǒng)或設(shè)備之間的通信,而不使用無(wú)線網(wǎng)絡(luò)200。例如,子系統(tǒng)122可以包括用于近距離通信的紅外設(shè)備和關(guān)聯(lián)的電路和部件。近距離通信標(biāo)準(zhǔn)的示例包括由紅外數(shù)據(jù)協(xié)會(huì)(IrDA)開發(fā)的標(biāo)準(zhǔn)、藍(lán)牙TlP IEEE開發(fā)的802. 11 標(biāo)準(zhǔn)族。在使用中,諸如文本消息、e-mail消息或網(wǎng)頁(yè)下載之類的接收信號(hào)將由通信子系統(tǒng)104進(jìn)行處理且輸入到主處理器102。然后,主處理器102處理接收信號(hào),以輸出至顯示器110或備選地輸出至輔助I/O子系統(tǒng)112。訂戶還可以例如與顯示器110相結(jié)合地使用鍵盤116、以及可能地與輔助I/O子系統(tǒng)112相結(jié)合地使用鍵盤116來(lái)編寫數(shù)據(jù)項(xiàng),比如e-mail消息。輔助子系統(tǒng)112可以包括以下設(shè)備比如觸摸屏、鼠標(biāo)、軌跡球、紅外指紋檢測(cè)器、或帶動(dòng)態(tài)按鈕按壓能力的滾輪。鍵盤116可以包括數(shù)字字母鍵盤和/或電話型鍵區(qū)。然而,也可以使用其它類型的鍵盤??梢酝ㄟ^(guò)通信子系統(tǒng)104經(jīng)由無(wú)線網(wǎng)絡(luò)200發(fā)送編寫的項(xiàng)目。應(yīng)意識(shí)到,如果顯示器110包括觸摸屏,則輔助子系統(tǒng)112仍然可以包括一個(gè)或多個(gè)上述設(shè)備。對(duì)于語(yǔ)音通信,除了接收信號(hào)被輸出至揚(yáng)聲器118且由麥克風(fēng)120產(chǎn)生發(fā)送信號(hào)之外,計(jì)算設(shè)備100的整體操作實(shí)質(zhì)上類似。也可以在計(jì)算設(shè)備100上實(shí)現(xiàn)備選語(yǔ)音或音頻I/o子系統(tǒng),比如語(yǔ)音消息記錄子系統(tǒng)。盡管主要通過(guò)揚(yáng)聲器118完成語(yǔ)音或音頻信號(hào)輸出,但是顯示器110也可以用于提供附加信息,比如呼叫方的標(biāo)識(shí)、語(yǔ)音呼叫的持續(xù)時(shí)間或其它語(yǔ)音呼叫相關(guān)信息。圖2示出了通信子系統(tǒng)部件104的示例框圖。通信子系統(tǒng)104包括接收機(jī)150、發(fā)射機(jī)152和諸如一個(gè)或多個(gè)嵌入式的或內(nèi)部的天線元件154和156、本地振蕩器(LO) 158之類的關(guān)聯(lián)的部件、以及諸如數(shù)字信號(hào)處理器(DSP) 160之類的處理模塊。通信子系統(tǒng)104的具體設(shè)計(jì)取決于計(jì)算設(shè)備100旨在與之操作的通信網(wǎng)絡(luò)200。因此,應(yīng)該理解,圖2所示設(shè)計(jì)僅用作一個(gè)示例。天線154通過(guò)無(wú)線網(wǎng)絡(luò)200接收的信號(hào)被輸入至接收機(jī)150,接收機(jī)150可以執(zhí)行以下常見接收機(jī)功能信號(hào)放大、下變頻轉(zhuǎn)換、濾波、信道選擇和模數(shù)(A/D)轉(zhuǎn)換。對(duì)接收信號(hào)的A/D轉(zhuǎn)換允許更復(fù)雜的通信功能,比如要在DSP中執(zhí)行的解調(diào)和解碼。按照類似的方式,DSP 160處理(包括調(diào)制和編碼)要發(fā)送的信號(hào)。這些經(jīng)DSP處理的信號(hào)被輸入至發(fā)射機(jī)152,發(fā)射機(jī)152用于數(shù)模(D/A)轉(zhuǎn)換、上變頻轉(zhuǎn)換、濾波、放大和通過(guò)天線156經(jīng)由無(wú)線網(wǎng)絡(luò)200進(jìn)行發(fā)送。DSP 160不僅處理通信信號(hào),還提供接收機(jī)控制和發(fā)射機(jī)控制。例如,可以通過(guò)DSP160中實(shí)現(xiàn)的自動(dòng)增益控制算法,自適應(yīng)地控制對(duì)接收機(jī)150和發(fā)射機(jī)152中的通信信號(hào)施加的增益。計(jì)算設(shè)備100與無(wú)線網(wǎng)絡(luò)200之間的無(wú)線鏈路可以包括一個(gè)或多個(gè)不同信道(典型地,不同RF信道)、以及相關(guān)聯(lián)的計(jì)算設(shè)備100與無(wú)線網(wǎng)絡(luò)200之間使用的協(xié)議。RF信道是應(yīng)該節(jié)約的有限資源,典型地是由于總體帶寬的限制和計(jì)算設(shè)備100的有限電池電力。當(dāng)計(jì)算設(shè)備100完全操作時(shí),典型地,僅當(dāng)發(fā)射機(jī)152向無(wú)線網(wǎng)絡(luò)200發(fā)送時(shí)才打開或開啟發(fā)射機(jī)152,否則關(guān)斷發(fā)射機(jī)152以節(jié)約資源。類似地,在需要接收機(jī)150在指定的時(shí)間段期間接收信號(hào)或信息(如果有的話)之前,周期性地關(guān)斷接收機(jī)150以節(jié)約電力。在實(shí)施例中,計(jì)算設(shè)備100可以處理由設(shè)備100產(chǎn)生或接收的數(shù)據(jù),以計(jì)算密碼散列函數(shù)。密碼散列函數(shù)通常用于對(duì)諸如通信、軟件或計(jì)算設(shè)備100的用戶想要確認(rèn)其來(lái)源的其它信息之類的數(shù)據(jù)或內(nèi)容進(jìn)行數(shù)字簽名。一般而言,術(shù)語(yǔ)“消息”可以方便地用于一般性地描述要由密碼散列函數(shù)進(jìn)行散列處理的任何數(shù)據(jù)輸入。作為輸入,消息可以方便地 有序排列為設(shè)備存儲(chǔ)器中的一維陣列或串。然而,如所了解的一樣,可以以其它格式存儲(chǔ)數(shù)據(jù),然而以數(shù)據(jù)塊的形式將數(shù)據(jù)讀入密碼散列函數(shù)。例如,可以通過(guò)解碼器103上的包括專用處理器的硬件執(zhí)行密碼散列函數(shù)。在備選實(shí)施例中,可以在計(jì)算設(shè)備上諸如快閃存儲(chǔ)器108之類的永久性存儲(chǔ)器中存儲(chǔ)包括軟件的程序代碼,程序代碼可以被加載至RAM 106中以由主處理器102執(zhí)行。應(yīng)理解,主處理器102執(zhí)行程序代碼,這使得通用的主處理器102能夠?qū)χT如RAM 106或者快閃存儲(chǔ)器108之類的主處理器102可尋址的永久性存儲(chǔ)器中存儲(chǔ)的數(shù)據(jù)執(zhí)行包括密碼散列函數(shù)的加密步驟。這個(gè)應(yīng)用涉及兩個(gè)實(shí)施例處理器操作以對(duì)設(shè)備的存儲(chǔ)器106、108中存儲(chǔ)的數(shù)據(jù)執(zhí)行一系列步驟。在一個(gè)方面,可以提供計(jì)算設(shè)備程序產(chǎn)品以在計(jì)算設(shè)備100上執(zhí)行,計(jì)算設(shè)備程序產(chǎn)品使計(jì)算設(shè)備100操作來(lái)執(zhí)行用于執(zhí)行方法步驟。在實(shí)施例中,計(jì)算設(shè)備程序產(chǎn)品可以包括在諸如光盤、硬盤或其它非易失性存儲(chǔ)器之類的存儲(chǔ)介質(zhì)上實(shí)現(xiàn)的計(jì)算機(jī)可讀程序代碼裝置。在實(shí)際中,密碼散列函數(shù)的使用要求發(fā)送方和接收方在具體散列函數(shù)和其它參數(shù)上達(dá)成一致,使得兩方都可以在給定要處理的數(shù)據(jù)輸入的情況下計(jì)算得出相同的散列輸出。參數(shù)中需要指定的參數(shù)是設(shè)備間能夠交換且能夠處理的消息的最大大小。一般而言,標(biāo)準(zhǔn)可以用于指定各方在交換要使用密碼散列函數(shù)來(lái)處理的數(shù)據(jù)時(shí)使用的公共參數(shù)。該標(biāo)準(zhǔn)可以指定大小為n比特的長(zhǎng)度塊用于MD加強(qiáng),以允許對(duì)長(zhǎng)度高達(dá)2n比特的消息進(jìn)行散列處理。在示例標(biāo)準(zhǔn)中,ZigBee Alliance例如已經(jīng)指定了 16比特的長(zhǎng)度塊。因此,對(duì)于ZigBee Alliance標(biāo)準(zhǔn)示例,可以對(duì)n = 16且消息比特長(zhǎng)度至多216比特,即65,536個(gè)比特或8192個(gè)字節(jié),進(jìn)行散列處理。如上所述,這造成了如下復(fù)雜問(wèn)題想要使用定義的密碼散列發(fā)送大于65kb的消息,但仍然遵守該標(biāo)準(zhǔn)指定的長(zhǎng)度塊。例如,一方無(wú)法將密碼散列函數(shù)用于典型地比65kb大得多的應(yīng)用程序或其它軟件代碼。參考圖3,示意圖示出了對(duì)輸入至密碼散列函數(shù)的數(shù)據(jù)的準(zhǔn)備。為了方便起見,數(shù)據(jù)一般可以稱作消息。消息300被分為固定塊大小B的各個(gè)單獨(dú)塊302,以輸入至密碼散列函數(shù)??梢杂锰畛浔忍?例如有必要填充最后一個(gè)塊303,用“I”比特和“0”比特)和n比特的長(zhǎng)度塊306來(lái)填充最后一個(gè)塊303,以創(chuàng)建填充消息。在ZigBee Alliance示例中,例如,可以用緊跟了 k個(gè)“0”比特的“I”來(lái)填充比特長(zhǎng)度為I比特的消息的最后一個(gè)塊303,其中k是等式l+l+k = 7n(mod Sn)的最小非負(fù)解。因此,填充消息(附加了填充比特和長(zhǎng)度塊306的消息300)的填充長(zhǎng)度是固定塊大小B的倍數(shù)。長(zhǎng)度塊306表示與要加以散列處理的消息的填充長(zhǎng)度相對(duì)應(yīng)的比特值。在ZigBee Alliance示例中,最大消息長(zhǎng)度是216比特,但是該標(biāo)準(zhǔn)的實(shí)現(xiàn)僅包括字節(jié)長(zhǎng)度倍數(shù)的消息,所以n = 16比特長(zhǎng)度塊306僅將可用的16個(gè)比特中的13個(gè)比特用于對(duì)比特長(zhǎng)度進(jìn)行計(jì)數(shù)。余下比特總是保持“0”值。應(yīng)意識(shí)到,盡管ZigBee Alliance示例包括特定值,但是塊大小B和長(zhǎng)度塊大小的選擇可以隨預(yù)選設(shè) 計(jì)選擇而改變。下面對(duì)大小大于或等于2n比特的散列消息提供一組解決方案,同時(shí)保持MD加強(qiáng)的一些措施完整無(wú)缺,并使用標(biāo)準(zhǔn)所規(guī)定的長(zhǎng)度塊306來(lái)用于長(zhǎng)度小于2n比特的消息。在特定實(shí)施例中,基于實(shí)際計(jì)算考慮,包括為要處理的消息分配存儲(chǔ)器位置的考慮,消息被限制到上限比特長(zhǎng)度,即預(yù)定的最大消息大小,比如22n比特。應(yīng)該意識(shí)到,這些解決方案不限于示例ZigBee Alliance標(biāo)準(zhǔn),并且可以應(yīng)用于以下情形其中提供了小于預(yù)期消息大小的長(zhǎng)度塊。根據(jù)特定實(shí)施例,解決方案保持長(zhǎng)度塊306按照針對(duì)大小小于2n比特的消息的標(biāo)準(zhǔn)中的方式那樣實(shí)現(xiàn),以允許與實(shí)現(xiàn)該標(biāo)準(zhǔn)的現(xiàn)有設(shè)備的可互操作性。在計(jì)算設(shè)備用于處理大小大于2n比特的消息的情況下,可以采用以下描述的解決方案。因?yàn)楝F(xiàn)有設(shè)備不能夠處理大小大于2n比特的消息,所以解決方案在處理消息方面不需要遵循該標(biāo)準(zhǔn),然而,任何處理都應(yīng)該被構(gòu)建成最小化或降低與在該標(biāo)準(zhǔn)下處理的消息相沖突的機(jī)率。以下解決方案在MD加強(qiáng)方面提供了可變的魯棒性和可靠性。迭代散列函數(shù)的安全性取決于填充機(jī)制的具體內(nèi)容。如已經(jīng)建議的,MD加強(qiáng)具有以下效果通過(guò)使用MD填充輸入串不能是另一 MD填充輸入串的后綴這一安全性論證,迭代散列函數(shù)的壓縮函數(shù)上的可證明結(jié)果轉(zhuǎn)至散列函數(shù)本身。盡管使用MD加強(qiáng)的所有已知結(jié)構(gòu)依賴于將固定大小的串附加到輸入串,來(lái)指示無(wú)填充輸入串的比特長(zhǎng)度,但是安全安全性論證事實(shí)上確實(shí)適用于對(duì)無(wú)填充串的比特長(zhǎng)度的可變大小編碼,從而適用于本文所述的MD填充結(jié)構(gòu)。無(wú)MD 加強(qiáng)的填充(在 Lei Duo, Chao Li “Improved Collision ResistanceBounds on PGV schemes, ”International Assocation for Cryptologic Research,IACR ePrint 2006-462 (下文中,“ IACR2006-462 ”)中稱作 Plain-PD (純填充),可從http://eprint. iacr. org/2006/462獲得,在此并入以供參考)的安全性結(jié)果自然轉(zhuǎn)嫁至以下示出的解決方案中。IACR 2006-462的結(jié)果是特別相關(guān)的,IACR 2006-462規(guī)定,對(duì)于Matyas-Meyer-Oseas散列函數(shù)和所謂的散列函數(shù)PGV族的“組I”中的基于安全塊加密的
大多數(shù)其他散列函數(shù),安全特性如下表I所示
權(quán)利要求
1.一種計(jì)算設(shè)備實(shí)現(xiàn)的方法,用于準(zhǔn)備具有比特長(zhǎng)度數(shù)目的比特的消息,以輸入至在預(yù)定塊大小為B比特的塊上運(yùn)算的密碼散列函數(shù),其中,比特長(zhǎng)度小于或等于預(yù)定最大大小,所述計(jì)算設(shè)備包括與存儲(chǔ)器進(jìn)行通信的用于處理消息的處理器,所述方法包括 處理器通過(guò)添加足夠的填充比特和長(zhǎng)度為n比特的長(zhǎng)度塊,使得填充后消息的填充比特長(zhǎng)度是塊大小B的整數(shù)因子倍,來(lái)填充消息; 處理器設(shè)置長(zhǎng)度塊的比特,使得如果比特長(zhǎng)度小于2n比特,則長(zhǎng)度塊的比特表示填充比特長(zhǎng)度;以及如果比特長(zhǎng)度大于或等于2n比特,則將長(zhǎng)度塊中當(dāng)長(zhǎng)度塊指示塊大小B倍數(shù)的消息長(zhǎng)度時(shí)未使用的比特設(shè)置為預(yù)定值,使得長(zhǎng)度塊不表示比特長(zhǎng)度。
2.如權(quán)利要求I所述的方法,還包括在處理器填充消息之前,處理器確定消息的比特長(zhǎng)度。
3.如權(quán)利要求2所述的方法,其中確定步驟包括讀取存儲(chǔ)器中存儲(chǔ)的數(shù)據(jù)值。
4.如權(quán)利要求2所述的方法,其中確定步驟包括估計(jì)消息的比特長(zhǎng)度。
5.如權(quán)利要求I所述的方法,其中所述預(yù)定值是固定數(shù)值,使得長(zhǎng)度塊值不同于能夠用于對(duì)小于2n比特的塊大小B倍數(shù)消息的比特長(zhǎng)度加以表示的所有值。
6.如權(quán)利要求I所述的方法,其中,所述預(yù)定值是全“I”比特。
7.如權(quán)利要求I所述的方法,其中,如果比特長(zhǎng)度大于或等于2n比特,則長(zhǎng)度塊的比特被設(shè)置為所述整數(shù)因子。
8.如權(quán)利要求2所述的方法,其中,處理器將所述預(yù)定值計(jì)算為比特長(zhǎng)度模2n,以輸入存儲(chǔ)器。
9.如權(quán)利要求2所述的方法,其中,填充步驟還包括如果比特長(zhǎng)度大于或等于2"比特,則添加足夠大小的擴(kuò)展長(zhǎng)度塊,以表示高達(dá)所述預(yù)定最大大小的比特長(zhǎng)度,從而包括填充后消息;以及 設(shè)置步驟還包括處理器將擴(kuò)展長(zhǎng)度塊的比特設(shè)置為表示了比特長(zhǎng)度的值。
10.一種計(jì)算設(shè)備,用于準(zhǔn)備具有比特長(zhǎng)度數(shù)目的比特的消息,以輸入至在預(yù)定塊大小為B比特的塊上運(yùn)算的密碼散列函數(shù),其中,比特長(zhǎng)度小于或等于預(yù)定最大大小,所述計(jì)算設(shè)備包括與存儲(chǔ)器進(jìn)行通信的用于處理消息的處理器,所述設(shè)備包括 處理器通過(guò)添加足夠的填充比特和長(zhǎng)度為n比特的長(zhǎng)度塊,使得填充后消息的填充比特長(zhǎng)度是塊大小B的整數(shù)因子倍,來(lái)填充消息; 處理器還設(shè)置長(zhǎng)度塊的比特,使得如果比特長(zhǎng)度小于2n比特,則處理器設(shè)置長(zhǎng)度塊的比特來(lái)表示比特長(zhǎng)度;以及如果比特長(zhǎng)度大于或等于2n比特,則處理器將長(zhǎng)度塊中當(dāng)長(zhǎng)度塊指示塊大小B倍數(shù)的消息長(zhǎng)度時(shí)未使用的比特設(shè)置為預(yù)定值,使得長(zhǎng)度塊不表示比特長(zhǎng)度。
11.如權(quán)利要求10所述的設(shè)備,其中,處理器還確定消息的比特長(zhǎng)度。
12.如權(quán)利要求11所述的設(shè)備,其中,處理器通過(guò)讀取存儲(chǔ)器中存儲(chǔ)的數(shù)據(jù)值來(lái)確定比 特長(zhǎng)度。
13.如權(quán)利要求11所述的設(shè)備,其中,處理器通過(guò)估計(jì)消息的比特長(zhǎng)度來(lái)確定比特長(zhǎng)度。
14.如權(quán)利要求10所述的設(shè)備,其中,所述預(yù)定值是固定數(shù)值,不同于能夠在塊大小B倍數(shù)消息的比特長(zhǎng)度小于2n比特時(shí)用于表示該消息的比特長(zhǎng)度的所有值。
15.如權(quán)利要求10所述的設(shè)備,其中,所述預(yù)定值是全“I”比特。
16.如權(quán)利要求10所述的設(shè)備,其中,如果比特長(zhǎng)度大于或等于2n比特,則長(zhǎng)度塊的比特被設(shè)置為所述整數(shù)因子。
17.如權(quán)利要求10所述的設(shè)備,其中,處理器通過(guò)計(jì)算比特長(zhǎng)度模2"來(lái)計(jì)算所述預(yù)定值。
18.如權(quán)利要求11所述的設(shè)備,其中,設(shè)備還如下填充消息如果比特長(zhǎng)度大于或等于2n比特,則添加足夠大小的擴(kuò)展長(zhǎng)度塊,來(lái)表示高達(dá)所述預(yù)定最大大小的比特長(zhǎng)度,以包括填充后消息;以及 處理器還用于,如果比特長(zhǎng)度大于或等于2n比特,則將擴(kuò)展長(zhǎng)度塊的比特設(shè)置為表示了比特長(zhǎng)度的值。
19.一種計(jì)算機(jī)程序產(chǎn)品,包括在非臨時(shí)性存儲(chǔ)介質(zhì)中實(shí)現(xiàn)的計(jì)算機(jī)可讀程序代碼,所述程序代碼用于使計(jì)算設(shè)備執(zhí)行如權(quán)利要求I所述的方法。
全文摘要
本發(fā)明提供了一種計(jì)算設(shè)備和計(jì)算設(shè)備實(shí)現(xiàn)的方法,用于準(zhǔn)備具有比特長(zhǎng)度數(shù)目的比特的消息,以輸入至在預(yù)定塊大小為B比特的塊上運(yùn)算的密碼散列函數(shù),比特長(zhǎng)度小于或等于預(yù)定最大大小。計(jì)算設(shè)備包括與存儲(chǔ)器進(jìn)行通信的用于處理消息的處理器。方法包括處理器通過(guò)添加足夠的填充比特和長(zhǎng)度為n比特的長(zhǎng)度塊,使得填充后消息的填充比特長(zhǎng)度是塊大小B的整數(shù)因子倍,來(lái)填充消息;以及處理器設(shè)置長(zhǎng)度塊的比特,使得如果比特長(zhǎng)度小于2n比特,則長(zhǎng)度塊的比特表示填充比特長(zhǎng)度;以及如果比特長(zhǎng)度大于或等于2n比特,則將長(zhǎng)度塊中當(dāng)長(zhǎng)度塊指示塊大小B倍數(shù)的消息長(zhǎng)度時(shí)未使用的比特設(shè)置為預(yù)定值,使得長(zhǎng)度塊不表示比特長(zhǎng)度。
文檔編號(hào)H04L12/58GK102754399SQ201180008709
公開日2012年10月24日 申請(qǐng)日期2011年2月9日 優(yōu)先權(quán)日2010年2月9日
發(fā)明者馬里努斯·斯特瑞克 申請(qǐng)人:塞爾蒂卡姆公司