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"Outputciphertext in 16-byte blocksRequires 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
関連用語
DES
DES(Data Encryption Standard)は 1977 年に標準化された対称ブロック暗号であり、56 ビット鍵と 64 ビットブロックを用いる。鍵長が短いため廃れている。 用語集
3DES (Triple DES)
3DES は DES の拡張であり、同一データに 3 本の 56 ビット鍵で順に暗号化-復号-暗号化(EDE)を行う。有効鍵長 168 ビットで、DES から AES への移行案として用いられる。 用語集
Block Cipher
ブロック暗号は固定長のブロック(例: 128 ビット)を暗号化・復号する対称暗号であり、任意長のデータを扱うには運用モードが必要である。 用語集
Mode of Operation
運用モード(mode of operation)は、ブロック暗号を任意長のデータに適用するための方式で、暗号化時に複数の平文ブロックをどう連結するかを定義する。代表的なものにECB、CBC、CTR、GCMがある。 用語集
GCM (Galois/Counter Mode)
GCM(Galois/Counter Mode)は CTR 暗号と GHASH 認証を組み合わせた AEAD モードであり、機密性と完全性を同時に提供し、TLS 1.2/1.3 の推奨モードである。 用語集