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

一種生成輪密鑰的分組密碼算法的低功耗裝置及方法

文檔序號(hào):6353120閱讀:368來源:國知局
專利名稱:一種生成輪密鑰的分組密碼算法的低功耗裝置及方法
技術(shù)領(lǐng)域
本發(fā)明涉及低功耗方法,尤其涉及一種生成輪密鑰的分組密碼算法的低功耗裝置 及方法。
背景技術(shù)
計(jì)算機(jī)和通訊技術(shù)的迅猛發(fā)展,極大的改變了我們和世界交互的方式,網(wǎng)絡(luò)尤其 是電子商務(wù)的廣泛應(yīng)用,將信息的接收,傳送,處理和存儲(chǔ)越來越緊密的和個(gè)人相聯(lián)系在 一起。密碼算法在保證信息的安全性,完畢性和不可抵賴性方面起著極為重要的作用。分 組密碼算法由于其加解密速度快,便于硬件實(shí)現(xiàn)而得到廣泛應(yīng)用。在實(shí)際應(yīng)用場(chǎng)合中,一次一密的加解密模式由于傳輸效率等方面的因素應(yīng)用不是 十分廣泛?,F(xiàn)有的加解密模式更多的是對(duì)批量數(shù)據(jù)使用同一個(gè)密鑰進(jìn)行加解密。對(duì)于需要 生成輪密鑰的分組算法而言,由于輪密鑰一致,因而如果每次都進(jìn)行輪密鑰生成操作就會(huì) 降低系統(tǒng)的性能。隨著集成電路的集成度越來越高,摩爾定律表明每18個(gè)月晶體管密度將增加一 倍,系統(tǒng)的功耗也隨之增大。在嵌入式手持設(shè)備越來越普及的今天,系統(tǒng)的功耗越來越被人 們所關(guān)注和研究,因而如何降低芯片功耗也成為當(dāng)前集成電路設(shè)計(jì)中的關(guān)鍵因素之一。在 實(shí)際的設(shè)計(jì)中,性能和功耗是一對(duì)不可調(diào)和的矛盾,如何在這兩者之間尋找折中點(diǎn)也是一 個(gè)研究的熱點(diǎn)。

