コンテンツへスキップ
uencoder

AES

AES(Advanced Encryption Standard)は NIST が 2001 年に確立した対称ブロック暗号であり、128/192/256 ビット鍵をサポートし、現代暗号化の事実上の標準である。

目的

DES(鍵過短)に代わり、安全・高速・ハードウェア加速に適した対称暗号化方案を提供する。

メカニズム

128 ビットブロック上で複数ラウンドの変換を実行:SubBytes(S-box 置換)、ShiftRows(行移位)、MixColumns(列混合)、AddRoundKey(ラウンド鍵 XOR)。ラウンド数は鍵長で決定(10/12/14 ラウンド)。鍵拡張が各ラウンド鍵を生成する。

ユースケース

  • TLS データ暗号化
  • ファイルとディスク暗号化(LUKS、FileVault)
  • VPN トンネル(IPsec/IKE)
  • データベースフィールド暗号化

例

  • 入力
    key=256bit, data="hello"
    Output
    ciphertext in 16-byte blocks

    Requires a mode of operation and an IV

よくあるエラー

Using ECB mode makes identical plaintext blocks produce identical ciphertext blocks
Use GCM, or CBC with a random IV

関連用語

関連ツール

References