什麼是AES(進階加密標準)

Advanced Encryption Standard的縮寫。由美國NIST於2001年以FIPS 197標準化的對稱式區塊加密,是目前使用最廣泛的加密演算法。區塊長度為128位元,金鑰長度為128、192或256位元,輪數依金鑰長度分別為10、12、14輪。以比利時研究者設計的Rijndael為基礎。加密較長的資料時,要與GCM或CTR等區塊加密操作模式搭配使用。許多CPU具備AES-NI這類專用指令。

日文名稱: AES

「AES(進階加密標準)」出現在4領域的10道練習題中(密碼學基礎與應用, 硬體安全, 量子電腦硬體等)。

這個名詞所屬的領域: 密碼學基礎與應用

輪的處理

每一輪由4個步驟組成:逐位元組的非線性替換(SubBytes)、逐列的位移(ShiftRows)、逐行的混合(MixColumns),以及與輪金鑰的XOR(AddRoundKey);最後一輪省略MixColumns。輪金鑰由原始金鑰經金鑰排程產生。反覆進行這些輪,可使明文或金鑰中1位元的差異擴散到整個輸出。

安全性的參考

AES-128的金鑰候選有 2¹²⁸ 個(約3.4 × 10³⁸ 個),暴力破解並不實際。即使是已知最好的攻擊,也只比暴力破解稍快。若考慮量子電腦的Grover演算法,依單純的估算安全性的位元數會減半,因此需要長期安全性的用途有時會選擇AES-256。

實作上的注意

以軟體查表的實作中,讀取了哪個位置會殘留在快取的狀態裡,可能被利用快取的旁通道攻擊推測出金鑰。使用AES-NI等專用指令,或不使用查表的恆定時間實作,就能避免這個問題。此外,即使AES本身安全,使用ECB模式或重複使用nonce等用法上的錯誤,也會使安全性喪失。

練習AES(進階加密標準)的題目

目前廣泛使用的區塊加密AES,其區塊長度與金鑰長度的組合,正確的是下列何者?

  1. A區塊長度為128位元,金鑰長度為128、192、256位元其中之一
  2. B區塊長度為64位元,金鑰長度為56位元
  3. C區塊長度與金鑰長度都可以從128、192、256位元中任意組合選擇
查看答案與解析

正確答案:A. 區塊長度為128位元,金鑰長度為128、192、256位元其中之一

AES是美國NIST於2001年以FIPS 197標準化的區塊加密,區塊長度固定為128位元,金鑰長度有128、192、256位元三種。依金鑰長度,輪(轉換的重複)的次數為10、12、14輪。作為其基礎的Rijndael在設計上也可以選擇區塊長度,但被標準化為AES的只有128位元的區塊。區塊長度64位元、金鑰長度56位元,是AES之前的標準DES的值。

以AES的ECB模式加密影像資料後,在加密後的影像中仍能辨認出原圖的輪廓。其原因正確的是下列何者?

  1. AAES的金鑰太短,有一部分區塊沒有被加密而原樣保留
  2. BECB模式會自動為每個區塊產生不同的金鑰,這些金鑰的圖樣出現在加密後的影像中
  3. CECB模式中相同的明文區塊一定會變成相同的密文區塊,因此相同顏色部分的圖樣會留下
查看答案與解析

正確答案:C. ECB模式中相同的明文區塊一定會變成相同的密文區塊,因此相同顏色部分的圖樣會留下

ECB(電子密碼本)模式只是用同一把金鑰把各區塊分別獨立加密的方式。因此,明文中若有內容相同的區塊,密文中相同的位置也會出現相同的區塊。在背景這類同一顏色連續的影像中,哪裡是相同顏色的資訊會被保留,加密企鵝影像的例子相當有名。因此,加密一般資料時不使用ECB模式,而是使用即使明文相同、每次也會產生不同密文的CBC模式、CTR模式、GCM等。

常見問題

AES-256比AES-128安全2倍嗎?

以暴力破解的工作量來比較,不是2倍而是 2¹²⁸ 倍。不過AES-128在傳統電腦上的暴力破解已經不實際,因此多數用途兩者都足夠。AES-256會在希望對量子電腦保留餘裕,或法規要求時選用。處理量大致與輪數成正比,AES-256約為AES-128的1.4倍(14 ÷ 10)。

只靠AES就能安全保護資料嗎?

AES是轉換1個128位元區塊的元件,單靠它既無法加密較長的資料,也無法偵測竄改。實際上要以GCM這類鑑別加密的模式使用,正確管理nonce,並安全地產生與保管金鑰。

解析中的「AES(進階加密標準)」

出現「AES(進階加密標準)」的題目(10題)

  1. 目前廣泛使用的區塊加密AES,其區塊長度與金鑰長度的組合,正確的是下列何者?
  2. 以AES的ECB模式加密影像資料後,在加密後的影像中仍能辨認出原圖的輪廓。其原因正確的是下列何者?
  3. 以CBC模式使用AES時,初始向量(IV)的處理方式中,適當的是下列何者?
  4. 以CBC模式使用AES(區塊長度16位元組),填充採用PKCS#7方式。PKCS#7方式中,若不足的位元組數為n,就加上n個值為n的位元組;明文長度恰為16的倍數時,也要加上16個值為16的位元組。加密96位元組的明文時,密文的長度(不含IV)為下列何者?
  5. TLS 1.3的加密套件 TLS_AES_128_GCM_SHA256 所指定之內容的組合,正確的是下列何者?
  6. 讓CPU具備AES密碼專用指令(AES-NI等)的優點中,除了速度之外還可舉出下列何者?
  7. 大規模容錯量子電腦實現時,一般認為安全性會因 Shor 演算法而大幅受損的密碼是下列何者?
  8. 下列何者正確描述對稱式加密的特徵?
  9. 在對稱式加密中,關於區塊加密與串流加密之差異的說明,正確的是下列何者?
  10. 設 1 GiB = 2³⁰ 位元組、1 EiB = 2⁶⁰ 位元組。以CBC模式使用區塊長度64位元的區塊加密(3DES等),用同一把金鑰加密大量資料。把密文區塊視為隨機的64位元值時,根據生日悖論,出現相同密文區塊之配對的機率變得不可忽視的資料量參考值為下列何者?

相關名詞

區塊加密操作模式 鑑別加密(AEAD) 對稱式加密 Nonce TLS RSA加密 迪菲-赫爾曼金鑰交換 雜湊函數 HMAC Shor 演算法

前往名詞解釋列表