發(fā)明內(nèi)容
本發(fā)明的目的克服了現(xiàn)有技術(shù)的不足,提供了一種生成輪密鑰的分組密碼算法的 低功耗裝置及方法。生成輪密鑰的分組密碼算法的低功耗裝置包括主控制模塊、密鑰比較模塊、輪密 鑰生成模塊、數(shù)據(jù)運(yùn)算模塊和輪密鑰存儲(chǔ)模塊;主控制模塊分別與密鑰比較模塊、輪密鑰生 成模塊、數(shù)據(jù)運(yùn)算模塊和輪密鑰存儲(chǔ)模塊相連接,密鑰比較模塊與輪密鑰生成模塊相連接, 輪密鑰生成模塊和輪密鑰存儲(chǔ)模塊相連接,輪密鑰存儲(chǔ)模塊與數(shù)據(jù)運(yùn)算模塊相連接;主控 制模塊根據(jù)控制信號(hào)中的啟動(dòng)信號(hào)和模式選擇位將輸入數(shù)據(jù)利用輸入密鑰進(jìn)行加解密操 作,運(yùn)算后產(chǎn)生最終的輸出數(shù)據(jù);具體地說就是密鑰比較模塊根據(jù)輸入密鑰產(chǎn)生密鑰一致 信號(hào)供主控制模塊使用,同時(shí)將密鑰送入輪密鑰生成模塊,輪密鑰生成模塊利用原始輸入 的密鑰產(chǎn)生輪密鑰并將其存儲(chǔ)在輪密鑰存儲(chǔ)模塊中。數(shù)據(jù)運(yùn)算模塊利用輸入數(shù)據(jù)和輪密鑰 存儲(chǔ)模塊輸入的輪密鑰,經(jīng)過數(shù)據(jù)運(yùn)算操作之后產(chǎn)生最后的輸出數(shù)據(jù)。在具體的執(zhí)行過程 中,主控制模塊會(huì)根據(jù)系統(tǒng)所處的不同狀態(tài),對(duì)密鑰比較模塊、輪密鑰生成模塊、數(shù)據(jù)運(yùn)算 模塊和輪密鑰存儲(chǔ)模塊進(jìn)行分時(shí)的開啟和關(guān)閉。所述的密鑰比較模塊的內(nèi)部模塊連接關(guān)系為密鑰比較模塊包括上次密鑰寄存 器、本次密鑰寄存器和比較單元;比較單元分別與上次密鑰寄存器和本次密鑰寄存器相連。 上次密鑰寄存器和本次密鑰寄存器經(jīng)過比較單元之后產(chǎn)生密鑰一致信號(hào)反饋給主控制模塊。所述的輪密鑰生成模塊的內(nèi)部模塊連接關(guān)系為輪密鑰生成模塊包括輪密鑰狀態(tài) 機(jī)、多路選擇器、ROM查表單元、輪函數(shù)F、臨時(shí)結(jié)果寄存器、輸出寄存器;輪密鑰狀態(tài)機(jī)分別 與多路選擇器、ROM查表單元、臨時(shí)結(jié)果寄存器、輸出寄存器相連;多路選擇器接受輸入的 密鑰,并與輪函數(shù)F相連;輪函數(shù)F(403)與臨時(shí)結(jié)果寄存器相連;臨時(shí)結(jié)果寄存器與輸出 寄存器、多路選擇器相連;ROM查表單元與輪函數(shù)F相連。臨時(shí)結(jié)果寄存器存放的是一些中 間的運(yùn)算結(jié)果,ROM查表單元存放的是一些固定的配置參數(shù),在輪密鑰生成狀態(tài)機(jī)的控制 下,多路選擇器在原始密鑰和臨時(shí)結(jié)果寄存器進(jìn)行數(shù)據(jù)選擇,并且和從ROM查表單元中查 到的數(shù)據(jù)一起送入輪函數(shù)F,運(yùn)算產(chǎn)生的結(jié)果存放在臨時(shí)結(jié)果寄存器中,并在輪密鑰生成狀 態(tài)機(jī)的控制下經(jīng)輸出寄存器輸出到輪密鑰存儲(chǔ)模塊。所述的數(shù)據(jù)運(yùn)算模塊的內(nèi)部模塊連接關(guān)系為數(shù)據(jù)運(yùn)算模塊包括數(shù)據(jù)運(yùn)算狀態(tài) 機(jī)、多路選擇器、輪函數(shù)G、臨時(shí)結(jié)果寄存器、輸出寄存器;數(shù)據(jù)運(yùn)算狀態(tài)機(jī)分別與多路選擇 器、臨時(shí)結(jié)果寄存器、輸出寄存器相連;多路選擇器接受外界的輸入數(shù)據(jù),并且和輪函數(shù)G 相連;輪函數(shù)G接受來自輪密鑰存儲(chǔ)模塊輸入的輪密鑰,并和臨時(shí)結(jié)果寄存器相連;臨時(shí)結(jié) 果寄存器分別和輸出寄存器、多路選擇器相連。臨時(shí)結(jié)果寄存器存放的是一些中間的運(yùn)算 結(jié)果,在數(shù)據(jù)運(yùn)算狀態(tài)機(jī)的控制下,多路選擇器在原始的輸入數(shù)據(jù)和臨時(shí)結(jié)果寄存器進(jìn)行 數(shù)據(jù)選擇,并且和從輪密鑰存儲(chǔ)模塊輸入的輪密鑰一起送入輪函數(shù)G,運(yùn)算產(chǎn)生的結(jié)果存放 在臨時(shí)結(jié)果寄存器中,并在數(shù)據(jù)運(yùn)算狀態(tài)機(jī)的控制下經(jīng)輸出寄存器輸出。生成輪密鑰的分組密碼算法的低功耗方法的步驟如下
1)主控制模塊的的初始化狀態(tài)為空閑狀態(tài),空閑狀態(tài)檢測(cè)主控制模塊收到的控制信 號(hào),進(jìn)行啟動(dòng)信號(hào)判斷操作,若檢測(cè)到的控制信號(hào)為啟動(dòng)信號(hào),則轉(zhuǎn)移到步驟2);若沒有檢 測(cè)到啟動(dòng)信號(hào),則關(guān)閉密鑰比較模塊、輪密鑰生成模塊、輪密鑰存儲(chǔ)模塊、數(shù)據(jù)運(yùn)算模塊,轉(zhuǎn) 移到步驟1)進(jìn)行下一次的啟動(dòng)信號(hào)檢測(cè);
2)根據(jù)控制信號(hào)中的模式選擇進(jìn)行模式選擇判斷,如果是普通模式,則開啟輪密鑰生 成模塊和輪密鑰存儲(chǔ)模塊,同時(shí)轉(zhuǎn)移到步驟4);如果是加速模式,則開啟密鑰比較模塊,同 時(shí)轉(zhuǎn)移到步驟3);
3)密鑰比較模塊產(chǎn)生前后密鑰一致信號(hào),如果一致,則關(guān)閉密鑰比較模塊,開啟數(shù)據(jù)運(yùn) 算模塊,同時(shí)轉(zhuǎn)移到步驟5);如果不一致,則關(guān)閉密鑰比較模塊,開啟輪密鑰生成模塊和輪 密鑰存儲(chǔ)模塊,同時(shí)轉(zhuǎn)移到步驟4);
4)進(jìn)行輪密鑰生成操作,并檢測(cè)來自輪密鑰生成模塊的輪密鑰生成結(jié)束信號(hào)。如果檢 測(cè)到,則關(guān)閉輪密鑰生成模塊和輪密鑰存儲(chǔ)模塊,開啟數(shù)據(jù)運(yùn)算模塊,同時(shí)轉(zhuǎn)移到步驟5); 如果沒有檢測(cè)到,則轉(zhuǎn)移到步驟4);
5)進(jìn)行數(shù)據(jù)運(yùn)算操作,并檢測(cè)來自數(shù)據(jù)運(yùn)算模塊的數(shù)據(jù)運(yùn)算結(jié)束信號(hào)。如果檢測(cè)到,則 關(guān)閉據(jù)運(yùn)算模塊,同時(shí)轉(zhuǎn)移到步驟1);如果沒有檢測(cè)到,則轉(zhuǎn)移到步驟5)。 所述的根據(jù)控制信號(hào)中的模式選擇進(jìn)行模式選擇判斷步驟,包括當(dāng)運(yùn)行于普通 模式時(shí),主控制模塊忽略來自密鑰比較模塊的密鑰一致信號(hào),對(duì)于輸入數(shù)據(jù),不論前后密 鑰是否一致,均需要經(jīng)過輪密鑰生成和數(shù)據(jù)運(yùn)算操作,使加解密周期數(shù)一樣;當(dāng)運(yùn)行于加速 模式時(shí),主控制模塊會(huì)根據(jù)密鑰比較模塊產(chǎn)生的密鑰一致信號(hào)進(jìn)行加速,密鑰一致信號(hào)為1 時(shí),將跳過輪密鑰生成階段,同時(shí)關(guān)閉密鑰輪生成模塊和輪密鑰存儲(chǔ)模塊。
本發(fā)明與現(xiàn)有技術(shù)相比具有的有益效果現(xiàn)有技術(shù)一般根據(jù)頂層控制信號(hào)對(duì)系統(tǒng) 進(jìn)行整體的開啟或關(guān)閉,當(dāng)檢測(cè)到啟動(dòng)信號(hào)時(shí),開啟整個(gè)系統(tǒng),此時(shí)其中的所有子模塊都處 于工作狀態(tài),而事實(shí)上即使在系統(tǒng)開啟的時(shí)候由于所處狀態(tài)的不同并不是所有模塊都處于 工作狀態(tài),因而傳統(tǒng)低功耗方法沒有將低功耗效益發(fā)揮到最好。本發(fā)明基于各個(gè)子模塊并 不是在所有時(shí)刻都處于工作狀態(tài)這一事實(shí),對(duì)輪密鑰生成模塊,輪密鑰存儲(chǔ)模塊,數(shù)據(jù)運(yùn)算 模塊,實(shí)現(xiàn)分時(shí)開啟和關(guān)閉,結(jié)合輪密鑰復(fù)用技術(shù),進(jìn)一步降低了功耗。實(shí)驗(yàn)表明,對(duì)SMS4 算法使用此類技術(shù)功耗能夠降低65%,同時(shí)性能最多有1倍的提升。通過頂層控制信號(hào)的控 制可以使得系統(tǒng)方便的在普通模式和加速模式之間進(jìn)行切換,還可以實(shí)現(xiàn)向下兼容。


