精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

SM3密碼算法的算法邏輯及要點

冬至子 ? 來源:商用密碼 ? 作者:莫道 ? 2023-05-22 14:49 ? 次閱讀

一、

SM3是一種哈希算法,主要用于計算消息摘要,其算法邏輯和要點如下:

1.數據填充:SM3算法要求將輸入數據填充為512比特的整數倍。填充方法是在數據末尾添加一個1和一些0,使得填充后的長度為512比特的整數倍。

2.分組處理:將填充后的數據分成512比特的分組,并進行逐個處理。

3.初始值設定:SM3算法對于每個分組都有一個初始值。對于第一個分組,初始值由固定的常量決定,對于后續分組,初始值由前一個分組的結果決定。
4.消息擴展:SM3算法采用了一種稱為Wt的消息擴展函數。該函數可以將每個512比特分組擴展為數個512比特的分組,并通過一些位運算將分組進行混淆。
5.壓縮函數:SM3算法采用了一種稱為CF函數的壓縮函數。該函數將每個512比特分組壓縮為一個512比特的分組,并使用一些非線性的操作對分組進行加密。
6.循環處理:SM3算法對于每個512比特分組都會進行循環處理。循環處理包括消息擴展、壓縮函數和結果更新等步驟。
7.結果輸出:SM3算法最終輸出256比特的哈希值。

當SM3算法處理一段輸入消息時,它首先會對消息進行填充以滿足512比特的分組長度要求。填充方法是將一個1和若干個0添加到消息末尾,使得消息的長度對512取模的余數為448。然后,在填充后的消息末尾添加一個64比特的數,表示消息的原始長度。這樣,填充后的消息長度就成為了512比特的整數倍。

接下來,SM3算法將填充后的消息分成多個512比特的分組,并對每個分組進行處理。對于第一個分組,SM3算法會使用一個固定的初始值;對于后續分組,SM3算法會使用前一個分組的結果作為初始值。然后,SM3算法會采用一系列的置換和非線性變換,將每個分組進行加密,產生一個256比特的哈希值。

在加密過程中,SM3算法采用了一種稱為Wt的消息擴展函數。該函數可以將每個512比特分組擴展為數個512比特的分組,并通過一些位運算將分組進行混淆。然后,SM3算法使用一個稱為CF函數的壓縮函數,將數個512比特的分組壓縮為一個512比特的分組,并使用一些非線性的操作對分組進行加密。

SM3算法的輸出結果是一個256比特的哈希值,具有高強度的防碰撞能力和安全性。它的設計緊湊、實現簡單、適用于多種應用場景,已被廣泛應用于數字簽名、消息認證碼、數據完整性校驗、證書管理等領域。SM3算法也是國際上公認的安全性較高的哈希算法之一,受到了廣泛的關注和研究。

二、

SM3算法主要采用以下四種操作:

1.位運算操作:包括按位異或(XOR)、按位與(AND)、按位或(OR)等,用于對輸入進行混淆和擾動。

2.非線性變換操作:包括置換、置換選擇、非線性函數、循環移位等,用于增加加密的難度和復雜性。

3.線性變換操作:包括置換、置換選擇等,用于增強加密的強度和擴散性。

4.哈希函數操作:包括取模、加法、異或等,用于生成輸出哈希值。

SM3算法在設計過程中采用了多重輪迭代結構,每輪包含相同的基本操作,但參數不同,以達到更好的加密效果。具體來說,SM3算法由三個部分組成:數據預處理部分、壓縮函數部分和輸出部分。

數據預處理部分包括填充、擴展、初始化等操作,將輸入消息轉化為可加密的形式,并生成初始值。壓縮函數部分是SM3算法的核心,主要由多重輪迭代結構組成,每輪包含置換、置換選擇、非線性函數、線性函數、循環移位等操作,將512比特的分組加密為256比特的哈希值。輸出部分包括對哈希值的處理和返回,生成最終的256比特哈希值。

SM3算法具有高度的安全性和防碰撞能力,在數字簽名、消息認證碼、數據完整性校驗、證書管理等領域得到了廣泛應用。同時,SM3算法的設計緊湊、實現簡單,適用于多種應用場景,已被ISO/IEC和GB/T等國際和國內標準采納。

三、

SM3算法具有以下特點:

1.安全性高:SM3算法的密鑰長度和哈希值長度均為256比特,具有高度的安全性和防碰撞能力,能夠有效地保護數據的機密性和完整性。

2.速度快:SM3算法的實現簡單、緊湊,具有高效的計算能力和快速的加密速度,適用于各種場景下的數據加密和安全保護。

3.公開透明:SM3算法是中國國家密碼管理局發布的標準算法,經過了公開透明的審查和測試,具有公正性和可信度。

4.兼容性好:SM3算法支持多種編程語言和硬件平臺,可以與各種操作系統和應用程序進行集成和兼容,便于開發和使用。

5.可擴展性強:SM3算法可以通過增加輪數、調整參數等方式進行擴展和改進,以適應不同的安全需求和應用場景。

總之,SM3算法是一種高效、安全、公開、兼容、可擴展的密碼算法,廣泛應用于數字簽名、消息認證碼、數據完整性校驗、證書管理等領域,為保護數據的安全和隱私做出了重要貢獻。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • XOR
    XOR
    +關注

    關注

    0

    文章

    12

    瀏覽量

    161851
  • SM3算法
    +關注

    關注

    0

    文章

    4

    瀏覽量

    3151
