ブロック暗号化は、暗号化方式の一つで、ストリーム暗号化のようにビットごとに暗号化するのではなく、テキスト・ブロックごとに対称鍵暗号を適用します。 例えば、よく使われるブロック暗号化AESでは、予め選んだ128, 192または256ビットの鍵を使って128ビット長のブロックごとに暗号化します。ブロック暗号化は固定サイズブロックのビット列に対して作用する擬似 ランダム置換(PRP)の仲間です。PRPは、数学的に完全にランダムな置換と区別できない関数なので、信頼できないと証明されない限り信頼できると考え られています。
ブロック暗号化モードの操作は、同じ内容のテキスト・ブロックを同じ方法で暗号化してしまう機会を取り除くために開発され たもので、直前の暗号化ブロックから作られた暗号化テキストが次のブロックに適用されます。また、初期化ベクトル(IV)と呼ばれるビットの塊は、同じ平 文テキスト・メッセージが繰り返し暗号化されるような場合でも違う結果になるようにするために使われます。
ブロック暗号化にはCBC(暗号ブロック・チェーン)、CFB(暗号フィードバック)、CTR(カウンタ)、またGCM(ガウス・カウンタ・モード)、その他のモードがあります。上に説明したのはCBCモードの例です。
IVは最初の平文テキスト・ブロックと混合され、与えられた鍵とともに暗号化アルゴリズムが完了し、暗号化テキストが出力されます。そして、この暗号テキストの結果が続く平文テキスト・ブロックのIVの位置に使用されます。
CyaSSLにおけるブロック暗号化の実現、CyaSSL軽量、組み込み向けSSLライブラリに関して、ご質問などございましたら遠慮なくinfo@wolfssl.com (日本語:info@wolfssl.jp) にお問い合わせください。また、wolfssl.com (日本語:www.wolfssl.jp) をご参照ください。