共通鍵暗号の一種。
データを固定長のブロックに分割し、各ブロックを個別に暗号化します。
一般的に、ブロック長は64ビットや128ビットです。
ブロック暗号(ブロックあんごう、英語: Block cipher)とは、共通鍵暗号の一種で、固定長のデータ(ブロックと呼ぶ)を単位として処理する暗号の総称である。
これに対して、ビット単位やバイト単位で処理を行う暗号はストリーム暗号と呼ばれる。用途
ブロック暗号は公開鍵暗号に比して高速であるため、公開鍵暗号と組み合わせたハイブリッド暗号では公開鍵暗号で暗号化されたセッション鍵を用いた本文の暗号化・復号に用いられる。
また、パスワードの保存のための一方向性関数として用いられたり (UNIXの/etc/passwd等) 、メッセージ認証コード (MAC) に用いられる。
擬似乱数列の生成にも用いられる (see NIST SP800-90) 。標準
暗号標準として採用(もしくは推奨)されているブロック暗号には次のものがある。
- 64bit
- TDEA - ISO/IEC_18033, CRYPTREC
- MISTY1 -ISO/IEC_18033, CRYPTREC, NESSIE
- CAST-128 -ISO/IEC_18033
- CIPHERUNICORN-E - CRYPTREC
- Hierocrypt-L1 -CRYPTREC
- MULTI2 - ARIB限定受信方式
- KASUMI - 3GPP W-CDMAおよびGSM用の暗号
- 128bit
- AES -ISO/IEC_18033, CRYPTREC, NESSIE
- Camellia -ISO/IEC_18033, CRYPTREC, NESSIE
- SEED -ISO/IEC_18033
- CIPHERUNICORN-A - CRYPTREC
- Hierocrypt-3 -CRYPTREC
- SC2000 -CRYPTREC
- 256bit
- SHACAL-2 -NESSIE