12,964
回編集
(→OFBモード) |
|||
61行目: | 61行目: | ||
CBCモードは、暗号化がランダムアクセスに適さないため、暗号化は先頭から順次行う必要がある。<br> | CBCモードは、暗号化がランダムアクセスに適さないため、暗号化は先頭から順次行う必要がある。<br> | ||
また、復号がランダムアクセスに適しており、復号はランダムに選択した着目ブロックに対して操作できる。(1つ前の暗号文ブロックは必要である)<br> | また、復号がランダムアクセスに適しており、復号はランダムに選択した着目ブロックに対して操作できる。(1つ前の暗号文ブロックは必要である)<br> | ||
<br> | |||
==== CFBモード ==== | |||
CFBモード (Cipher Feedback Mode) は、AES暗号化アルゴリズムで使用されるブロック暗号の運用モードの1つである。<br> | |||
このモードは、ストリーム暗号のように機能して、平文を任意のビット長で暗号化することができる。<br> | |||
<br> | |||
CFBモードの主な特徴は、暗号文の生成時に、前の暗号ブロックの一部を使用することである。<br> | |||
これにより、各ブロックの暗号化が前のブロックに依存するため、暗号文にパターンが現れにくくなる。<br> | |||
<br> | |||
動作の流れを以下に示す。<br> | |||
# まず、初期化ベクトル (IV) を暗号化する。<br>その結果の一部と平文の最初の部分をXOR演算して、最初の暗号文ブロックを生成する。 | |||
# 次に、この暗号文ブロックを暗号化して、その結果と次の平文部分をXOR演算して次の暗号文ブロックを作る。 | |||
# この過程を繰り返して、全ての平文を暗号化する。 | |||
<br> | |||
CFBモードのメリットは、エラーの伝播が限定的であることが挙げられる。<br> | |||
一部の暗号文が破損しても、その影響は限られた範囲にとどまる。<br> | |||
<br> | |||
また、復号時に平文の長さが事前にわからなくても、リアルタイムで復号を行えるという特徴がある。<br> | |||
<br> | |||
一方で、CFBモードにはいくつかの注意点もある。<br> | |||
例えば、初期化ベクトル (IV) の選択が重要で、同じ初期化ベクトル (IV) を再利用すると安全性が低下する可能性がある。<br> | |||
また、並列処理が困難であるため、大量のデータを高速に処理する必要がある場合には適していない。<br> | |||
<br> | |||
CFBモードは、ネットワーク通信やストリーミングデータの暗号化等、リアルタイム性が求められる場面で特に有効である。<br> | |||
<br> | |||
ただし、使用する場合は適切な初期化ベクトル (IV) の管理や必要に応じて認証機能の追加等のセキュリティ上の考慮が必要である。<br> | |||
<br> | <br> | ||
==== OFBモード ==== | ==== OFBモード ==== |