亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

無線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)應(yīng)用中aes協(xié)處理器系統(tǒng)與架構(gòu)的制作方法

文檔序號(hào):7692316閱讀:101來源:國(guó)知局
專利名稱:無線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)應(yīng)用中aes協(xié)處理器系統(tǒng)與架構(gòu)的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及加解密算法,尤其是無線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)的低成本低功耗特定環(huán)境下的AES協(xié) 處理器的設(shè)計(jì)方法和系統(tǒng)。
背景技術(shù)
近年來,由于廣泛的應(yīng)用前景,無線網(wǎng)絡(luò)化智能傳感器的研究引起了各方的高度重視, 已形成一個(gè)研究熱點(diǎn),但研究需要考慮的因素或者說需要研究的問題很多。安全性就是其中 一個(gè)重要的方面。現(xiàn)在,無線網(wǎng)絡(luò)廣泛應(yīng)用,但無線網(wǎng)絡(luò)由于其特殊的傳播方式而缺乏足夠 的安全性,網(wǎng)絡(luò)上傳輸?shù)男畔㈦S時(shí)都會(huì)受到非法盜聽、篡改和破壞等威脅。使用數(shù)據(jù)加密技 術(shù)來對(duì)信息進(jìn)行加密,可以在很大程度上提高無線網(wǎng)絡(luò)的安全性。隨著WLAN的不斷發(fā)展,它 的安全問題不斷受到廣泛的關(guān)注。近年來,國(guó)內(nèi)外的研究, 一個(gè)是以密碼學(xué)理論為基礎(chǔ)的各 種數(shù)據(jù)加密算法;另一個(gè)是以計(jì)算機(jī)網(wǎng)絡(luò)為背景的網(wǎng)絡(luò)信息安全傳輸模型的研究。其中密碼 學(xué)算法已經(jīng)在實(shí)際應(yīng)用中取得非常好的效果,而后者尚在理論探索階段。隨著無線網(wǎng)絡(luò)的迅 速發(fā)展,無線設(shè)備的更多應(yīng)用,無線網(wǎng)絡(luò)的安全性迫切需要得到加強(qiáng)。
AES是一種新的對(duì)稱數(shù)據(jù)分組加密算法,可以用于保證數(shù)據(jù)在無線信道的安全傳輸。目前, 有許多AES協(xié)處理器的設(shè)計(jì)方案,其中大多數(shù)主要關(guān)注于算法實(shí)現(xiàn)的吞吐率和速度,極大多數(shù) 采用并行,流水線的設(shè)計(jì)實(shí)現(xiàn),功耗和面積方面考慮較少,使之在便攜設(shè)備等對(duì)硬件開銷和 功耗要求苛刻的領(lǐng)域中的應(yīng)用受到限制。
而在無線傳感器網(wǎng)絡(luò)的大部分節(jié)點(diǎn)中采用電池供電,功耗約束就成為其中最重要的考慮 因素,它影響著節(jié)點(diǎn)的生命周期和數(shù)據(jù)傳輸?shù)目煽啃浴?一般設(shè)計(jì)很少考慮功耗需求,因此不 適合應(yīng)用在此特定環(huán)境下。同時(shí),作為傳感器系統(tǒng)的一部分,AES通常作為協(xié)處理器集成在收 發(fā)器件或者微處理器中,因此AES的硬件實(shí)現(xiàn)面積也需要進(jìn)行優(yōu)化,同時(shí)電路結(jié)構(gòu)也要盡可能 規(guī)整。而普通的設(shè)計(jì)一般不考慮面積優(yōu)化,從而不便于集成。

