1. カメラ
  2. カーオーディオ&エレクトロニクス
  3. ホームオーディオ
  4. パーソナルオーディオ
  5. テレビ
  6. スマートホーム
  >> 電子技術オンライン >  >> スマートホーム >> スマートライフ

ストリーム暗号とブロック暗号の違いは?

暗号とは、読み取り可能なテキスト (プレーンテキスト) を読み取り不能なテキスト (暗号テキスト) に変換するために使用される一連の数学的な規則 (アルゴリズム) です。ストリーム暗号とブロック暗号の主な違いは、ストリーム暗号はテキストのストリームを一度に 1 ビットまたは 1 バイトずつ処理するのに対し、ブロック暗号はテキストのブロックを処理することです。

ストリーム暗号

ストリーム暗号の基本的な考え方は、テキストを 1 ビットまたは 1 バイトの長さの小さなブロックに分割し、前の多くのブロックに応じて各ブロックをエンコードすることです。ストリーム暗号は、ビットまたはバイトごとに異なる暗号化キー (アルゴリズムに入力する必要がある値) を使用するため、同じビットまたはバイトが暗号化されるたびに異なる暗号文が生成されます。一部のストリーム暗号は、ランダムまたはほぼランダムなビット ストリームを生成するキーストリーム ジェネレータを使用します。暗号は、キーストリームのビットと平文のビットの間で排他的 OR と呼ばれるブール演算を実行して、暗号文を生成します。

ブロック暗号

ブロック暗号の基本的な考え方は、テキストを比較的大きなブロック (通常は 64 ビットまたは 128 ビット) に分割し、各ブロックを個別にエンコードすることです。各ブロックには同じ暗号化キーが使用され、各ブロックで置換、転送、およびその他の数学関数が実行される順序を決定するのは暗号化キーです。強力なアルゴリズムとは、暗号をリバース エンジニアリングすること、または各ブロックでどの機能がどの順序で実行されたかを判断することは事実上不可能であることを意味します。

拡散と混乱

ブロック暗号は、混同と拡散として知られる手法を使用して、平文を暗号文に暗号化します。混乱の背後にある考え方は、暗号化キーと暗号文の関係をできるだけ複雑にすることです。理想的には、暗号化キーのすべての文字が暗号文のすべての文字に影響を与える必要があります。対照的に、拡散は平文の各文字の影響を暗号文の複数の文字に分散させ、暗号が統計的攻撃を受けにくくします。

長所と短所

ストリーム暗号が一度に 1 ビットずつデータを暗号化および復号化するという事実は、オーディオやビデオ アプリケーションなどのリアルタイム ハードウェア アプリケーションに特に適していることを意味します。ストリーム暗号は、ソフトウェア アプリケーションに関しては、ブロック暗号よりも脆弱で効率が低く、その分野ではあまり使用されません。ブロック暗号は、ソフトウェアが既に使用している長さのブロックでデータを暗号化するため、ソフトウェアでの実装が容易です。多くの場合、暗号化キーはブロック サイズと同じ長さです。