ブロック暗号の基本スキームは以下のように描かれます –
ブロック暗号は平文ビットのブロックを取り、一般的に同じサイズの暗号文ビットのブロックを生成します。 ブロックの大きさは与えられた方式で固定されている。 ブロックサイズの選択は、暗号化スキームの強度に直接影響するわけではありません。 暗号の強さは鍵長に依存する。
ブロックサイズ
ブロックのサイズは何でもよいが、ブロックのサイズを選択する際に以下の点に注意する必要がある。 そして、可能な平文ビットの組み合わせは、2mになります。 もし攻撃者が、以前に送信された暗号文ブロックに対応する平文ブロックを発見した場合、攻撃者はその暗号鍵を使用して送信された平文/暗号文ペアの辞書を構築することにより、一種の「辞書攻撃」を仕掛けることができます。 ブロックサイズを大きくすると、辞書を大きくする必要があるため、攻撃が難しくなります。
ブロックサイズをあまり大きくしない – ブロックサイズが非常に大きい場合、暗号は動作が非効率的になります。 そのような平文は暗号化する前にパディングする必要がある。
Multiple of 8 bit – 好ましいブロックサイズは8の倍数で、ほとんどのコンピュータプロセッサが8ビット単位のデータを扱うので実装が簡単である。 平文の長さはブロックの大きさの倍数でないことがほとんどです。 例えば、150ビットの平文では、64ビットのブロックが2つあり、3番目のブロックはバランス22ビットになります。 最後のブロックの長さがスキームのブロックサイズと等しくなるように、ビットの最後のブロックは冗長情報でパディングされる必要があります。 この例では、残りの22ビットにさらに42ビットの冗長ビットを追加して完全なブロックを提供する必要がある。 最後のブロックにビットを追加するプロセスは、パディングと呼ばれます。
パディングが多すぎると、システムは非効率的になります。
ブロック暗号方式
膨大な数のブロック暗号方式が使用されている。 その多くは一般に知られている。
-
Digital Encryption Standard (DES) – 1990年代に流行したブロック暗号です。 現在では、主に鍵のサイズが小さいため、「壊れた」ブロック暗号とみなされている。
-
Triple DES – DESを繰り返し適用した上での変形スキームである。
-
Advanced Encryption Standard (AES) – 暗号化アルゴリズムRijndaelに基づく比較的新しいブロック暗号で、AES設計競技に優勝した。
-
IDEA – ブロックサイズ64、キーサイズ128ビットで十分に強いブロック暗号である。 PGP(Pretty Good Privacy)プロトコルの初期バージョンなど、多くのアプリケーションでIDEA暗号が使用されている。 2945>
-
Twofish – ブロックサイズ128ビットと可変長のキーを使用するブロック暗号のスキーム。 AESの最終候補の一つであった。
-
Serpent – ブロックサイズ128ビット、鍵長128、192、256ビットのブロック暗号で、これもAES大会の最終選考に残ったものです。 他のブロック暗号より速度は遅いが、より安全な設計となっている。
次のセクションでは、まずブロック暗号のモデルについて説明し、次に現代のブロック暗号の中で最も影響力のあるDESとAESを紹介する。