發(fā)明內(nèi)容
為了克服現(xiàn)有的多數(shù)AES協(xié)處理器設(shè)計(jì)中硬件成本和功耗過大,不適于無線網(wǎng)絡(luò)節(jié)點(diǎn)中集 成的不足之處,本發(fā)明提出了一種基于復(fù)用技術(shù)為主的系統(tǒng)級(jí)框架的設(shè)計(jì)方法。該方法在保 證數(shù)據(jù)可靠的基礎(chǔ)上不僅能降低應(yīng)用成本,減小硬件開銷,還能有效降低功耗,而且系統(tǒng)吞 吐率也符合無線傳感器網(wǎng)絡(luò)的要求,適于使用VLSI硬件實(shí)現(xiàn)。
本發(fā)明解決其技術(shù)問題所采用的技術(shù)方案是
AES整體架構(gòu)采取輪內(nèi)資源共享,反復(fù)調(diào)用子模塊,輪外對(duì)單輪進(jìn)行復(fù)用的方式,可分別 進(jìn)行加密/解密操作,只需要一個(gè)encrypt信號(hào)來進(jìn)行區(qū)分即可。encrypt信號(hào)控制加解密復(fù) 用的s-box, mixcolumn以及密鑰寄存器的密鑰選取,以及循環(huán)密鑰是否進(jìn)行inv-mixcolumn 操作等。
AES整體架構(gòu)的加解密操作只需要一個(gè)encrypt信號(hào)來進(jìn)行區(qū)分即可,encrypt信號(hào)控制 加解密復(fù)用的s-box, mixcolumn以及密鑰寄存器的密鑰選取,以及循環(huán)密鑰是否進(jìn)行 inv-mixcolumn操作等o
密鑰、輸入數(shù)據(jù)和輸出數(shù)據(jù)分別采用不同的端口,在統(tǒng)一的時(shí)鐘控制下進(jìn)行同步的數(shù)據(jù) 輸入與輸出。
AES架構(gòu)的整體流程為在一次處理開始的時(shí)候,密鑰首先輸入,隨后進(jìn)入到密鑰擴(kuò)展階
段。在此階段,首輪密鑰也要同時(shí)打入密鑰寄存器,為首輪加密做好準(zhǔn)備,以免延誤一個(gè)周 期。當(dāng)密鑰擴(kuò)展完成后,系統(tǒng)收到密鑰擴(kuò)展完成提示,主循環(huán)開始運(yùn)作,緊接著開始輸入明/
密文,開始正常的10輪迭代加密。以后的過程每次只進(jìn)行明文/密文的輸入,直到下一次需要
3更換密鑰/初始向量的時(shí)候再重新輸入。而每次數(shù)據(jù)加/解密完成后,都會(huì)給出加/解密完成信 號(hào),這個(gè)信號(hào)會(huì)引發(fā)輸出有效信號(hào),進(jìn)行數(shù)據(jù)輸出。系統(tǒng)在接受到數(shù)據(jù)輸出有效信號(hào)后,開 始新一輪的分組明文/密文的輸入。整體上形成在輸出的下一個(gè)周期進(jìn)行新數(shù)據(jù)的輸入,加快 加/解密速度,節(jié)省資源。
AES輪內(nèi)架構(gòu)和時(shí)序安排為首先,用一個(gè)周期完成對(duì)所有數(shù)據(jù)的shiftrow操作,操作結(jié) 果放回原寄存器,隨后用一個(gè)依次選擇數(shù)據(jù)寄存器的每一列的每一個(gè)字節(jié)進(jìn)行s盒變換。四個(gè) 周期之后,被選擇的一列的s變換就己完成,變換結(jié)果仍保存在原始位置。之后這一列的32 位,在一個(gè)周期內(nèi)依次進(jìn)入mixcolumn和addroundkey操作,操作結(jié)果放回原唯一寄存器。當(dāng) 進(jìn)行到第10輪時(shí),計(jì)數(shù)器告知mixcolumn,跳過該操作,實(shí)現(xiàn)了整個(gè)加解密過程。
整個(gè)AES系統(tǒng)架構(gòu)中輸入,輸出,和中間結(jié)果寄存僅共用一個(gè)128位的數(shù)據(jù)寄存器組存取 數(shù)據(jù)。數(shù)據(jù)寄存器組的復(fù)用流程為首先,輸入數(shù)據(jù)在四個(gè)周期內(nèi)存入數(shù)據(jù)寄存器,然后輪 操作只是用原寄存器存取該寄存器計(jì)算后的數(shù)據(jù),這就節(jié)省了中間結(jié)果寄存器。在進(jìn)行輸出 階段,也是輸出和輸入合理分配,在輸出每一列后進(jìn)行下一個(gè)分組數(shù)據(jù)前一列的輸入,對(duì)該 列的新數(shù)據(jù)的輸入補(bǔ)充,此后依次把所有列的數(shù)據(jù)流入流出,而互不影響。
整個(gè)流程中,包括主循環(huán)和密鑰擴(kuò)展階段通過時(shí)序的調(diào)整僅用一個(gè)8位帶寬的加解密復(fù)用 s盒模塊來實(shí)現(xiàn)功能。既在不同高層模塊,即主循環(huán)和密鑰擴(kuò)展中復(fù)用了s盒,又在同一高層 模塊主循環(huán)中利用時(shí)序復(fù)用了s盒。s盒的復(fù)用要通過多路選擇器來進(jìn)行輸入輸出信號(hào)選擇。
整個(gè)流程中,通過時(shí)序的調(diào)整僅用一個(gè)32位帶寬的加解密復(fù)用列混合單元來實(shí)現(xiàn)功能。 在解密過程中,在主循環(huán)每輪操作中,進(jìn)行subbyte的時(shí)候有4個(gè)周期可供輪密鑰進(jìn)行當(dāng)輪的 irw—mixcolumn操作,操作后的結(jié)果存入密鑰存儲(chǔ)器中以備接下來的輪密鑰加使用。列混合單 元的復(fù)用要通過多路選擇器來進(jìn)行輸入輸出信號(hào)選擇。
本發(fā)明的有益效果是,整體結(jié)構(gòu)主要采用復(fù)用設(shè)計(jì)和流程的優(yōu)化,用最少的子模塊數(shù)量 完成加解密功能,減小設(shè)計(jì)面積和功耗,使得在無線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)的特殊應(yīng)用中,加解密 協(xié)處理器可以提供可靠數(shù)據(jù)的同時(shí),更貼近實(shí)際應(yīng)用。


