CyberGlossary

暗号

ブロック暗号

定義

固定長の平文ブロックを秘密鍵で暗号化する対称暗号で、任意長のデータを扱うために通常は暗号利用モードと組み合わせて使う。

ブロック暗号は、固定長の平文ブロックを同じ長さの暗号文ブロックへ写す、鍵に依存した決定的置換です。例として DES は 64 ビット、AES は 128 ビットのブロックを扱います。内部では Feistel、置換・置換ネットワーク、Lai–Massey などの構造によるラウンド関数を、秘密鍵から派生した鍵スケジュールに従って複数回繰り返します。1 ブロックより長いメッセージを扱う際には暗号利用モードと組み合わせて使い、ECB(不安全・決定的)、CBC、CTR、ディスク向けの XTS、完全性も提供する認証付きモード(GCM、CCM、GCM-SIV)などが存在します。モード選択、IV/ナンス管理、ブロック長は安全性に直結し、現代のシステムでは AES など 128 ビットブロック暗号を認証付きモードで使うのが推奨されます。

  • AES は 128 ビットブロック暗号で、GCM、CBC、XTS などのモードで利用される。
  • DES は 64 ビットブロック暗号で、鍵長の短さから現在は時代遅れとされる。

関連用語