圖1是生成輪密鑰的分組密碼算法的低功耗裝置電路框圖; 圖2是本發(fā)明的主控制模塊狀態(tài)轉(zhuǎn)化圖3是本發(fā)明的密鑰比較模塊框圖; 圖4是本發(fā)明的輪密鑰生成模塊框圖; 圖5是本發(fā)明的數(shù)據(jù)運(yùn)算模塊框圖; 圖6是本發(fā)明的控制信號(hào)的格式; 圖7是本發(fā)明的是模式切換示意圖8是本發(fā)明的主控制模塊和密鑰比較模塊交互信號(hào)示意圖; 圖9是本發(fā)明的主控制模塊和輪密鑰生成模塊交互信號(hào)示意圖; 圖10是本發(fā)明的主控制模塊和輪密鑰存儲(chǔ)模塊交互信號(hào)示意圖; 圖11是本發(fā)明的主控制模塊和數(shù)據(jù)運(yùn)算模塊交互信號(hào)示意圖。具體實(shí)施方法
如圖1所示,生成輪密鑰的分組密碼算法的低功耗裝置包括主控制模塊100、密鑰比較 模塊101、輪密鑰生成模塊102、數(shù)據(jù)運(yùn)算模塊103和輪密鑰存儲(chǔ)模塊104 ;主控制模塊100 分別與密鑰比較模塊101、輪密鑰生成模塊102、數(shù)據(jù)運(yùn)算模塊103和輪密鑰存儲(chǔ)模塊104 相連接,密鑰比較模塊101與輪密鑰生成模塊102相連接,輪密鑰生成模塊102和輪密鑰存 儲(chǔ)模塊104相連接,輪密鑰存儲(chǔ)模塊104與數(shù)據(jù)運(yùn)算模塊103相連接;主控制模塊100根據(jù) 控制信號(hào)中的啟動(dòng)信號(hào)和模式選擇位將輸入數(shù)據(jù)利用輸入密鑰進(jìn)行加解密操作,運(yùn)算后產(chǎn) 生最終的輸出數(shù)據(jù);具體地說就是密鑰比較模塊101根據(jù)輸入密鑰產(chǎn)生密鑰一致信號(hào)供主 控制模塊100使用,同時(shí)將密鑰送入輪密鑰生成模塊102,輪密鑰生成模塊102利用原始輸 入的密鑰產(chǎn)生輪密鑰并將其存儲(chǔ)在輪密鑰存儲(chǔ)模塊104中。數(shù)據(jù)運(yùn)算模塊103利用輸入數(shù) 據(jù)和輪密鑰存儲(chǔ)模塊104輸入的輪密鑰,經(jīng)過數(shù)據(jù)運(yùn)算操作之后產(chǎn)生最后的輸出數(shù)據(jù)。在 具體的執(zhí)行過程中,主控制模塊100會(huì)根據(jù)系統(tǒng)所處的不同狀態(tài),對(duì)密鑰比較模塊101、輪 密鑰生成模塊102、數(shù)據(jù)運(yùn)算模塊103和輪密鑰存儲(chǔ)模塊104進(jìn)行分時(shí)的開啟和關(guān)閉。如圖3所示,密鑰比較模塊101的內(nèi)部模塊連接關(guān)系為密鑰比較模塊101包括上 次密鑰寄存器300、本次密鑰寄存器302和比較單元301 ;比較單元301分別與上次密鑰寄 存器300和本次密鑰寄存器302相連。上次密鑰寄存器300和本次密鑰寄存器302經(jīng)過比 較單元301之后產(chǎn)生密鑰一致信號(hào)反饋給主控制模塊100。如圖4所示,輪密鑰生成模塊102的內(nèi)部模塊連接關(guān)系為輪密鑰生成模塊102包括輪密鑰狀態(tài)機(jī)400、多路選擇器401、ROM查表單元402、輪函數(shù)F 403、臨時(shí)結(jié)果寄存器 404、輸出寄存器405 ;輪密鑰狀態(tài)機(jī)400分別與多路選擇器401、ROM查表單元402、臨時(shí)結(jié) 果寄存器404、輸出寄存器405相連;多路選擇器401接受輸入的密鑰,并與輪函數(shù)F 403相 連;輪函數(shù)F 403與臨時(shí)結(jié)果寄存器404相連;臨時(shí)結(jié)果寄存器404與輸出寄存器405、多 路選擇器401相連;ROM查表單元402與輪函數(shù)F 403相連。臨時(shí)結(jié)果寄存器404存放的 是一些中間的運(yùn)算結(jié)果,ROM查表單元402存放的是一些固定的配置參數(shù),在輪密鑰生成狀 態(tài)機(jī)400的控制下,多路選擇器401在原始密鑰和臨時(shí)結(jié)果寄存器404進(jìn)行數(shù)據(jù)選擇,并且 和從ROM查表單元402中查到的數(shù)據(jù)一起送入輪函數(shù)F 403,運(yùn)算產(chǎn)生的結(jié)果存放在臨時(shí)結(jié) 果寄存器404中,并在輪密鑰生成狀態(tài)機(jī)400的控制下經(jīng)輸出寄存器405輸出到輪密鑰存 儲(chǔ)模塊104。如圖5所示,數(shù)據(jù)運(yùn)算模塊103的內(nèi)部模塊連接關(guān)系為數(shù)據(jù)運(yùn)算模塊103包括數(shù) 據(jù)運(yùn)算狀態(tài)機(jī)500、多路選擇器501、輪函數(shù)G 502、臨時(shí)結(jié)果寄存器503、輸出寄存器504 ; 數(shù)據(jù)運(yùn)算狀態(tài)機(jī)500分別與多路選擇器501、臨時(shí)結(jié)果寄存器503、輸出寄存器504相連;多 路選擇器501接受外界的輸入數(shù)據(jù),并且和輪函數(shù)G 502相連;輪函數(shù)G 502接受來自輪密 鑰存儲(chǔ)模塊104輸入的輪密鑰,并和臨時(shí)結(jié)果寄存器503相連;臨時(shí)結(jié)果寄存器503分別和 輸出寄存器504、多路選擇器501相連。臨時(shí)結(jié)果寄存器503存放的是一些中間的運(yùn)算結(jié) 果,在數(shù)據(jù)運(yùn)算狀態(tài)機(jī)500的控制下,多路選擇器501在原始的輸入數(shù)據(jù)和臨時(shí)結(jié)果寄存器 503進(jìn)行數(shù)據(jù)選擇,并且和從輪密鑰存儲(chǔ)模塊104輸入的輪密鑰一起送入輪函數(shù)G 502,運(yùn) 算產(chǎn)生的結(jié)果存放在臨時(shí)結(jié)果寄存器503中,并在數(shù)據(jù)運(yùn)算狀態(tài)機(jī)500的控制下經(jīng)輸出寄 存器504輸出
如圖2所示,生成輪密鑰的分組密碼算法的低功耗方法的步驟如下
1)主控制模塊的100的初始化狀態(tài)為空閑狀態(tài)200,空閑狀態(tài)200檢測(cè)主控制模塊100 收到的控制信號(hào),進(jìn)行啟動(dòng)信號(hào)202判斷操作,若檢測(cè)到的控制信號(hào)為啟動(dòng)信號(hào)600,則轉(zhuǎn) 移到步驟2);若沒有檢測(cè)到啟動(dòng)信號(hào)600,則關(guān)閉密鑰比較模塊101、輪密鑰生成模塊102、 輪密鑰存儲(chǔ)模塊104、數(shù)據(jù)運(yùn)算模塊103,轉(zhuǎn)移到步驟1)進(jìn)行下一次的啟動(dòng)信號(hào)202檢測(cè);
2)根據(jù)控制信號(hào)中的模式選擇601進(jìn)行模式選擇204判斷,如果是普通模式700,則開 啟輪密鑰生成模塊102和輪密鑰存儲(chǔ)模塊104,同時(shí)轉(zhuǎn)移到步驟4);如果是加速模式702, 則開啟密鑰比較模塊101,同時(shí)轉(zhuǎn)移到步驟3);
3)密鑰比較模塊101產(chǎn)生前后密鑰一致205信號(hào),如果一致,則關(guān)閉密鑰比較模塊101, 開啟數(shù)據(jù)運(yùn)算模塊103,同時(shí)轉(zhuǎn)移到步驟5);如果不一致,則關(guān)閉密鑰比較模塊101,開啟輪 密鑰生成模塊102和輪密鑰存儲(chǔ)模塊104,同時(shí)轉(zhuǎn)移到步驟4);
4)進(jìn)行輪密鑰生成209操作,并檢測(cè)來自輪密鑰生成模塊102的輪密鑰生成結(jié)束210 信號(hào)。如果檢測(cè)到,則關(guān)閉輪密鑰生成模塊102和輪密鑰存儲(chǔ)模塊104,開啟數(shù)據(jù)運(yùn)算模塊 103,同時(shí)轉(zhuǎn)移到步驟5);如果沒有檢測(cè)到,則轉(zhuǎn)移到步驟4);
5)進(jìn)行數(shù)據(jù)運(yùn)算212操作,并檢測(cè)來自數(shù)據(jù)運(yùn)算模塊103的數(shù)據(jù)運(yùn)算結(jié)束213信號(hào)。 如果檢測(cè)到,則關(guān)閉據(jù)運(yùn)算模塊103,同時(shí)轉(zhuǎn)移到步驟1);如果沒有檢測(cè)到,則轉(zhuǎn)移到步驟 5)。生成輪密鑰的分組密碼算法的低功耗裝置根據(jù)控制信號(hào)中的模式選擇601進(jìn)行 模式選擇204判斷步驟,包括當(dāng)運(yùn)行于普通模式700時(shí),主控制模塊100忽略來自密鑰比較模塊101的密鑰一致信號(hào)802,對(duì)于輸入數(shù)據(jù),不論前后密鑰是否一致,均需要經(jīng)過輪密 鑰生成和數(shù)據(jù)運(yùn)算操作,使加解密周期數(shù)一樣;當(dāng)運(yùn)行于加速模式702時(shí),主控制模塊100 會(huì)根據(jù)密鑰比較模塊101產(chǎn)生的密鑰一致信號(hào)802進(jìn)行加速,密鑰一致信號(hào)802為1時(shí),將 跳過輪密鑰生成209階段,同時(shí)關(guān)閉輪密鑰生成模塊102和輪密鑰存儲(chǔ)模塊104。主控制模塊800和密鑰比較模塊803通過密鑰比較使能信號(hào)801、密鑰一致信號(hào) 802進(jìn)行交互。在裝置處于空閑狀態(tài)200和數(shù)據(jù)運(yùn)算狀態(tài)212的時(shí)候,主控制模塊800將密 鑰比較使能信號(hào)801置0,關(guān)閉了密鑰比較模塊803,降低了功耗,也不會(huì)對(duì)裝置的功能造成 影響。在裝置工作與加速模式702的時(shí)候,主控制模塊800將密鑰比較使能信號(hào)801置1, 開啟了密鑰比較模塊803。若前后密鑰一致,密鑰比較模塊803將密鑰一致信號(hào)802置1, 主控制模塊800收到此信號(hào)后,將跳過輪密鑰生成209操作,同時(shí)將密鑰比較使能信號(hào)801 置0,關(guān)閉密鑰比較模塊803 ;若前后密鑰不一致,密鑰比較模塊803將密鑰一致信號(hào)802置 0,主控制模塊800收到此信號(hào)后,將開啟輪密鑰生成模塊102和輪密鑰存儲(chǔ)模塊104,進(jìn)行 輪密鑰生成209操作,同時(shí)將密鑰比較使能信號(hào)801置0,關(guān)閉密鑰比較模塊803。主控制模塊900和輪密鑰生成模塊903通過輪密鑰生成使能信號(hào)901、輪密鑰生成 結(jié)束信號(hào)902進(jìn)行交互。在裝置處于空閑狀態(tài)200和數(shù)據(jù)運(yùn)算狀態(tài)212的時(shí)候,主控制模 塊900將輪密鑰生成使能信號(hào)901置0,關(guān)閉了輪密鑰生成模塊903,降低了功耗,也不會(huì)對(duì) 裝置的功能造成影響。在裝置處于輪密鑰生成狀態(tài)209的時(shí)候,主控制模塊900將輪密鑰 生成使能信號(hào)901置1,開啟了輪密鑰生成模塊903,在產(chǎn)生完所有輪密鑰之后輪密鑰生成 模塊903將輪密鑰生成結(jié)束信號(hào)902置1,主控制模塊900收到此信號(hào)后將輪密鑰生成使能 信號(hào)置0,關(guān)閉了輪密鑰生成模塊903,降低了功耗,同時(shí)開啟數(shù)據(jù)運(yùn)算模塊103,進(jìn)行數(shù)據(jù) 運(yùn)算212操作。主控制模塊1000和輪密鑰存儲(chǔ)模塊1002通過輪密鑰存儲(chǔ)使能信號(hào)1001進(jìn)行交 互。在裝置處于空閑狀態(tài)200和數(shù)據(jù)運(yùn)算狀態(tài)212的時(shí)候,主控制模塊1000將輪密鑰存儲(chǔ) 使能信號(hào)1001置0,關(guān)閉了輪密鑰存儲(chǔ)模塊1002,降低了功耗,也不會(huì)對(duì)裝置的功能造成影 響。在裝置處于輪密鑰生成狀態(tài)209的時(shí)候,主控制模塊1000將輪密鑰存儲(chǔ)使能信號(hào)1001 置1,開啟了輪密鑰存儲(chǔ)模塊1002。在主控制模塊1000收到輪密鑰生成結(jié)束信號(hào)902的時(shí) 候,將輪密鑰存儲(chǔ)使能信號(hào)置0,關(guān)閉了輪密鑰存儲(chǔ)模塊1002,降低了功耗,同時(shí)開啟數(shù)據(jù) 運(yùn)算模塊103,進(jìn)行數(shù)據(jù)運(yùn)算212操作。主控制模塊1100和數(shù)據(jù)運(yùn)算模塊1103通過數(shù)據(jù)運(yùn)算使能信號(hào)1101、數(shù)據(jù)運(yùn)算結(jié) 束信號(hào)1102進(jìn)行交互。在裝置處于空閑狀態(tài)200和輪密鑰生成狀態(tài)209的時(shí)候,主控制模 塊1100將數(shù)據(jù)運(yùn)算使能信號(hào)1101置0,關(guān)閉了數(shù)據(jù)運(yùn)算模塊1103,降低了功耗,也不會(huì)對(duì) 裝置的功能造成影響。在裝置處于數(shù)據(jù)運(yùn)算狀態(tài)212的時(shí)候,主控制模塊1100將數(shù)據(jù)運(yùn)算 使能信號(hào)1101置1,開啟了數(shù)據(jù)運(yùn)算模塊1103,在所有數(shù)據(jù)都運(yùn)算完成之后數(shù)據(jù)運(yùn)算模塊 1103將數(shù)據(jù)運(yùn)算結(jié)束信號(hào)1102置1,主控制模塊1100收到此信號(hào)后將數(shù)據(jù)運(yùn)算使能信號(hào) 置0,關(guān)閉數(shù)據(jù)運(yùn)算模塊1103,降低了功耗,同時(shí)裝置進(jìn)入空閑狀態(tài)200。上述實(shí)施例用來解釋說明本發(fā)明,而不是對(duì)本發(fā)明進(jìn)行限制,在本發(fā)明的精神和 權(quán)利要求的保護(hù)范圍內(nèi),對(duì)本發(fā)明做出的任何修改和改變,都落入本發(fā)明的保護(hù)范圍。
權(quán)利要求
1.一種生成輪密鑰的分組密碼算法的低功耗裝置,其特征在于包括主控制模塊 (100)、密鑰比較模塊(101)、輪密鑰生成模塊(102)、數(shù)據(jù)運(yùn)算模塊(103)和輪密鑰存儲(chǔ)模 塊(104);主控制模塊(100)分別與密鑰比較模塊(101)、輪密鑰生成模塊(102)、數(shù)據(jù)運(yùn)算 模塊(103)和輪密鑰存儲(chǔ)模塊(104)相連接,密鑰比較模塊(101)與輪密鑰生成模塊(102) 相連接,輪密鑰生成模塊(102)和輪密鑰存儲(chǔ)模塊(104)相連接,輪密鑰存儲(chǔ)模塊(104)與 數(shù)據(jù)運(yùn)算模塊(103)相連接;主控制模塊(100)根據(jù)控制信號(hào)中的啟動(dòng)信號(hào)和模式選擇位 將輸入數(shù)據(jù)利用輸入密鑰進(jìn)行加解密操作,運(yùn)算后產(chǎn)生最終的輸出數(shù)據(jù);具體地說就是密 鑰比較模塊(101)根據(jù)輸入密鑰產(chǎn)生密鑰一致信號(hào)供主控制模塊(100)使用,同時(shí)將密鑰 送入輪密鑰生成模塊(102),輪密鑰生成模塊(102)利用原始輸入的密鑰產(chǎn)生輪密鑰并將 其存儲(chǔ)在輪密鑰存儲(chǔ)模塊(104)中,數(shù)據(jù)運(yùn)算模塊(103)利用輸入數(shù)據(jù)和輪密鑰存儲(chǔ)模塊 (104)輸入的輪密鑰,經(jīng)過數(shù)據(jù)運(yùn)算操作之后產(chǎn)生最后的輸出數(shù)據(jù),在具體的執(zhí)行過程中, 主控制模塊(100)會(huì)根據(jù)系統(tǒng)所處的不同狀態(tài),對(duì)密鑰比較模塊(101)、輪密鑰生成模塊 (102)、數(shù)據(jù)運(yùn)算模塊(103)和輪密鑰存儲(chǔ)模塊(104)進(jìn)行分時(shí)的開啟和關(guān)閉。
2.根據(jù)權(quán)利要求1所述的一種生成輪密鑰的分組密碼算法的低功耗裝置,其特征在于 所述的密鑰比較模塊(101)的內(nèi)部模塊連接關(guān)系為密鑰比較模塊(101)包括上次密鑰寄 存器(300)、本次密鑰寄存器(302)和比較單元(301);比較單元(301)分別與上次密鑰寄存 器(300)和本次密鑰寄存器(302)相連;上次密鑰寄存器(300)和本次密鑰寄存器(302) 經(jīng)過比較單元(301)之后產(chǎn)生密鑰一致信號(hào)反饋給主控制模塊(100)。
3.根據(jù)權(quán)利要求1所述的一種生成輪密鑰的分組密碼算法的低功耗裝置,其特征在 于所述的輪密鑰生成模塊(102)的內(nèi)部模塊連接關(guān)系為輪密鑰生成模塊(102)包括輪密 鑰狀態(tài)機(jī)(400)、多路選擇器(401)、ROM查表單元(402)、輪函數(shù)F (403)、臨時(shí)結(jié)果寄存 器(404)、輸出寄存器(405);輪密鑰狀態(tài)機(jī)(400)分別與多路選擇器(401)、ROM查表單元 (402)、臨時(shí)結(jié)果寄存器(404)、輸出寄存器(40 相連;多路選擇器(401)接受輸入的密 鑰,并與輪函數(shù)F(403)相連;輪函數(shù)F(403)與臨時(shí)結(jié)果寄存器(404)相連;臨時(shí)結(jié)果寄存 器(404)與輸出寄存器(405)、多路選擇器(401)相連;ROM查表單元(402)與輪函數(shù)F(403) 相連;臨時(shí)結(jié)果寄存器(404)存放的是一些中間的運(yùn)算結(jié)果,ROM查表單元(402)存放的是 一些固定的配置參數(shù),在輪密鑰生成狀態(tài)機(jī)(400)的控制下,多路選擇器(401)在原始密鑰 和臨時(shí)結(jié)果寄存器(404)進(jìn)行數(shù)據(jù)選擇,并且和從ROM查表單元(402)中查到的數(shù)據(jù)一起送 入輪函數(shù)W403),運(yùn)算產(chǎn)生的結(jié)果存放在臨時(shí)結(jié)果寄存器(404)中,并在輪密鑰生成狀態(tài) 機(jī)(400 )的控制下經(jīng)輸出寄存器(405 )輸出到輪密鑰存儲(chǔ)模塊(104 )。
4.根據(jù)權(quán)利要求1所述的一種生成輪密鑰的分組密碼算法的低功耗裝置,其特征在于 1所述的數(shù)據(jù)運(yùn)算模塊(103)的內(nèi)部模塊連接關(guān)系為數(shù)據(jù)運(yùn)算模塊(103)包括數(shù)據(jù)運(yùn)算狀 態(tài)機(jī)(500)、多路選擇器(501)、輪函數(shù)G(502)、臨時(shí)結(jié)果寄存器(503)、輸出寄存器(504); 數(shù)據(jù)運(yùn)算狀態(tài)機(jī)(500)分別與多路選擇器(501)、臨時(shí)結(jié)果寄存器(503)、輸出寄存器(504) 相連;多路選擇器(501)接受外界的輸入數(shù)據(jù),并且和輪函數(shù)G (502)相連;輪函數(shù)G (502) 接受來自輪密鑰存儲(chǔ)模塊(104)輸入的輪密鑰,并和臨時(shí)結(jié)果寄存器(503)相連;臨時(shí)結(jié)果 寄存器(503)分別和輸出寄存器(504)、多路選擇器(501)相連;臨時(shí)結(jié)果寄存器(503)存 放的是一些中間的運(yùn)算結(jié)果,在數(shù)據(jù)運(yùn)算狀態(tài)機(jī)(500)的控制下,多路選擇器(501)在原始 的輸入數(shù)據(jù)和臨時(shí)結(jié)果寄存器(503)進(jìn)行數(shù)據(jù)選擇,并且和從輪密鑰存儲(chǔ)模塊(104)輸入的輪密鑰一起送入輪函數(shù)G(502),運(yùn)算產(chǎn)生的結(jié)果存放在臨時(shí)結(jié)果寄存器(503)中,并在 數(shù)據(jù)運(yùn)算狀態(tài)機(jī)(500)的控制下經(jīng)輸出寄存器(504)輸出。
5.一種使用如權(quán)利要求1所述裝置的生成輪密鑰的分組密碼算法的低功耗方法,其特 征在于它的步驟如下1)主控制模塊的(100)的初始化狀態(tài)為空閑狀態(tài)(200),空閑狀態(tài)(200)檢測(cè)主控制模 塊(100)收到的控制信號(hào),進(jìn)行啟動(dòng)信號(hào)(202)判斷操作,若檢測(cè)到的控制信號(hào)為啟動(dòng)信號(hào) (600),則轉(zhuǎn)移到步驟2);若沒有檢測(cè)到啟動(dòng)信號(hào)(600),則關(guān)閉密鑰比較模塊(101)、輪密 鑰生成模塊(102)、輪密鑰存儲(chǔ)模塊(104)、數(shù)據(jù)運(yùn)算模塊(103),轉(zhuǎn)移到步驟1)進(jìn)行下一次 的啟動(dòng)信號(hào)(202)檢測(cè);2)根據(jù)控制信號(hào)中的模式選擇(601)進(jìn)行模式選擇(204)判斷,如果是普通模式 (700),則開啟輪密鑰生成模塊(102)和輪密鑰存儲(chǔ)模塊(104),同時(shí)轉(zhuǎn)移到步驟4);如果是 加速模式(702 ),則開啟密鑰比較模塊(101),同時(shí)轉(zhuǎn)移到步驟3 );3)密鑰比較模塊(101)產(chǎn)生前后密鑰一致(205)信號(hào),如果一致,則關(guān)閉密鑰比較模 塊(101),開啟數(shù)據(jù)運(yùn)算模塊(103),同時(shí)轉(zhuǎn)移到步驟5);如果不一致,則關(guān)閉密鑰比較模塊 (101),開啟輪密鑰生成模塊(102)和輪密鑰存儲(chǔ)模塊(104),同時(shí)轉(zhuǎn)移到步驟4);4)進(jìn)行輪密鑰生成(209)操作,并檢測(cè)來自輪密鑰生成模塊(102)的輪密鑰生成結(jié)束 (210)信號(hào);如果檢測(cè)到,則關(guān)閉輪密鑰生成模塊(102)和輪密鑰存儲(chǔ)模塊(104),開啟數(shù)據(jù)運(yùn)算模 塊(103),同時(shí)轉(zhuǎn)移到步驟5);如果沒有檢測(cè)到,則轉(zhuǎn)移到步驟4);5)進(jìn)行數(shù)據(jù)運(yùn)算(212)操作,并檢測(cè)來自數(shù)據(jù)運(yùn)算模塊(103)的數(shù)據(jù)運(yùn)算結(jié)束(213)信號(hào);如果檢測(cè)到,則關(guān)閉據(jù)運(yùn)算模塊(103),同時(shí)轉(zhuǎn)移到步驟1);如果沒有檢測(cè)到,則轉(zhuǎn)移到 步驟5)。
6.根據(jù)權(quán)利要求5所述的一種生成輪密鑰的分組密碼算法的低功耗方法,其特征在于 所述的根據(jù)控制信號(hào)中的模式選擇(601)進(jìn)行模式選擇(204)判斷步驟,包括當(dāng)運(yùn)行于普 通模式(700)時(shí),主控制模塊(100)忽略來自密鑰比較模塊(101)的密鑰一致信號(hào)(802), 對(duì)于輸入數(shù)據(jù),不論前后密鑰是否一致,均需要經(jīng)過輪密鑰生成和數(shù)據(jù)運(yùn)算操作,使加解密 周期數(shù)一樣;當(dāng)運(yùn)行于加速模式(702)時(shí),主控制模塊(100)會(huì)根據(jù)密鑰比較模塊(101)產(chǎn) 生的密鑰一致信號(hào)(802)進(jìn)行加速,密鑰一致信號(hào)(802)為1時(shí),將跳過輪密鑰生成(209) 階段,同時(shí)關(guān)閉輪密鑰生成模塊(102)和輪密鑰存儲(chǔ)模塊(104)。
全文摘要
本發(fā)明公開了一種生成輪密鑰的分組密碼算法的低功耗裝置及方法。裝置包括輪密鑰生成模塊、輪密鑰存儲(chǔ)模塊、數(shù)據(jù)運(yùn)算模塊、密鑰比較模塊。該裝置根據(jù)需要生成輪密鑰的密鑰算法的特點(diǎn),一方面基于各個(gè)子模塊并不是在所有時(shí)刻都處于工作狀態(tài)這一事實(shí),對(duì)各個(gè)子模塊進(jìn)行分時(shí)的開啟和關(guān)閉,另一方面根據(jù)前后加解密數(shù)據(jù)所使用的密鑰是否相同有選擇性的對(duì)上一次產(chǎn)生的輪密鑰進(jìn)行重用,節(jié)省了產(chǎn)生輪密鑰的時(shí)間,在降低功耗的同時(shí)也在一定程度上提升了系統(tǒng)的性能。通過頂層控制信號(hào)的控制可以使得裝置在普通模式和加速模式之間進(jìn)行切換,因而可以實(shí)現(xiàn)向下兼容。實(shí)驗(yàn)表明,本發(fā)明對(duì)SMS4算法使用此類技術(shù)功耗能夠降低65%,同時(shí)性能最多有1倍的提升。
文檔編號(hào)G06F1/32GK102063179SQ20111000680
公開日2011年5月18日 申請(qǐng)日期2011年1月13日 優(yōu)先權(quán)日2011年1月13日
發(fā)明者周祺, 李剛, 李袁鑫, 沈海斌 申請(qǐng)人:浙江大學(xué)
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
塔河县| 新化县| 岳西县| 奈曼旗| 崇信县| 资阳市| 马山县| 西华县| 呼伦贝尔市| 蒙山县| 中山市| 苏尼特右旗| 大庆市| 丁青县| 玛多县| 榆树市| 五寨县| 高台县| 洱源县| 修文县| 印江| 治县。| 固原市| 台州市| 田阳县| 长寿区| 察雅县| 那坡县| 黔西县| 龙州县| 大港区| 九寨沟县| 高平市| 广汉市| 海城市| 浮山县| 界首市| 遂宁市| 泸定县| 两当县| 沙河市|