[發明專利]一種AES密鑰擴展方法有效
| 申請號: | 201810870149.3 | 申請日: | 2018-08-02 |
| 公開(公告)號: | CN109302280B | 公開(公告)日: | 2021-11-23 |
| 發明(設計)人: | 李一兵;劉恒壯;田園;孫騫;王一凡;李斌;徐橫宇;田弘博 | 申請(專利權)人: | 哈爾濱工程大學 |
| 主分類號: | H04L9/06 | 分類號: | H04L9/06 |
| 代理公司: | 暫無信息 | 代理人: | 暫無信息 |
| 地址: | 150001 黑龍江省哈爾濱市南崗區*** | 國省代碼: | 黑龍江;23 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 aes 密鑰 擴展 方法 | ||
1.一種AES密鑰擴展方法,其特征在于,包括以下步驟:
(1)根據所選取的AES算法的密鑰長度,利用偽隨機數發生器產生所需比特數的隨機數,進而得到初始的密鑰,并作為加密和解密的密鑰保存;
(2)將密鑰輪數i初始化為1,對于128比特長度的密鑰、192比特長度的密鑰以及256比特長度的密鑰,其密鑰擴展輪數分別為10、12和14輪;
(3)使用sha256哈希函數對密鑰進行處理,得到密鑰的哈希摘要;
(4)對哈希值進行截取得到所需長度的輪密鑰;
(5)獲取輪密鑰之后對輪密鑰進行了移位操作;
(6)判斷是否達到擴展輪數,如果達到則輸出最終的輪密鑰矩陣,否則跳至步驟(3)繼續進行密鑰擴展。
2.根據權利要求1所述的一種AES密鑰擴展方法,其特征在于,所述的步驟(3)具體包括:
(3.1)對密鑰進行填充處理,根據sha256哈希函數的特性其填充后的數據長度滿足下式:
l+1+m=448 mod 512
式中的l為密鑰的長度,1指的是數字1,m為所需填充的0的位數;
(3.2)進行哈希數組初始化后對數據塊進行處理得到對應的哈希值;
(3.3)對擴展后的密鑰數據進行迭代處理得到哈希值。
3.根據權利要求2所述的一種AES密鑰擴展方法,其特征在于,所述的步驟(3.3)具體包括:
(3.3.1)初始化8個字的中間存儲變量,即:
(3.3.2)對密鑰擴展后的數據進行下列處理:
對于初始16輪的數據處理,其過程如下式所示:
Wt=Mt,
對于后續48輪的處理,其處理方式如下式所示:
Wt=EP1(Wt-2)+Wt-7+EP0(Wt-5)+Wt-16,
其中Mt代表的是原始密鑰擴展之后的數據字,Wt代表的是數據預處理后的存儲單元,M和W的下角標t指的是其中間存儲變量的序號,EP0和EP1中的ROTrighti(x)指的是對x向右循環移i位,SHIFTrighti(x)表示對x向右移i位,表示位異或運算;
(3.3.3)對擴展后的密鑰數據進行預處理之后便可以執行散列迭代計算,運算變量的處理如下所示:
t1=h+EP1(e)+CH(e,f,g)+Kt+Wt
t2=EP0(a)+MAJ(a,b,c)
h=g
g=f
f=e
e=d+t1
d=c
c=b
b=a
a=t1+t2
式中的t1,t2,h,g,f,e,d,c,b,a均為中間存儲變量,下角標t指的是第t輪的迭代,其中指的是與運算,指的是取反運算,指的是異或運算,K為一個64字的靜態常值矩陣,Kt指的是對于第t次迭代取K數組的第t個元素進行相關運算;
(3.3.4)輸出sha256的哈希摘要信息,如下所示:
其中H的上角標1代表著此時的H為最終的運算結果,下角標為哈希數組的序號;
(3.3.5)合并上述8個字大小的摘要信息,如下所示:
其中:k指的是密鑰,sha256(k)指的是對k進行sha256哈希操作,||表示字符串連接操作。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于哈爾濱工程大學,未經哈爾濱工程大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201810870149.3/1.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種四翼吸引子旋轉的憶阻混沌電路系統
- 下一篇:實現社交網絡的方法和系統





