シーザー暗号は一番原始的な暗号系です。しかし現在の暗号の背景を知って頂くには手頃な例ですから,簡単に説明しましょう。
シーザー暗号はローマ皇帝のジュリアス・シーザーが使ったといわれる暗号です。原理は簡単でアルファベットをある数だけずらすというものです。例えば
という平文(暗号化する前の文のこと)を3文字ずらすことによって暗号化してみましょう。
となりますね。しかし,これでは解読されやすいのでスペースは取り去って
とした方が良いでしょう。
復号化(暗号文を平文に戻すこと)も簡単で3文字だけ元に戻せば良いわけです。次のようになります。
スペースを取り去っているので単語の区切りが分かりませんが,じっと眺めて意味のある単語ごとに区切っていけば,いずれ正しい区切りは発見出来るでしょう。この例では暗号を解く鍵は「3」という数字です。
しかし,アルファベットは26文字しかありませんから,鍵となっている「3」という数字が分からなくても 1,2,3,4,5,6,7,…… という具合に順番に調べていけば,いずれ意味をなす文章に行き当たるでしょうから解読はたやすいことでしょう。暗号化された文を入力すれば 1,2,3,4,5,6,7,…… と順番に総当たりで調べていき,辞書ファイルなどに登録されている単語と比較し,意味をなす文だけを出力するプログラムでも作ればずっと楽になります。
しかし,この方法は現在のインターネットに代表されるネットワーク社会では不都合な点が生じます。
しかし,ネットワークにおいてはこれまでのようにごく限られたユーザだけではなく,不特定多数のユーザが存在します。よって,これまでのように暗号を使って通信しようとするすべてのユーザがそれぞれ暗号化鍵・復号化鍵を保持していたのでは,ネットワークのすべてのユーザが互いに通信をするには莫大な数の鍵が必要になってしまい,とても実用的とはいえません。
さらに,復号化の方法が分かれば暗号化の方法も分かるので,その気になれば他人になりすまし銀行の口座からお金を引き落としてしまうなどといった犯罪にも悪用されかねません。そこで現代のネットワーク社会に対応した暗号系として考え出されたのが公開鍵暗号系です。