[發(fā)明專利]一種選擇門優(yōu)化的AES加解密方法及裝置有效
| 申請?zhí)枺?/td> | 201210236938.4 | 申請日: | 2012-07-10 |
| 公開(公告)號: | CN102780557A | 公開(公告)日: | 2012-11-14 |
| 發(fā)明(設計)人: | 莫海鋒;朱麗娟 | 申請(專利權)人: | 記憶科技(深圳)有限公司 |
| 主分類號: | H04L9/06 | 分類號: | H04L9/06 |
| 代理公司: | 北京律誠同業(yè)知識產(chǎn)權代理有限公司 11006 | 代理人: | 劉健;黃韌敏 |
| 地址: | 518000 廣東省深圳市*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 選擇 優(yōu)化 aes 解密 方法 裝置 | ||
技術領域
本發(fā)明涉及數(shù)據(jù)通信安全技術領域,尤其涉及一種選擇門優(yōu)化的AES加解密方法及裝置。
背景技術
AES(Advanced?Encryption?Standard,高級加密標準)是當前存儲領域的主要加密算法。AES加密和解密由多個相同的輪運算組成,每個輪運算包含S盒運算、移位運算、列混合運算和加密鑰的運算。加密和解密的S盒運算、移位運算、列混合運算都不相同?,F(xiàn)有的AES方案使用獨立的結構實現(xiàn)加密和解密運算,或者使用獨立的結構實現(xiàn)S盒和逆的S盒的運算。
圖1是現(xiàn)有加密運算的結構圖,SBX(Sbox)表示加密運算的S盒運算,MC(Mix?Columns)表示加密運算的列混合運算,ARK(add?round?key)表示輪密鑰加運算,Register(寄存器)緩存每輪運算的中間數(shù)據(jù),選擇器用于選擇裝載輸入數(shù)據(jù)或輪運算的輸出數(shù)據(jù),round-key表示加密輪密鑰,initial-data表示輸入數(shù)據(jù),data-out表示加密結果,initial-round表示輪運算的輪數(shù)。每組數(shù)據(jù)的加密有Nr輪運算,第一輪運算開始時裝載輸入數(shù)據(jù),第一輪運算的輸出作為第二輪運算的輸入,依次類推,直到完成Nr輪運算,輸出解密結果。圖2是加密S盒運算的結構圖,INV表示有限域中計算逆元的邏輯運算,MT表示SBX運算中逆元運算后把逆元和一個固定的矩陣相乘的運算。
圖3是現(xiàn)有解密運算的結構圖,ISBX(Inv?Sbox)表示解密運算的S盒運算,也是加密S盒運算的逆,IMC(Inv?Mix?Columns)表示解密運算的列混合運算,ARK(add?round?key)表示輪密鑰加運算,Register(寄存器)緩存每輪運算的中間數(shù)據(jù),選擇器用于選擇裝載輸入數(shù)據(jù)或輪運算的輸出數(shù)據(jù),round-key表示加密輪密鑰,initial-data表示輸入數(shù)據(jù),data-out表示加密結果,initial-round表示當前輪運算的輪數(shù)。每組數(shù)據(jù)的解密有Nr輪運算,第一輪運算開始時裝載輸入數(shù)據(jù),第一輪運算的輸出作為第二輪運算的輸入,依次類推,直到完成Nr輪運算,輸出及誒結果。圖4是解密運算S盒的運算過程,MTI表示ISBX運算中計算逆元之前輸入數(shù)據(jù)和一個固定矩陣相乘的運算,INV表示有限域中計算逆元的邏輯運算。
現(xiàn)有的AES算法采用獨立結構分別實現(xiàn)加密和解密運算,而S盒運算邏輯的面積很大,獨立結構分別實現(xiàn)加密和解密運算會增加芯片的面積和功耗。
綜上可知,現(xiàn)有技術在實際使用上顯然存在不便與缺陷,所以有必要加以改進。
發(fā)明內容
針對上述的缺陷,本發(fā)明的目的在于提供一種選擇門優(yōu)化的AES加解密方法及裝置,其能夠降低芯片面積及功耗,同時減少關鍵路徑上選擇門的使用,縮短了關鍵路徑,提高了AES模塊的運行速度。
為了實現(xiàn)上述目的,本發(fā)明提供一種選擇門優(yōu)化的AES加解密方法,包括:
控制選擇將輪運算結果或者待加/解密數(shù)據(jù)輸出至寄存器;
對所述寄存器中的數(shù)據(jù)進行Nr輪加/解密輪運算,Nr由密鑰長度確定;
通過加/解密控制信號控制選擇輸出加密輪運算結果或者解密輪運算結果至寄存器。
根據(jù)本發(fā)明的方法,對所述寄存器中的數(shù)據(jù)進行加密輪運算或解密輪運算的步驟具體為:
對所述寄存器中的數(shù)據(jù)進行求逆運算操作,并輸出兩個相同的求逆運算結果;
對其中一個求逆運算結果依次進行加密仿射變換操作、加密列混合運算操作以及輪密鑰加運算操作,并輸出操作結果作為所述加密輪運算結果;
對另一個求逆運算結果依次進行輪密鑰加運算操作、解密列混合運算操作以及解密仿射變換操作,并輸出操作結果作為所述解密輪運算結果;
根據(jù)本發(fā)明的方法,對所述寄存器中的數(shù)據(jù)進行加密輪運算或解密輪運算的步驟還包括:
在第Nr輪運算時,將所述求逆運算結果進行輪密鑰加運算操作后輸出作為解密結果,或者
在第Nr輪運算時,將所述加密仿射變換操作后的數(shù)據(jù)進行輪密鑰加運算操作后輸出作為加密結果。
根據(jù)本發(fā)明的方法,控制選擇將輪運算結果或者待加/解密數(shù)據(jù)輸出至寄存器的步驟具體為:
通過輪運算的輪數(shù)控制選擇將輪運算結果或者待加/解密數(shù)據(jù)輸出至所述寄存器,若為第一輪則選擇將待加/解密數(shù)據(jù)加載至所述寄存器,否則將所述輪運算結果緩存至所述寄存器。
根據(jù)本發(fā)明的方法,所述方法還包括:將初始密鑰進行變換獲取所述輪密鑰加運算操作在每一輪運算使用的密鑰。
本發(fā)明相應提供一種選擇門優(yōu)化的AES加解密裝置,包括:
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于記憶科技(深圳)有限公司,未經(jīng)記憶科技(深圳)有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業(yè)授權和技術合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201210236938.4/2.html,轉載請聲明來源鉆瓜專利網(wǎng)。