收藏 人收藏

    評論

    相關推薦

    支持國密算法的加密芯片

    ,可設置成多重復合設備,最大限度地滿足用戶的設計需求。2? 算法全面:集成多種通信接口和多種信息安全算法SM1、SM2、SM3
    發表于 04-27 17:17

    分享交通部二維碼驗簽模塊,高速PKI卡資料,國密SM2簽名驗證 RSA2048算法 國密SM1算法 SM2算法 SM4算法 SM7算法

    `采用32位CPU內核芯片支持國際算法DES,AES,SHA,RSA1024/2048等主流算法支持國密算法SM1,SM2,
    發表于 07-20 17:03

    密碼標準有哪些

    眾所周知,為了保障商用密碼的安全性,國家商用密碼管理辦公室制定了一系列密碼標準,包括SM1(SCB2)、SM2、
    發表于 07-22 08:37

    國密算法的應用場景 精選資料分享

    國家密碼管理局推出的SM系列密碼算法是為了從根本上擺脫我國對國外密碼技術的依賴,實現從密碼
    發表于 07-23 08:57

    密碼學系列 - 國密算法 精選資料分享

    國密即國家密碼局認定的國產密碼算法。主要有SM1,SM2,SM3
    發表于 07-23 07:07

    加密芯片的接口進行調用

    眾所周知,為了保障商用密碼的安全性,國家商用密碼管理辦公室制定了一系列密碼標準,包括SM1(SCB2)、SM2、
    發表于 07-26 08:18

    基于FPGA的SM3算法優化設計與實現

    基于FPGA的SM3算法優化設計與實現的論文
    發表于 10-29 17:16 ?5次下載

    FPGA芯片EP2S90F1508C3實現SM3算法的硬件實現策略

    的整體結構可分為庫函數模塊和主程序模塊兩大模塊[1,5]。在SM3算法庫函數模塊中定義了6個左循環移位函數ROL7、ROL9、ROL12、ROL15、ROL19、ROLk和4個函數FF、GG、P0、P1,均用組合邏輯資源實現,常
    發表于 11-24 15:33 ?2605次閱讀
    FPGA芯片EP2S90F1508C<b class='flag-5'>3</b>實現<b class='flag-5'>SM3</b><b class='flag-5'>算法</b>的硬件實現策略

    基于SM3的HMAC的能量分析攻擊方法

    的能量分析新型攻擊方法,該新型攻擊方法每次攻擊時選擇不同的攻擊目標和其相關的中間變量,根據該中間變量的漢明距離模型或者漢明重量模型實施能量分析攻擊,經過對SM3密碼算法的前4輪多次實施能量分析攻擊,將攻擊出的所有結果聯立方程組,
    發表于 02-11 09:57 ?1次下載
    基于<b class='flag-5'>SM3</b>的HMAC的能量分析攻擊方法

    SM3算法為例,構建一個軟硬協作算法加速器:設計面向SM3優化的運算結構

    本文是本系列第五篇,本文書接上文,來討論如何具體地針對 SM3 算法的特點,優化計算架構,如通過 CSA 加法器來優化加法關鍵路徑等方法...
    發表于 02-07 11:40 ?0次下載
    以<b class='flag-5'>SM3</b><b class='flag-5'>算法</b>為例,構建一個軟硬協作<b class='flag-5'>算法</b>加速器:設計面向<b class='flag-5'>SM3</b>優化的運算結構

    SM3算法為例,構建一個軟硬協作算法加速器:SM3 開源硬件實現篇

    本文是本系列第三篇,我們將通過分析一個 SM3 的開源硬件實現,來進一步了解算法的實現流程和硬件實現思路首發知乎作者:李凡
    發表于 02-07 11:40 ?1次下載
    以<b class='flag-5'>SM3</b><b class='flag-5'>算法</b>為例,構建一個軟硬協作<b class='flag-5'>算法</b>加速器:<b class='flag-5'>SM3</b> 開源硬件實現篇

    SM3算法為例,構建一個軟硬協作算法加速器:SM3 軟件實現篇

    本文是本系列第二篇,我們將通過分析一個 SM3 的開源軟件實現,來進一步了解算法的實現流程和軟件實現思路首發知乎:[鏈接]
    發表于 02-07 11:43 ?2次下載
    以<b class='flag-5'>SM3</b><b class='flag-5'>算法</b>為例,構建一個軟硬協作<b class='flag-5'>算法</b>加速器:<b class='flag-5'>SM3</b> 軟件實現篇

    SM3算法為例,構建一個軟硬協作算法加速器:算法

    本文是本系列第一篇,筆者最近在研究基于FPGA的算法加速,本系列將以 PPT 結合文字的方式,以實現相對簡單的 SM3 雜湊算法為例,介紹一...
    發表于 02-07 11:43 ?1次下載
    以<b class='flag-5'>SM3</b><b class='flag-5'>算法</b>為例,構建一個軟硬協作<b class='flag-5'>算法</b>加速器:<b class='flag-5'>算法</b>篇

    國密算法成員介紹

    極海APM32F407系列MCU,結合當前環境要求,設計出了支持國密算法SM2,SM3,SM4)的IP, 符合國家密碼管理局認定和公布的
    的頭像 發表于 03-25 11:25 ?2506次閱讀

    嵌入式的國家商用密碼SM算法

    數據加密和解密涉及的算法大致可分為以下三大類:單向散列算法(雜湊算法),對稱加密算法,公開密鑰加密算法(非對稱加密
    的頭像 發表于 01-20 11:26 ?2531次閱讀
    嵌入式的國家商用<b class='flag-5'>密碼</b><b class='flag-5'>SM</b><b class='flag-5'>算法</b>