【セキュリティ】 1ビットずつ暗号化!ストリーム暗号の正体|情報処理1000本ノック
ネットワーク通信など、リアルタイム性が求められる場面で活躍するのが「ストリーム暗号」です。データをまとめて処理するのではなく、流れてくる順に処理していくその仕組みを正しく理解しましょう。
1. 問題:逐次処理を行う暗号化方式
【 問題 】 データを一定のサイズ(ブロック)ごとにまとめて処理するのではなく、1ビットや1バイトといった単位で逐次(ストリーム状に)暗号化を行う方式を何と呼ぶでしょうか?
① 公開鍵暗号 ② ブロック暗号 ③ ストリーム暗号 ④ ハッシュ関数
2. 正解:暗号化の処理単位に関する正解
正解: ③ ストリーム暗号
3. 解説:データの流れを止めずに暗号化する
「荷物がトラック1台分たまったら出発する」のがブロック暗号なら、ストリーム暗号は「ベルトコンベアで流れてくる荷物をその場で一つずつ梱包していく」イメージです。待機時間が少ないため、通信の遅延を抑えることができます。
[ ストリーム暗号のポイント ]
・処理単位:1ビットや1バイトずつ逐次処理。
・特徴:暗号化・復号の処理速度が速く、ビットエラーの伝播が少ない。
[ 他の選択肢との違い ]
★ 公開鍵暗号:暗号化と復号で異なる鍵を使う方式。処理は重めです。
★ ブロック暗号:DESやAESのように、64bitや128bitなどの「塊」で処理する方式。
★ ハッシュ関数:データの改ざん検知に使われるもので、暗号化(復号)とは目的が異なります。
・処理単位:1ビットや1バイトずつ逐次処理。
・特徴:暗号化・復号の処理速度が速く、ビットエラーの伝播が少ない。
[ 他の選択肢との違い ]
★ 公開鍵暗号:暗号化と復号で異なる鍵を使う方式。処理は重めです。
★ ブロック暗号:DESやAESのように、64bitや128bitなどの「塊」で処理する方式。
★ ハッシュ関数:データの改ざん検知に使われるもので、暗号化(復号)とは目的が異なります。
1. 理解のコツ: ストリーム暗号は、鍵から生成した「擬似乱数列」と「平文」を排他的論理和(XOR)することで暗号文を作ります。このシンプルさが高速処理の秘密です。
2. 最新トレンドの視点: かつては無線LANのWEPで使われた「RC4」が有名でしたが、現在は脆弱性が見つかっています。最新のTLS 1.3などでは、より安全な「ChaCha20」などのストリーム暗号が注目されています。試験では「逐次処理=ストリーム」という紐付けが重要です。
4. まとめ
「データを小分けにして、流れるように処理する」。これがストリーム暗号の最大の特徴です。ブロック暗号との対比は情報処理技術者試験の定番ですので、処理単位とスピード感のイメージをセットで覚えておきましょう!
PR