[發明專利]一種基于數據存儲的流水SHA256硬件實現方法有效
| 申請號: | 201910078031.1 | 申請日: | 2019-01-28 |
| 公開(公告)號: | CN109936441B | 公開(公告)日: | 2022-07-05 |
| 發明(設計)人: | 陳鎮江;張寅;張志文;盧仕;劉玖陽;萬美琳;戴葵;顧豪爽 | 申請(專利權)人: | 湖北大學 |
| 主分類號: | H04L9/06 | 分類號: | H04L9/06 |
| 代理公司: | 武漢帥丞知識產權代理有限公司 42220 | 代理人: | 朱必武;劉丹 |
| 地址: | 430062 湖北*** | 國省代碼: | 湖北;42 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 數據 存儲 流水 sha256 硬件 實現 方法 | ||
本發明公開一種基于數據存儲的流水SHA256硬件實現方法,方法采用基于鎖存器存儲的數據流水方式代替傳統的基于寄存器翻轉的數據流水方式,即采用面積小、動態功耗低的鎖存器代替面積大、動態功耗高的寄存器存儲流水的數據,然后通過數據選擇開關選擇每級新產生數據的存儲位置,并選擇合適的存儲在前級鎖存器中的數據進行數據壓縮和數據擴展運算。在保證SHA256硬件電路功能的前提下,本發明通過采用鎖存器代替寄存器并改變流水實現方式,能夠進一步降低SHA256硬件實現電路的面積和功耗。
技術領域
本發明涉及一種基于數據存儲的流水SHA256硬件實現方法,具體為具有低成本低功耗的SHA256電路硬件實現方法,屬于數字集成電路設計技術領域。
背景技術
SHA-2(Security Hash Algorithm-2)安全散列算法是由美國國家安全局(NSA)和美國國家標準與技術研究院(NIST)在2002年公布的一種密碼散列算法。其主要作用是實現數據間的單向映射,它可以將任意長度的消息映射成固定長度的消息摘要,并且映射過程不可逆。根據不同的輸出消息摘要的長度,SHA-2家族分為:SHA-224、SHA-256、SHA-384、SHA-512四種算法,它們主要用于數字簽名、指紋驗證以及網絡安全協議等領域。
SHA256能將任意有限長度的輸入消息(長度小于264位)轉換為長度為256位的輸出消息摘要,其步驟分為:數據預處理,數據擴充和數據壓縮三個部分。
1.數據預處理
(a)A~H變量的初始值H(0)為:
(b)消息填充
在數據迭代之前,需要對輸入數據按照512位進行分組,如果最后一個數據塊位數不足512位,則需要填充。填充方法是:首先在數據塊尾加上1,數據塊最后64位為原始消息的總長度,然后在其與原始數據之間用0進行填充。經過數據填充后,數據的長度為512位的整數倍。然后對每一個512位的數據塊Mj進行分割,以產生16組32位的數據,分別記為
2.數據擴展
通過對數據分割得到的16組32位數據塊進行擴展,得到64組32位數據W0,…,W15,W16,…W63,對應的擴展算法為:
上述算法中用到的邏輯運算如下:
在上式中,算子為按位異或,算子∧為按位與,算子為按位取反,算子SHRn為右移n位,ROTRn為循環右移n位。
3.數據壓縮
現假設八個迭代變量分別為A、B、C、D、E、F、G、H。首先按照如下公式(4)規定的算法初始化八個變量,其中Hj-1為第j-1個數據塊(Mj)迭代后輸出哈希值,初始值由式(1)給出。
經過上述初始賦值后進行如下迭代操作:對于t=0~63:(Kt是一組常量)
{T1=H+∑1(E)+Ch(E,F,G)+Kt+Wt,T2=∑0(A)+Maj(A,B,C)
H=G,G=F,F=E,E=D+T1,D=C,C=D,B=A,A=T1+T2} (5)
經過64次迭代之后,最終的散列值計算方法如式(6)所示:
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于湖北大學,未經湖北大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201910078031.1/2.html,轉載請聲明來源鉆瓜專利網。
- 數據顯示系統、數據中繼設備、數據中繼方法、數據系統、接收設備和數據讀取方法
- 數據記錄方法、數據記錄裝置、數據記錄媒體、數據重播方法和數據重播裝置
- 數據發送方法、數據發送系統、數據發送裝置以及數據結構
- 數據顯示系統、數據中繼設備、數據中繼方法及數據系統
- 數據嵌入裝置、數據嵌入方法、數據提取裝置及數據提取方法
- 數據管理裝置、數據編輯裝置、數據閱覽裝置、數據管理方法、數據編輯方法以及數據閱覽方法
- 數據發送和數據接收設備、數據發送和數據接收方法
- 數據發送裝置、數據接收裝置、數據收發系統、數據發送方法、數據接收方法和數據收發方法
- 數據發送方法、數據再現方法、數據發送裝置及數據再現裝置
- 數據發送方法、數據再現方法、數據發送裝置及數據再現裝置





