ブロック暗号 (Block cipher)
きっかり1ブロックずつ暗号化する方式。2ブロック目をどう扱うかを定める暗号利用モードがなければ、使い物にならない。
ブロック暗号は、鍵の制御のもとで固定長のブロックを同じ長さのブロックに写す。数学的には置換(順列)の族であり、鍵ごとに1つが選ばれ、ランダムに選んだ置換と区別できないことが求められる。AESのブロック長は128ビット、DESと3DESは64ビットだ。
メッセージがちょうど1ブロックで済むことはまずないので、さらに2つが要る。最後のブロックを埋めるパディングと、ブロックをつなぐ暗号利用モードだ。実際には、安全性を左右するのはモードの選択である。同じ暗号でもECBとGCMでは結果が天と地ほど違う。これと対極にあるのがストリーム暗号で、鍵ストリームをビット単位で生成し、どちらの問題も避けられる。