下面結(jié)合附圖和實(shí)施例對(duì)本發(fā)明進(jìn)一步說明。 圖1是AES協(xié)處理器的系統(tǒng)結(jié)構(gòu)圖。 圖2是單列數(shù)據(jù)在輪操作中的變換結(jié)構(gòu)圖。 圖3是S盒在整個(gè)系統(tǒng)中的復(fù)用結(jié)構(gòu)圖。 圖4是解密過程中列混合模塊在系統(tǒng)中的復(fù)用結(jié)構(gòu)圖。 圖5是輪變換中寄存器組的使用和輸出與輸入寄存器組的復(fù)用示意圖。
具體實(shí)施例方式
本發(fā)明支持半雙工工作方式,可分別進(jìn)行加密/解密操作,同一模塊在同一時(shí)間只要進(jìn)行 加密/解密一種操作即可。只需要一個(gè)encrypt信號(hào)來進(jìn)行區(qū)分即可,encrypt信號(hào)控制加 解密復(fù)用的s-box, mixcolumn以及密鑰寄存器的密鑰選取,以及循環(huán)密鑰是否進(jìn)行 inv-mixcolumn操作等。這樣,就使得同一個(gè)模塊既能實(shí)現(xiàn)加密操作,又能實(shí)現(xiàn)解密操作。 對(duì)于速度要求不高的無線傳感器網(wǎng)絡(luò)而言,這樣也有利于降低面積。
模塊的數(shù)據(jù)接口為32位,輸入、輸出分別采用獨(dú)立的接口。明/密文輸入輸出均為32位, 分四個(gè)周期串行進(jìn)出。力n/解密之后的密/明文輸出的同時(shí),進(jìn)行下一組明/密文的輸入,以提 高模塊的利用率。密鑰的生成在開始的時(shí)候計(jì)算一次,以后就保存使用??紤]到密鑰可能經(jīng) 常更換,密鑰、輸入數(shù)據(jù)和輸出數(shù)據(jù)分別采用不同的端口,在統(tǒng)一的時(shí)鐘控制下進(jìn)行同步的 數(shù)據(jù)輸入與輸出,AES中數(shù)據(jù)處理寬度(分組)是128位,密鑰的寬度也是128位,端口數(shù) 據(jù)寬度設(shè)計(jì)采用32位,在算法模塊內(nèi)部合成為完整的數(shù)據(jù)和密鑰寬度。
在密鑰擴(kuò)展提前進(jìn)行,以后保存使用的前提下,整個(gè)加/解密流程是這樣的在一次處理 開始的時(shí)候,密鑰首先輸入,隨后進(jìn)入到密鑰擴(kuò)展階段。當(dāng)密鑰擴(kuò)展完成后,系統(tǒng)收到密鑰
4擴(kuò)展完成提示,緊接著開始輸入明/密文,開始正常的io輪迭代加密。以后的過程每次只進(jìn) 行明文/密文的輸入,直到下一次需要更換密鑰/初始向量的時(shí)候再重新輸入。而每次數(shù)據(jù)加/ 解密完成后,都會(huì)給出加/解密完成信號(hào),這個(gè)信號(hào)會(huì)引發(fā)輸出有效信號(hào),進(jìn)行數(shù)據(jù)輸出。系 統(tǒng)在接受到數(shù)據(jù)輸出有效信號(hào)后,開始新一輪的分組明文/密文的輸入。這樣整體上就形成了 在輸出的下一個(gè)周期進(jìn)行新數(shù)據(jù)的輸入,不會(huì)影響整個(gè)進(jìn)程的同時(shí),加快了加/解密速度,還 保證了最大程度節(jié)省寄存器的原則。
本發(fā)明根據(jù)無線傳感器網(wǎng)絡(luò)中AES算法的特點(diǎn),在對(duì)硬件實(shí)現(xiàn)方式進(jìn)行分析后,在速度要 求不高,而對(duì)功耗和面積要求苛刻的前提下,采用單輪基本迭代的方式進(jìn)行硬件實(shí)現(xiàn),整體 結(jié)構(gòu)采用輪內(nèi)資源共享、反復(fù)調(diào)用,輪外復(fù)用的框架。
系統(tǒng)運(yùn)行的整體流程如圖l所示當(dāng)start信號(hào)開始時(shí),先進(jìn)入密鑰擴(kuò)展階段,擴(kuò)展得到 的輪密鑰依次存入RAM中待用,在此階段,首輪密鑰也要同時(shí)打入密鑰寄存器,為首輪加密做 好準(zhǔn)備,以免延誤一個(gè)周期。當(dāng)密鑰擴(kuò)展結(jié)束后,給出密鑰擴(kuò)展結(jié)束信號(hào)到輸入控制模塊, 32位的數(shù)據(jù)線用四個(gè)周期完成128位的明/密文輸入,到一個(gè)數(shù)據(jù)寄存器,也是整個(gè)流程輸入, 輸出,和中間結(jié)果公用的唯一的數(shù)據(jù)寄存器。特別要指出,在首次輸入時(shí),為節(jié)省時(shí)間,將 密鑰寄存器中的密鑰和輸入數(shù)據(jù)進(jìn)行異或之后再存,這樣首次的密鑰加就不占用10輪迭代的 周期。R細(xì)要用輪計(jì)數(shù)器來進(jìn)行輸出選擇,給到密鑰寄存器。隨后輸入控制給出輸入結(jié)束信號(hào), 進(jìn)入輪加/解密階段。
首先,用一個(gè)周期完成對(duì)所有數(shù)據(jù)的shiftrow操作,操作結(jié)果放回原寄存器,隨后用一 個(gè)依次選擇數(shù)據(jù)寄存器的每一列的每一個(gè)字節(jié)進(jìn)行s盒變換。四個(gè)周期之后,被選擇的一列的 s變換就已完成,變換結(jié)果仍保存在原始位置。之后這一列的32位,在一個(gè)周期內(nèi)依次進(jìn)入 mixcolumn和addroundkey操作,操作結(jié)果放回原寄存器。當(dāng)進(jìn)行到第10輪時(shí),計(jì)數(shù)器告知 mixcolumn,跳過該操作,從而實(shí)現(xiàn)了整個(gè)加密過程。 一列的一輪操作需要5個(gè)周期,四列就 是20個(gè)周期,加上開始的shiftrow那一個(gè)周, 一輪內(nèi)變換一組128bit的分組矩陣總共要用21 個(gè)周期來實(shí)現(xiàn)。10輪就是210個(gè)周期,在加上輸入數(shù)據(jù)的四個(gè)周期和輸出數(shù)據(jù)的四個(gè)周期,總 共是218個(gè)周期,滿足無線傳感器處理吞吐量的要求。
待整個(gè)加密過程結(jié)束后,給出輸出有效信號(hào),該信號(hào)隨后通知輸入端進(jìn)行下一個(gè)明/密文 分組的輸入。也就是每輸出一列數(shù)據(jù),便在下一個(gè)周期輸入一列新數(shù)據(jù)。在計(jì)算吞吐量的時(shí) 候,實(shí)際上,當(dāng)輸出數(shù)據(jù)時(shí),同時(shí)也要進(jìn)行下個(gè)分組數(shù)據(jù)的輸入,這樣,大容量的數(shù)據(jù)的輸 入輸出便可看作是5個(gè)周期,總共只需要215個(gè)周期。本發(fā)明中的整體架構(gòu)最大程度的利用了 整體資源,實(shí)現(xiàn)了子模塊復(fù)用和加解密復(fù)用,也使運(yùn)行較為流暢。
圖l沒有體現(xiàn)出來的是輪操作變換,按照?qǐng)Dl,各個(gè)數(shù)據(jù)線寬是不一樣的,data—in, data—out是32位的,行移位變換是128位,sJdox是8位的,列混合單元和密鑰加為32位,且它 們不是這樣串行連接的,而是每執(zhí)行一個(gè)單元操作后,保存在原始的數(shù)據(jù)寄存器中,實(shí)現(xiàn)最 大限度利用寄存器資源的優(yōu)化策略。圖l只是整個(gè)流程的示意圖,在只說明了一輪中各個(gè)子單 元執(zhí)行的先后順序,具體輪操作過程見圖2。圖中包括了輪操作的時(shí)序信息,在t:t' -l時(shí)刻, 整個(gè)矩陣(四列)要同時(shí)先進(jìn)行行移位,這樣加上圖2的操作, 一個(gè)輪操作的四個(gè)步驟就完整 了。由于行移位操作只是字節(jié)與字節(jié)的連線移位,因此圖上沒有標(biāo)示出來。
s盒無論在哪種設(shè)計(jì)中,都需要消耗比較大的面積。因此對(duì)于s盒的復(fù)用是至關(guān)重要的。 相對(duì)于在s盒本身的功耗面積上下功夫,減少s盒數(shù)量顯得更為關(guān)鍵。本發(fā)明對(duì)s盒的復(fù)用 主要有兩種方式,即不同高層模塊對(duì)同一子模塊的空間復(fù)用和同一高層模塊對(duì)子模塊的時(shí)間 復(fù)用。
s盒的空間復(fù)用由于密鑰擴(kuò)展模塊和主循環(huán)中snbbyte模塊都要用到面積和功耗較大 的s盒,且這兩個(gè)模塊是在不同的時(shí)間來使用s盒,因此可以合理分配資源,讓兩個(gè)模塊都 在各自應(yīng)用的時(shí)間內(nèi)使用到s盒,實(shí)現(xiàn)s盒的高層復(fù)用,使設(shè)計(jì)的面積降低。
s盒的時(shí)間復(fù)用本發(fā)明是采用32bit寬度組成128bit的矩陣,然后進(jìn)行10輪迭代,這樣就需要每輪中使用16個(gè)s盒??紤]到S盒的代價(jià)成本較高,所以,在滿足處理無線傳感 器處理速度的前提下,以4*4個(gè)時(shí)鐘周期重復(fù)利用s盒來進(jìn)行面積上的優(yōu)化。每四個(gè)周期完 成矩陣中一列數(shù)據(jù)的s變換,然后經(jīng)過列混合與輪密鑰加,實(shí)現(xiàn)一列的單輪變換。然后對(duì)四 列分別進(jìn)行這樣的操作,才完成一輪128bit數(shù)據(jù)的變換。這樣,整個(gè)加/解密協(xié)處理器所應(yīng) 用的s盒總共只有一個(gè),充分降低了設(shè)計(jì)成本和功耗。
密鑰擴(kuò)展與主循環(huán)中分別調(diào)用共同的s盒,體現(xiàn)了不同模塊充分復(fù)用同一子模塊的空間 特點(diǎn);而同一模塊輪內(nèi)反復(fù)調(diào)用同一子模塊,體現(xiàn)了時(shí)間換取空間的理念。本發(fā)明在密鑰擴(kuò) 展單元內(nèi)部引出s盒輸入輸出管腳,單一s盒僅在最高層模塊中進(jìn)行調(diào)用。針對(duì)于上層模塊 的不同管腳,利用多路選擇器,使s盒在不同的時(shí)間內(nèi),分別為各個(gè)高層模塊調(diào)用。見附圖 3。
一般情況下,通過直接將加密算法過程逆轉(zhuǎn)可以得出解密操作過程。但是這樣就會(huì)與加 密流程不一致,導(dǎo)致生成許多額外的控制單元,增加設(shè)計(jì)成本和設(shè)計(jì)功耗。根據(jù)AES幾部分 的線性規(guī)則進(jìn)行調(diào)整,整個(gè)解密過程也可以變得和加密流程一樣,只是對(duì)于密鑰的生成需要 進(jìn)行逆列混合變換的處理才能保證操作的正確性,這也是用面積換功耗的一種策略。這樣, 整個(gè)算法由頂至下的架構(gòu)是不變的,有利于軟硬件實(shí)現(xiàn),更易于實(shí)現(xiàn)加解密的模塊復(fù)用,使 編碼更為清晰整齊,無需額外控制。采用這種加解密同步的策略,可以用同一設(shè)計(jì)同時(shí)實(shí)現(xiàn) 這兩個(gè)部分,而不用分別進(jìn)行設(shè)計(jì)。保持一致的好處以方面在硬件的控制上得以體現(xiàn),使得 加解密可以采用相同的控制流程。另一方面,這種優(yōu)化后的解密流程更適合于成本和功耗的 優(yōu)化設(shè)計(jì)。
針對(duì)于變換后的解密過程中,在密鑰加環(huán)節(jié)之前,要先對(duì)各輪密鑰進(jìn)行inv—raixcolura的 操作,而這一單元也在主循環(huán)中使用,這就提供了mixcolumn子模塊復(fù)用的可能性。在解密 流程mixcol咖n復(fù)用的具體實(shí)現(xiàn)中,由于密鑰處理和mixcolumn的輪操作基本上屬于不同模 塊同一時(shí)間的調(diào)用,而密鑰處理又需要四個(gè)周期來進(jìn)行密鑰的變換,看似無法復(fù)用。但其實(shí) 在主循環(huán)每輪操作中,進(jìn)行subbyte的時(shí)候仍有4個(gè)周期可供輪密鑰進(jìn)行當(dāng)輪的 invjnixcolunm操作,操作后的結(jié)果存入密鑰存儲(chǔ)器中以備接下來的輪密鑰加使用。該子模 塊S復(fù)用,在整個(gè)結(jié)構(gòu)上充分的利用了時(shí)間,表現(xiàn)為解密過程中的列混合單元時(shí)刻都保持運(yùn) 算狀態(tài),見圖4。另外,在對(duì)密鑰進(jìn)行變換的時(shí)候,要注意到此時(shí)的encrypt信號(hào)一定要保 證為低,也就是解密時(shí)的列混合運(yùn)算。同樣,mixcolumn的復(fù)用也要通過多路選擇器來進(jìn)行 輸入輸出信號(hào)選擇。
本發(fā)明中對(duì)于寄存器組的復(fù)用尤為關(guān)鍵。由于在整個(gè)加/解密過程中的操作較多, 一般需 要應(yīng)用大量的寄存器來存取輸入輸出以及中間數(shù)據(jù)。但這樣就增加了面積和成本,使AES協(xié)處 理器在無線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)上顯得過于龐大。 一般設(shè)計(jì)中,暫存數(shù)據(jù)所用到的寄存器有密鑰 寄存器,輸入數(shù)據(jù)寄存器,輪操作中間寄存器,數(shù)據(jù)輸出寄存器等。其中,有些流水線設(shè)計(jì) 中,根據(jù)輪內(nèi)流水或是輪外流水還要分別用到輪內(nèi)部寄存器和輪間寄存器。本發(fā)明合理的設(shè) 置了流程,利用無線傳感器網(wǎng)絡(luò)的速度要求不高的特點(diǎn),只用一個(gè)數(shù)據(jù)寄存器(128bit)和 一個(gè)密鑰寄存器(128bit)便可完成整個(gè)加/解密的操作。
寄存器組的復(fù)用流程為首先,輸入數(shù)據(jù)在四個(gè)周期內(nèi)存入數(shù)據(jù)寄存器,然后輪操作只 是用原寄存器存取該寄存器計(jì)算后的數(shù)據(jù),這就節(jié)省了中間結(jié)果寄存器。在進(jìn)行輸出階段, 也是輸出和輸入合理分配,在輸出每一列后進(jìn)行下一個(gè)分組數(shù)據(jù)前一列的輸入,此后依次把 所有列的數(shù)據(jù)流入流出,而互不影響。也就是說,在輸出一列的下一個(gè)周期,進(jìn)行對(duì)該列的 新數(shù)據(jù)的輸入補(bǔ)充,如圖5。這樣,就能更加有效合理的利用資源,達(dá)到存儲(chǔ)資源的優(yōu)化, 節(jié)省了整個(gè)設(shè)計(jì)的成本。
此外,本發(fā)明是僅針對(duì)128bit密鑰進(jìn)行詳述,而AES標(biāo)準(zhǔn)的密鑰長(zhǎng)度可分128bit, 192bit, 256bit,針對(duì)于以上長(zhǎng)度密鑰,主循環(huán)操作的輪數(shù)也有所不同,分別為10輪,12輪和14輪 循環(huán)。所以,本發(fā)明針對(duì)于其他密鑰長(zhǎng)度相當(dāng)于增加了加密主循環(huán)的輪數(shù),其原理是一樣的,只需略加改動(dòng)。而根據(jù)AES的加解密模式,又可分為ECB, CBC, CFB, OFB和CRC五種模式, 每種模式只是在基本加/解密操作中增加了一些特殊的規(guī)定,比如密鑰或輸出結(jié)果反饋,計(jì)數(shù) 器輸入等。它們與基本加解密不沖突,只是利用了基本操作進(jìn)行更高一層的應(yīng)用。所以,所 有這些加/解密模式都可參照本發(fā)明中的整體架構(gòu),而在更高一級(jí)上進(jìn)行調(diào)整。
權(quán)利要求
1.一種無線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)應(yīng)用中AES協(xié)處理器系統(tǒng)與架構(gòu),其特征在于,AES整體架構(gòu)采取輪內(nèi)資源共享,各高層模塊復(fù)用子模塊,輪外對(duì)單輪循環(huán)進(jìn)行復(fù)用的方式,可分別進(jìn)行加密/解密操作。
2. 如權(quán)利要求l所述,AES整體架構(gòu)的加密和解密操作只需要一個(gè)encrypt信號(hào)來進(jìn)行 區(qū)分即可,其特征在于,encrypt信號(hào)控制加解密復(fù)用的s-box, mixcolumn以及密鑰寄存器的密鑰選取,以及循 環(huán)密鑰是否進(jìn)行inv-mixcolumn操作等。
3. 如權(quán)利要求l所述,AES架構(gòu)的端口,其特征在于,密鑰、輸入數(shù)據(jù)和輸出數(shù)據(jù)分別采用不同的端口,寬度均為32位,在統(tǒng)一的時(shí)鐘控制下 進(jìn)行同步的數(shù)據(jù)輸入與輸出。
4. 如權(quán)利要求l所述,AES架構(gòu)的整體流程,其特征在于,在一次處理開始的時(shí)候,密鑰首先輸入,隨后進(jìn)入到密鑰擴(kuò)展階段。在此階段,首輪密 鑰也要同時(shí)打入密鑰寄存器,為首輪加密做好準(zhǔn)備。當(dāng)密鑰擴(kuò)展完成后,系統(tǒng)收到密鑰擴(kuò)展 完成提示,主循環(huán)開始運(yùn)作,緊接著開始輸入明/密文,開始正常的10輪迭代加密。以后的過 程每次只進(jìn)行明文/密文的輸入,直到下一次需要更換密鑰/初始向量的時(shí)候再重新輸入。而 每次數(shù)據(jù)加/解密完成后,都會(huì)給出加/解密完成信號(hào),這個(gè)信號(hào)會(huì)引發(fā)輸出有效信號(hào),進(jìn)行 數(shù)據(jù)輸出。系統(tǒng)在接受到數(shù)據(jù)輸出有效信號(hào)后,開始新一輪的分組明文/密文的輸入。整體上 形成在輸出的下一個(gè)周期進(jìn)行新數(shù)據(jù)的輸入,加快加/解密速度,節(jié)省資源。
5. 如權(quán)利要求4所述,AES輪內(nèi)架構(gòu)和時(shí)序安排,其特征在于,首先,用一個(gè)周期完成對(duì)所有數(shù)據(jù)的shiftrow操作,操作結(jié)果放回原寄存器,隨后用一 個(gè)選擇器依次選擇數(shù)據(jù)寄存器的每一列的每一個(gè)字節(jié)進(jìn)行s盒變換。四個(gè)周期之后,被選擇的 一列的s變換就已完成,變換結(jié)果仍保存在原始位置。之后這一列的32位,在一個(gè)周期內(nèi)依次 進(jìn)入mixcolumn和addroundkey操作,操作結(jié)果放回原唯一寄存器。當(dāng)進(jìn)行到第10輪時(shí),計(jì)數(shù) 器告知mixcolumn,跳過該操作,實(shí)現(xiàn)了整個(gè)加解密過程。
6. 如權(quán)利要求4所述,AES架構(gòu)中的數(shù)據(jù)寄存器組,其特征在于,整個(gè)AES系統(tǒng)中輸入,輸出,和中間結(jié)果寄存僅共用一個(gè)128位的數(shù)據(jù)寄存器組存取數(shù)據(jù)。 數(shù)據(jù)寄存器組的復(fù)用流程為首先,輸入數(shù)據(jù)在四個(gè)周期內(nèi)存入數(shù)據(jù)寄存器,然后輪操作只 是用原寄存器存取該寄存器計(jì)算后的數(shù)據(jù)結(jié)果,這就節(jié)省了中間結(jié)果暫存器。在進(jìn)行輸出階 段,也是輸出和輸入合理分配,在輸出每一列后進(jìn)行下一個(gè)分組數(shù)據(jù)前一列的輸入,對(duì)該列 的新數(shù)據(jù)的輸入補(bǔ)充,此后依次把所有列的數(shù)據(jù)流入流出,而互不影響。
7. 如權(quán)利要求4所述,AES架構(gòu)中的s盒,其特征在于,整個(gè)流程中,包括主循環(huán)和密鑰擴(kuò)展階段通過時(shí)序的調(diào)整僅用一個(gè)8位帶寬的加解密復(fù)用 s盒模塊來實(shí)現(xiàn)功能。既在不同高層模塊,即主循環(huán)和密鑰擴(kuò)展中復(fù)用了s盒,又在同一高層 模塊主循環(huán)中利用時(shí)序復(fù)用了s盒。s盒的復(fù)用要通過多路選擇器來進(jìn)行輸入輸出信號(hào)選擇。
8. 如權(quán)利要求4所述,AES架構(gòu)中的列混合單元,其特征在于,整個(gè)流程中,通過時(shí)序的調(diào)整僅用一個(gè)32位帶寬的加解密復(fù)用列混合單元來實(shí)現(xiàn)功能。 在解密過程中,在主循環(huán)每輪操作中,進(jìn)行subbyte的時(shí)候有4個(gè)周期可供輪密鑰進(jìn)行當(dāng)輪的 invjnixcolumn操作,操作后的結(jié)果存入密鑰存儲(chǔ)器中以備接下來的輪密鑰加使用。列混合單 元S復(fù)用要通過多路選擇器來進(jìn)行輸入輸出信號(hào)選擇。
全文摘要
為了克服現(xiàn)有的多數(shù)AES協(xié)處理器設(shè)計(jì)中硬件成本和功耗過大,不適于無線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)中集成的不足之處,本發(fā)明提出了一種基于復(fù)用技術(shù)為主的系統(tǒng)級(jí)框架的設(shè)計(jì)方法。該方法主要利用了復(fù)用技術(shù)和流程的優(yōu)化,用最少的子模塊數(shù)量完成加解密功能。AES架構(gòu)流程中采取輪內(nèi)資源共享,各高層模塊復(fù)用子模塊,輪外對(duì)單輪循環(huán)進(jìn)行復(fù)用的方式,可分別進(jìn)行加密/解密操作。本發(fā)明在保證數(shù)據(jù)可靠的基礎(chǔ)上不僅能降低應(yīng)用成本,減小硬件開銷,還能有效降低功耗,而且系統(tǒng)吞吐率也符合無線傳感器網(wǎng)絡(luò)的要求,適于使用VLSI硬件實(shí)現(xiàn)。在無線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)的特殊應(yīng)用中,本發(fā)明架構(gòu)下的AES加解密協(xié)處理器可以提供可靠數(shù)據(jù)的同時(shí),更貼近實(shí)際應(yīng)用。
文檔編號(hào)H04L9/06GK101588233SQ20081009792
公開日2009年11月25日 申請(qǐng)日期2008年5月19日 優(yōu)先權(quán)日2008年5月19日
發(fā)明者興 張, 健 曹, 李玉文, 蔣安平 申請(qǐng)人:北京大學(xué)深圳研究生院
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1