Camellia
Camellia は三菱電機と NTT が共同設計した共通鍵ブロック暗号であり、128 ビットブロックと 128/192/256 ビットの鍵を用い、NESSIE と CRYPTREC の推奨アルゴリズムに採用された。
目的
AES と同等の安全性を持ちながら構造の異なる選択肢を提供し、日本や韓国、IETF プロトコルで広く利用される。
メカニズム
AES に似た S ボックスと P 関数を組み合わせた Feistel 構造(128 ビット鍵で 18 ラウンド、192/256 ビット鍵で 24 ラウンド)である。鍵スケジュールが各ラウンドのサブ鍵を導出する。AES とは構造が異なり、設計の多様性を与える。
ユースケース
- TLS 暗号スイート(日本や韓国で好まれる)
- IPsec ESP による暗号化
- 日本の電子政府システム
- IETF プロトコルでのオプションアルゴリズム
例
- 入力
key=128bit, data=16bytesOutput16-byte ciphertextNESSIE recommended
よくあるエラー
- Using Camellia on Western systems that lack hardware acceleration
- Evaluate platform support, or use AES-NI instead
関連用語
AES
AES(Advanced Encryption Standard)は NIST が 2001 年に確立した対称ブロック暗号であり、128/192/256 ビット鍵をサポートし、現代暗号化の事実上の標準である。 用語集
Serpent
Serpent は Ross Anderson らが AES コンペティション向けに設計した対称ブロック暗号である。128 ビットブロックと 128/192/256 ビット鍵を用い、大きなセキュリティ余裕で知られている。 用語集
Block Cipher
ブロック暗号は固定長のブロック(例: 128 ビット)を暗号化・復号する対称暗号であり、任意長のデータを扱うには運用モードが必要である。 用語集