#風邪引いて寝込みながら、こんなことをやっている自分に疑問を持たないでもなかったりしますが、そんなこたー置いといて。
では、そろそろ暗号の使われ方の話でも。
#忘れた頃にやってくる?
と、そういうわけで共通鍵暗号方式の話です。(どーゆーわけだ?)
英文を直訳すると秘密鍵暗号とでもよぶべきところですが、ここでは共通鍵暗号と呼ぶことにします。後で出てくるprivate keyと紛らわしくなるからです。
共通鍵暗号とは、ざっとこの図に示したような方式です。一般的な暗号のイメージ通りですね。
暗号の世界で登場する人は順に Alice、Bob、Carol、Dave、Ellen と相場が決まっているようなので、慣習に倣ってみました。まぁ、名前と絵が合ってないようにも思えますが、気にしないように(笑)。
Alice は Bob に対して、他の人には秘密の連絡をしたかったとします。このために Alice は連絡内容を記した書面を暗号化します。この書面は Bob に渡されるまでは暗号化されています。
ですので、郵便配達人を装った Carol がそれを覗き見たとしても、その内容を知ることはできません。復号に利用するための鍵は、Alice と Bob しか持っていないのですから。
暗号化された書面を受け取った Bob は、Alice から事前に受け取っていた鍵を利用して書面の復号を行います。これにより、Alice と Bob は秘密を共有することができるようになる、というわけです。
以上から、共通鍵暗号方式の特徴をざっと整理してみます。
これは、暗号化に用いる鍵と復号に用いる鍵が共通、ということで、シンプルに実現が可能な方式です。そのため比較的高速な処理が可能になっています(何に比べて、という話は後述します)。
また、当たり前ですが、鍵を持っていない第三者に対しては、情報は秘匿されます。
それに対し、課題としては鍵の管理が挙げられます。Alice と Bob が鍵までも人を介してやりとりしたとすると、そこで鍵が漏れてしまうかもしれません。そうすると、以降、すべての情報が Carol に筒抜けになってしまうリスクがあります。
ですので、基本的に郵便を利用したやりとりをする場合でも、鍵だけは直接対面して手渡しなどの運用をする必要があるわけです。
さらに問題が複雑になるのは、三者以上で情報を共有する場合です。
Alice と Bob の秘密のネットワークに Dave が加わったとします。そうすると、Dave とも鍵を共有しなければなりません。ここで、Alice と Bob がどれだけ厳密に鍵の管理を行ったとしても、Dave がうっかり Carol に鍵を漏らしたりすることが考えられます。そうすると、Carol が Alice から Bob に宛てた暗号文を読んだり、Bob を装って Alice に暗号文で書面を送ったりすることも可能になります。
ですので、共通鍵暗号は基本は1対1で使用すべきものであり、対象を広げると信頼性は急激に低下することとなります。
では、どうすればよいか、という話ですが、その前にこの共通鍵暗号の代表である DES について触れてみたいと思います。
ここまでのPowerPointデータはこちら最新エントリです。
では、次回はDESです、ということで。
#さぁて、このペースでいつ終わるんだろうかなぁ。