[發明專利]一種用于實現SM3雜湊算法的系統及SM3雜湊算法實現方法在審
| 申請號: | 201610879474.7 | 申請日: | 2016-09-27 |
| 公開(公告)號: | CN106603222A | 公開(公告)日: | 2017-04-26 |
| 發明(設計)人: | 江冠成 | 申請(專利權)人: | 江冠成 |
| 主分類號: | H04L9/06 | 分類號: | H04L9/06 |
| 代理公司: | 暫無信息 | 代理人: | 暫無信息 |
| 地址: | 100000*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 用于 實現 sm3 雜湊 算法 系統 方法 | ||
技術領域
本發明涉及信息加密技術領域,尤其是涉及一種用于實現SM3雜湊算法的系統及SM3雜湊算法實現方法。
背景技術
雜湊算法是在加解密運算中非常重要的不可逆運算,受到各國密碼管理機構的重視。這種算法的基本內涵是針對長度任意的message消息進行特定的運算,該運算最終將輸出長度恒定的雜湊值。雜湊算法的操作步驟是不需要保密。一旦輸入有及其細微的變化,其輸出的雜湊值的改變也是非常徹底的,這種“雪崩效應”將使得不同輸入產生雜湊值輸出相同的幾率降到該碰撞被認可為不可能事件的閾值。美國的SHA-256算法等標準早已制定完成,而我國國產雜湊算法SM3也于2010年底由國密辦正式頒布。但在當前數據量龐大、處理實時的應用背景下,傳統的軟件雜湊算法操作越來越無法達到用戶所需要的算法實現速度和效率。
在當前大數據處理、實時應用處理的時代,傳統基于x86計算機的串行軟件雜湊算法已無法滿足特定場合和環境下用戶所期望的算法實現速度和效率。因此探究高性能硬件平臺來實現高速低資源的雜湊算法就十分必要。
發明內容
針對以上問題,本發明提供了一種用于實現SM3雜湊算法的系統及SM3雜湊算法實現方法,該系統結構簡單,性能穩定,減少寄存器和邏輯單元的開銷,其實現方法運行速度和數據吞吐率的速度快。
具體技術內容為:一種用于實現SM3雜湊算法的系統,其包括控制部分、輸入輸出部分和運算部分,控制部分包括同步電路的時鐘信號輸入裝置、同步使能信號輸入裝置和異步復位信號的輸入裝置,輸入輸出部分包括系統核心運算裝置和外圍電路的數據流交互裝置,運算部分包括消息擴展運算裝置和迭代壓縮運算裝置,消息擴展運算裝置包括擴展字Wj和W′j的邏輯生成電路,迭代壓縮運算裝置包括常量Tj變移位數左循環移位電路、FFj和GGj布爾函數實現電路、中間變量SS1SS2TT1TT2實現電路、置換函數P0P1實現電路和寄存器操作電路。
所述輸入輸出部分包含雙向的數據和地址線。
所述系統核心運算裝置內設置有ARM串行嵌入式芯片。
SM3雜湊算法的實現方法為,將文字符串首先通過ARM串行嵌入式芯片進行消息分組和填充,ARM串行嵌入式芯片通過符合某些標準接口的數據總線將512比特數據送入運算部分內,外圍電路的數據流交互裝置將執行運算部分的同步電路的時鐘信號和同異步復位信號的控制量的操作,當運算部分中的運算完成信號發出后,ARM串行嵌入式芯片將讀取運算部分運算生成的256比特雜湊值,所述消息擴展運算裝置在進行分組擴展邏輯設計時,SM3雜湊算法中的w和wpie字擴展寄存器有132個,不斷更新w和wpie字擴展寄存器,使得132個字擴展值可以只在若干個reg型變量實現,通過復用的方式減少寄存器和邏輯單元的開銷,所述迭代壓縮運算裝置在進行迭代壓縮邏輯設計時,Tj變移位數左循環移位電路采用2個32比特寄存器實現常量讀寫,每個時鐘周期左移一位,所述FFj和GGj布爾函數實現電路通過三目運算符實現前j∈[0,15]迭代與后j∈[16,63]迭代計算式不同,中間變量和字寄存器通過多增加一個輔助變量,實現賦值與更新。
w字擴展寄存器的值為大移位寄存器的左端w0,wpie字擴展寄存器的值始終為w0和w4的異或,隨著大移位寄存器的宏觀左移,w和wpie的字擴展寄存器不斷更新,通過復用的方式減少寄存器和邏輯單元的開銷。
采用了32比特寬度的數據線進行數據輸入輸出,包括核心運算的66個時鐘節和16個節拍進行輸入,8個節拍進行輸出。
由于采取了上述技術方案,與現有技術相比,本發明的優點:
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于江冠成,未經江冠成許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201610879474.7/2.html,轉載請聲明來源鉆瓜專利網。





