ブロック暗号とは【用語集詳細】
ブロック暗号(Block Cipher)は、平文を固定長サイズのブロックに分割し暗号処理を行う共通鍵暗号の方式です。
ブロック暗号は、入力されたブロックを鍵を用いて暗号化し、同一サイズの暗号文を出力します。対して、ストリーム暗号は平文を1ビットあるいは1バイトごとに暗号化します。
ブロックのサイズは通常64ビット、128ビット、192ビットです。鍵の長さとブロックのサイズは、暗号アルゴリズムの強度に影響します。
NISTおよびFIPSは、推奨するブロック暗号としてAESとトリプルDESを挙げています。かつてはDESやSkipjackもNISTによって推奨されていましたが、現在はいずれも推奨から差し戻しされています。
ブロック暗号アルゴリズムは、暗号処理に際し特定のモードを利用します。モードには様々な種類があります。
NISTは、NIST SP 800-38A「ブロック暗号運用モードの方法と技術(Recommendation for Block Cipher Modes of Operation Methods and Techniques)」において、以下の5つのモードを提示しています。
- ECB(Electronic Code Book)
- CBC(Cipher Block Chaining)
- CFB(Cipher Feedback)
- OFB(Output Feedback)
- CTR(Counter)
また、ブロック暗号に対する攻撃(解読法)として、差分解読法および線形解読法などがあります。