タグ別アーカイブ: ブロック暗号

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

いきなりブロック暗号、ストリーム暗号といわれても意味がわからないと思いますので、それぞれの意味についてご案内したいと思います。簡単に違いを説明しますと、どちらも暗号化するときの「データの操作方式の違い」だと思って大丈夫です。


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


ブロック暗号とは、暗号化対象のデータをある一定の大きさ(データ量)ごとに区分(ブロック化)し、ブロック単位で暗号などの処理を行う方式の暗号です。


一方、「ビット単位」、若しくは、「1バイト単位」でデータに暗号化処理を行う方式をストリーム暗号と一般にいわれています。ブロック暗号の場合、64bitや128bit、256bit等の単位でデータをブロックごとに切って区分けします。

例えば、DESアルゴリズムやAESアルゴリズムでは、この区分けされた「ブロック単位」のデータに対し、内部で分割(例えば、64bitを32bitと32bitに分ける)し、さらに分割されたブロックに対して鍵データとの論理演算やデータの配置の交換などを何度も繰り返して暗号文を作成します。


※ 「7-zip」等の圧縮ツールでZIPファイルにパスワードを設定する際に選択できる「AES」も、実はこのブロック暗号の方式になります。



ブロック暗号やストリーム暗号の特徴

ブロック暗号の場合、上記で説明したようにブロック単位でデータを扱うため、データの「伝送誤り」が少しでも発生した場合、誤りが発生しなかった場合とは全く異なる暗号文が作成されてしまう、という特徴があります。


一方、ストリーム暗号の場合、データを暗号化するために必要となる暗号鍵を乱数(実際は擬似乱数)を用いて作成した鍵ストリーム(キーストリーム)を利用して平文を暗号化します。擬似乱数は、自然乱数により近ければ近いほど精度の高い擬似乱数(≒真性乱数)に近づいていき、暗号文の安全度が高くなるといわれています。



ブロック暗号にはたくさんの種類・方式があります。


  • CTR

    「ブロック暗号 ⇒ ストリーム暗号」という扱いが可能な特殊な暗号化方式である。

    zippassword.net.150430.1
  • ECB
    「ECB」といっても「欧州中央銀行」ではないのでご注意を。ECBモードは、「electronic codebook mode」の略称。暗号文自体にパターンが現れるという特徴があるため、アルゴリズムや平文をある程度類推することが可能になるというデメリットがある。他の暗号化方式と比べて秘匿性という点でやや劣る。
  • CFB
    「Ci = Ek(Ci-1) +PiCo=Ⅳ」これが暗号化の過程を表した論理式である。式だけでは意味がわからないと思うので以下のサイトを参考にするといいだろう。
    暗号利用モード(Wikiぺディア)


    • ストリーム暗号やブロック暗号単体のテーマだけでも一冊の本ができるほど暗号化方式の種類や内容の専門性、莫大な研究論文等、たくさんの文献が存在しています。ここでは取り上げることができないテーマについては別途、別のページでご紹介することにしましょう。



      http://www.zippassword.net/へ戻る