2026年8月2日星期日

AES 加密演算法介紹(一):基本概念、規格與常見模式

 AES (Advanced Encryption Standard)

一、AES 是什麼

  • 對稱式加密
  • 區塊加密
  • 加密與解密使用同一把 Key
  • AES 本身不是 Hash,也不是 MAC
  • AES 本身只提供區塊加密能力,實際應用還需要搭配運作模式

     AES 是一種對稱式區塊加密演算法,主要用途是將可以直接閱讀的明文(Plaintext)轉換成無法直接理解的密文(Ciphertext)。持有正確金鑰的一方,才能再將密文解密回原始明文。

二、基本規格

  •     主要有以下三種,差異為金鑰長度及計算幾輪

AES 類型
Key 長度
Key 大小
Round 數
AES-128
128 bits
16 bytes
10
AES-192
192 bits
24 bytes
12
AES-256
256 bits
32 bytes
14

    •     無論使用 AES-128、AES-192 或 AES-256,AES 的區塊大小(Block Size)都固定為 128 bits,也就是 16 bytes。
    • AES-128、AES-192 與 AES-256 中的數字代表的是 Key Size,不是 Block Size。

    三、AES 核心輸入與輸出介面

    加密 AES_Encrypt(Key, PlaintextBlock) → CiphertextBlock

    解密 AES_Decrypt(Key, CiphertextBlock) → PlaintextBlock

    PlaintextBlock:16 bytes
    CiphertextBlock:16 bytes
    Key:16、24 或 32 bytes

     

    為什麼需要運作模式

    當資料長度為 100 bytes 時,AES Core 一次只能處理 16 bytes,所以需要規則決定

      • 如何分割資料
      • Block 之間如何連接
      • 是否需要 Padding
      • 是否需要 IV 或 Nonce
      • 是否驗證資料完整性
    五、AES 的五種常見模式

    模式
      完整性/認證   IV/Nonce/Counter    明文 Padding
    ECB
    否               不需要通常需要 
    CBC
    否               IV通常需要 
    CTR
    否               Counter Block不需要   
    GCM
      是,使用 Tag       IV/Nonce不需要   
    CCM
    是,使用 Tag       Nonce不需要   

        補充:Counter Block 通常由 Nonce 與遞增的 Counter 組成,詳細結構將於第五篇介紹。

    AES 的常見用途

    • HTTPS/TLS
    • VPN
    • Wi-Fi
    • 硬碟加密
    • 加密韌體映像
    • 安全韌體更新
    • 嵌入式系統
    • PSA Crypto
    • 金鑰儲存與資料保護
    七、小結

    AES 是一種對稱式區塊加密演算法,每次固定處理一個 128-bit,也就是 16-byte 的資料區塊。AES 支援 128、192 與 256-bit 三種金鑰長度,分別執行 10、12 與 14 輪核心運算。由於 AES Core 本身一次只能處理一個 Block,因此實際處理多個資料區塊或任意長度資料時,還需要搭配 ECB、CBC、CTR、GCM 或 CCM 等運作模式。下一篇將進一步介紹 AES Core 內部的主要運算流程。





    沒有留言:

    發佈留言

    打賞按讚