NIST GCM模式學習

1. Elements of GCM

  Block Cypher

    GCM是分組加密算法(NIST的AES,我國國標SM4)的一種操做模式算法

    須要選擇分組加密算法兩個函數中的一個做爲向前函數函數

  Two GCM Functions

    兩個GCM函數成爲authenticated encryption 和 authenticated decryption加密

    authenticated encryption進行數據加密運算,並計算出一個authentication tag3d

    authenticated decryption驗證authentication tag,解密。component

 

    當輸入數據限定爲非機密數據時,這種變種GCM成爲GMACblog

    相應的authenticated encryption 和 authenticated decryption變成了對非機密數據的authentication tag的產生和驗證ip

  Authenticated Encryption Function

    對於給定的分組塊和密鑰,認證加密函數有3組輸入:ci

    1.  明文,成爲Prem

    2.  額外的認證信息,稱爲AADit

    3.  初始化向量,稱爲IV 

    GCM須要確保明文和AAD的真實性,保證實文的保密性,不保護AAD的保密性;如AAD能夠是一些端口,地址等非祕密信息

    信息長度要求:

    len(P) ≤ 2^39-256;
    len(A) ≤ 2^64-1;
    1 ≤ len(IV) ≤ 2^64-1.

    明文,AAD以及IV應當是8bit的整數倍長度

    函數的輸出以下:

    1.  加密後的密文,長度同明文,用C表示

    2.  authentication tag,用T表示

  Authenticated Decryption Function

    給定IV,AAD,C,T的值,認證解密函數輸出爲以下其中之一:

    1.  解密後的明文

    2.  錯誤代碼

    輸出明文則代表T是正確的關於IV,A,C的authentication tag,不然輸出錯誤代碼,

 

2.  Mathematical components of GCM

  Incrementing Function

                             

 

  

  Multiplication Operation on Blocks

        

 

         

      

      

 

 

  GHASH Function

    

 

   GCTR Function

      TBD....

GCM Specification

相關文章
相關標籤/搜索