ブロック暗号
ブロック暗号は公開鍵暗号に比して高速であるため、公開鍵暗号と組み合わせたハイブリッド暗号では公開鍵暗号で暗号化されたセッション鍵を用いた本文の暗号化・復号に用いられる。
また、パスワードの保存のための一方向性関数として用いられたり (UNIXの/etc/passwd等) 、メッセージ認証コード (MAC) に用いられる。
擬似乱数列の生成にも用いられる (see NIST SP800-90) 。
ブロック暗号は、もとより鍵長 n {\displaystyle n} ビットに対して 2 n {\displaystyle 2^{n}} の計算量的安全性以上の安全性をもたない。すなわち、鍵の全数探索で必ず解読可能である(平均解読計算量は半分の 2 n − 1 {\displaystyle 2^{n-1}} となる)。 これは、ブロック暗号の鍵長を定める際に最も重要な要素の一つであり、現在DES(56ビット)が推奨されないのもその鍵長の短さが原因の一つである。
ただし、ブロック長 b {\displaystyle b} が b < n {\displaystyle b<n} である場合、ある通信文と暗号文の対(ペア)に対して、平均して 2 n − b {\displaystyle 2^{n-b}} の鍵候補が存在する。一つの通信文暗号文対では、鍵候補の中に真の暗号化鍵は存在するが、どの鍵候補が真の暗号化鍵であるかは判定できない。 p {\displaystyle p} 個の通信文暗号文対が存在して、 b p > n {\displaystyle bp>n} ならば、真の暗号化鍵が得られることが期待できる。
ブロック暗号(ブロックあんごう、英語: Block cipher)とは、共通鍵暗号の一種で、固定長のデータ(ブロックと呼ぶ)を単位として処理する暗号の総称である。これに対して、ビット単位やバイト単位で処理を行う暗号はストリーム暗号と呼ばれる。