<menu id="guoca"></menu>
<nav id="guoca"></nav><xmp id="guoca">
  • <xmp id="guoca">
  • <nav id="guoca"><code id="guoca"></code></nav>
  • <nav id="guoca"><code id="guoca"></code></nav>

    A.1 SM4-XCBC-PRF-128

    SM4-XCBC-PRF-128算法是一個帶有強制“10*序列填充”的基本CBC-MAC的變體,可保障任意長度信息安全。

    加密操作必須使用一個128位密鑰的SM4算法完成。本標準采用的SM4算法應符合國家對密碼管理的相關規定。

    給定128位密鑰K,SM4-XCBC-PRF-128按以下方式計算,信息M由n塊組成M[1] … M[n],M[1] … M[n-1]塊長度均為128比特,M[n]塊長度在1-128比特之間:

    按以下公式從128比特密鑰K生成3個128比特密鑰(K1,K2和K3):

    K1 = (01010101010101010101010101010101) 用密鑰K加密

    K2 = (02020202020202020202020202020202) 用密鑰K加密

    K3 = (03030303030303030303030303030303) 用密鑰K加密

    定義E[0] = 0x00000000000000000000000000000000

    對于每一個塊M[i],當i = 1 … n-1時:

    M[i] XOR E[i-1],之后把結果用密鑰K1加密,產生E[i]。

    對于塊M[n]:

    如果M[n]的塊大小是128比特:

    M[n]XOR E[n-1] XOR 密鑰K2,

    之后把結果用密鑰K1加密,產生E[n]。

    如果M[n]塊的大小小于128比特:

    M[n]不足的部分交替填充比特“1”之后是比特“0”(可能無)直到M[n]塊補齊到128位(這就是“10*序列填充”)。

    M[n]XOR E[n-1] XOR 密鑰K3,之后把結果用密鑰K1加密,產生E[n]。

    輸出結果是最后的128位塊E[n]。

    本文章首發在 網安wangan.com 網站上。

    上一篇 下一篇
    討論數量: 0
    只看當前版本


    暫無話題~
    亚洲 欧美 自拍 唯美 另类