12,964
回編集
(→OFBモード) |
(→OFBモード) |
||
104行目: | 104行目: | ||
<br> | <br> | ||
カウンタモードであれば、安全性が若干損なう可能性があるが、暗号化も復号もランダムに行えて便利である。<br> | カウンタモードであれば、安全性が若干損なう可能性があるが、暗号化も復号もランダムに行えて便利である。<br> | ||
<br> | |||
==== CTRモード ==== | |||
CTRモード (Counter Mode) は、AES暗号化アルゴリズムで使用される別のブロック暗号の運用モードである。<br> | |||
このモードは、ブロック暗号をストリーム暗号のように機能させて、高速で並列処理が可能な暗号化を実現する。<br> | |||
<br> | |||
CTRモードの基本的な動作原理は、カウンタ値を暗号化して、その結果と平文をXOR演算することで暗号文を生成するというものである。 | |||
# まず、初期値 (ノンス) とカウンタ値を組み合わせた値を暗号化する。<br>この暗号化された値は、キーストリームと呼ばれる。 | |||
# 次に、このキーストリームと平文をXOR演算することで暗号文を生成する。<br>カウンタ値は各ブロックごとに増加して、これを繰り返して全ての平文を暗号化する。 | |||
<br> | |||
CTRモードの大きな特徴の1つは、暗号化と復号が同じ操作で行えることである。<br> | |||
つまり、暗号化アルゴリズムのみを実装するだけでよく、ハードウェア実装が容易になる。<br> | |||
また、各ブロックの暗号化が他のブロックに依存しないため、並列処理が可能であり、高速な暗号化・復号を実現できる。<br> | |||
<br> | |||
さらに、CTRモードはランダムアクセスが可能である。<br> | |||
つまり、暗号文の特定の部分だけを復号することができる。<br> | |||
これは大きなファイルの一部だけを復号する必要がある場合等に有効である。<br> | |||
<br> | |||
ただし、CTRモードにも注意点がある。<br> | |||
例えば、同じ鍵とノンスの組み合わせを再利用する場合、セキュリティが著しく低下する可能性がある。<br> | |||
また、暗号文の改竄が容易であるため、認証機能を別途追加する必要がある。<br> | |||
<br> | |||
CTRモードは、その高速性と並列処理の特性から、大量のデータを扱うディスク暗号化やネットワークプロトコルでの利用に適している。<br> | |||
例えば、IPsecやSSL / TLS等のセキュリティプロトコルで使用されている。<br> | |||
<br> | |||
CTRモードを安全に使用するためには、適切な鍵管理とノンスの生成が重要である。<br> | |||
また、必要に応じて、GCM (Galois / Counter Mode) のような認証付き暗号モードを使用することにより、機密性と完全性を同時に確保することができる。<br> | |||
<br><br> | <br><br> | ||