CAVP crypto 113.10.09
Implements various cryptographic algorithms for CAVP validation.
 
Loading...
Searching...
No Matches
AES 簡介

AES測試中,需要實作以下5種AES模式

  • ECB (Electronic codebook)
  • CBC (Cipher-block chaining)
  • CFB8 (Cipher feedback)
  • CFB128 (Cipher feedback)
  • CTR (Counter mode)

每種模式下都有三種 keyLength:

  • 128 bits
  • 192 bits
  • 256 bits

(因此每種模式和每種keyLength搭配下一共有15組配對)

每一種配對要進行以下兩種測試

  • AFT測試 (Algorithm Functional Test)
  • MCT測試 (Monte Carlo Test)

AFT測試

AFT測試是最直觀的測試,就是測試加解密結果正不正確
AES中,只要測試加密和解密

加密函數

AES加密函數實作 aesEncrypt()

解密函數

AES解密函數實作 aesDecrypt()

MCT測試

MCT測試會需要對一組初始值重複做多次加解密,看看過程中是否都正確
詳細演算法要看這份文件
(過程中有output的地方都要檢查)

Remarks
要注意的是,每種AES模式的MCT測試流程有點不一樣

在我們的C語言實作中,每種AES版本的MCT測試都會有一個對應的函數,例如ECB模式的MCT加密測試函數是aesEcbMCTEncrypt()
以下是每種AES模式的MCT測試函數列表:

ECB模式

ECB模式的MCT加密測試函數 aesEcbMCTEncrypt()
ECB模式的MCT解密測試函數 aesEcbMCTDecrypt()

CBC模式

CBC模式的MCT加密測試函數 aesCbcMCTEncrypt()
CBC模式的MCT解密測試函數 aesCbcMCTDecrypt()

CFB8模式

CFB8模式的MCT加密測試函數 aesCfb8MCTEncrypt()
CFB8模式的MCT解密測試函數 aesCfb8MCTDecrypt()

CFB128模式

CFB128模式的MCT加密測試函數 aesCfb128MCTEncrypt()
CFB128模式的MCT解密測試函數 aesCfb128MCTDecrypt()

CTR模式

CTR模式的MCT加密測試函數 aesCtrMCTEncrypt()
CTR模式的MCT解密測試函數 aesCtrMCTDecrypt()