第3章 暗号技術の遷移
3−1 古典暗号
ドイツ軍が主に第二次世界大戦で使用した有名な暗号機に「エニグマ」と呼
ばれるものがあります。「エニグマ」は大使館などがドイツ本国と交わす通信
だけでなく、あらゆる戦場で幅広く使われていました。「エニグマ」は印刷装
置の無いタイプライターのような機械で、代わりに表示装置として「A」から
「Z」までのアルファベットのついた電球が並んでいます。
<図2>エニグマの図
では、仮に伝えたい暗号が「HELLO」であるとして「エニグマ」がどの
ように暗号を作り、またその暗号が解読されるかを具体的に説明します。
まず、必要なのは、暗号解読の「鍵」をセットすることです。「鍵」といっ
てもドアを開けるときに使うような物理的な鍵ではなく、3桁の数字です。こ
の数字はメッセージの送り手と受け手が必ず共有して持っていなくてはならな
い情報です。この「鍵」のことを暗号学では「秘密鍵」または「共有鍵」とい
います。コンピュータの暗号技術において「鍵」というものはすべて数字の羅
列であらわされます。トランクやロッカーについている錠前に数字式のものが
あります。爪をまわすと数字が0から9まで変わり、3桁の数字があうと錠前
があくしくみになっています。「エニグマ」にも同じような「爪」があり、こ
こで3桁の数字をセットします。
ここでは例として共通鍵が「123」であるとします。まずはじめに3つの
爪を回して「鍵」の番号を設定します。
鍵のセットを終えたら、まず「HELLO」の文字のなかの「H」からうち
はじめます。キーで「H」を叩くと、上部の電球の「S」が光ります。これは
「H」が「123」という鍵で「S」に暗号化されたという意味を示します。
同じように「E」「L」「L」「O」とたたいていくと文字ランプは「M」「Q」
「A」「E」と光ります。つまり、原文「HELLO」を暗号化した暗号文は
「SMQAE」となります。
<図3> エニグマを使用した暗号化作業の流れ
この暗号文を相手に送ることで、通信の途中で誰かに暗号文を見られても内
容がもれる心配はありません。また「エニグマ」が敵国の手になんらかの形で
渡ってしまったとしても、暗号鍵がわからないので簡単には解読できません。
受信者が受け取った「SMQAE」というメッセージを解読するには、受信
者も「エニグマ」を用意しておき、また「123」という「秘密鍵」も何らか
の方法で事前に知っていなくてはいけません。受信者は送信者と同じ様に「エ
ニグマ」の爪を回して「123」とセットし、「SMQAE」と順番にキーボ
ートをたたいていくと、表示用の電球が「HELLO」と光り、暗号文を解読
することができます。
<図4> エニグマを使用した復号化作業の流れ
当然、戦後、機械式暗号機はコンピュータとソフトウェアがそれに取って代
わり、鍵も3桁から何千桁もの膨大な数字の列にかわりました。
しかし、「送信者と受信者が秘密鍵を共有する」というこの方法には大きな
問題が2つあります。
ひとつは、「暗号の鍵をどうやって相手に届けるのか」ということです。暗
号の鍵を相手に届けるために暗号が必要であるというジレンマにおちいってし
まいます。また、もう一つの欠点は、「初めて会う人との秘密通信ができない」
という点です。
このような共通鍵を使った暗号アルゴリズムで現在使われているものは米国標
準規格のDESがあります。DESは暗号鍵に56ビットの数値を使っています。
金融機関や暗号化プログラムPGPではDESアルゴリズムを3回使ったトリ
プルDESが用いられています。また、PGPではIDEAというアルゴリズムも
採用されており、IDEAは128ビットの数値で暗号化を行っています。
では次に、これらの問題を解決する暗号法について説明します。