1gの勇気

奥手な人の思考と試行

[情報SEC]第38回 暗号の基礎

2006-04-02 14:38:09 | 1gの情報セキュリティ
第38回 暗号の基礎

暗号とは
1.ある決められた約束事に従い、
2.固有の値を用いて他の文字/記号を変換すること。

たとえば、HAL。
2001年宇宙の旅にでてきたコンピュータだ。
この名前もまた一種の暗号といえる。

この三文字を
2.アルファベット順に(固有の値)
1.一ヶずつずらす(約束事)

と、IBMとなる。
五十音順にずらすとか、クイズなどでもよく使われる簡易(安易)な手法。
これも一種の暗号化です。

主な暗号方式として、次の二つがある。(三つ目として両方つかうものもある。)
1.共通かぎ暗号方式
  同じ暗号鍵を使って暗号化するもの。
  簡易で昔からある方式で、今でも重要な技術。
  両者(暗号する人複合する人)が同じ鍵(パスワードみたいなもの)を持っている
  必要があるため、この鍵を安全に双方が知る・使う必要がある。
  有名なものとして、DES(です)、3DES(とりぷるです)、AES(読み方不明)がある。

2.公開鍵方式
  秘密鍵と公開鍵というのを使って行う方式。
  鍵を二つ作り、一つは秘密にし、一つは公開する。
  秘密鍵で暗号化したものは、公開鍵で復号可能。(秘密鍵では復号できない。)
  公開鍵で暗号化したものは、秘密鍵で復号可能。(公開鍵では復号できない。)
  なので、Aさんに暗号化した情報を送りたい場合は、Aさんの公開鍵で暗号化する。
  すると、秘密鍵を持っているAさんしかこれを復号することはできない。
  もう一つ。
  Aさんが秘密鍵で暗号化したものは、Aさんの公開鍵でしか復号できない。
  つまり、その暗号化された情報はAさんが、Aさんしかしらない秘密鍵で
  暗号化したものであることが証明できる。
  一般に電子署名と呼ばれるのが、これ。
  ちなみに一般的に使われている公開鍵暗号方式はほとんどRSAです。
  もうひとつ、認証局ですが、これは公開されている鍵が本物であることを
  保障するためのシステムです。
  偽物のAさんの鍵を本物として使われては、意味ないので。

ここでSSLの話をひとつ。
SSLは暗号化された通信ですし、公開鍵暗号化方式です。
でも公開鍵暗号化方式は計算にCPU負荷がかかるのです。

そこで。SSLでは、秘密鍵を安全に相手に送る手段として公開鍵方式を使っています。
なので、通信自体は秘密鍵(CPUに比較的負荷がかからない)を使っています。
この本に書いてあるハイブリッド方式にあたります。

ハッシュ関数
これまでにも何度か出てきましたが、これは不可逆暗号を作るものです。
元には戻せないが、同じものを確実に作れる仕組み。

いろんなところで密かに使われております。
現在はMD5やSHA-1(水神はシャー読んでます。たぶんエスエッチエイが正しい。)が主流。
MD5はPHPにも実装されているので、簡単に作れます。(JavaにもPerlにもあるでしょ。)


最新の画像もっと見る

コメントを投稿