暗号機エニグマへの挑戦
すでに古い本になってしまい恐縮ですが、「暗号機エニグマへの挑戦」という小説があります。昨年の秋ごろに平積みで売られていたので、そのころ出版された本だと思います。(奥付には96年9月1日発行と書かれています)
暗号機エニグマへの挑戦
ロバート・ハリス著/後藤安彦訳 新潮文庫1996
こんな感じの表紙です。探すときの参考にどうぞ。
これを読んだのは私がホームページの制作を始めるころと重なっていましたので、ずっと「いつか歯車のネタに取り上げよう」と思っていたのですが、私自身暗号機というものの理解が進んでいませんでしたので、登場が遅くなっていました。
今回は「暗号機エニグマ」を紹介します。
暗号
暗号の歴史は案外古いものです。
もともとは「他人に知られたくない通信文」を伝えるために工夫されたもので、これには大きく分けて2通りの手法があります。
1つは、通信相手とあらかじめ「伝えたい内容」と「通信文」の取り決めを作っておき、必要となった場合に通信文を送ることで内容を伝える手法。
日本軍が太平洋戦争で使った「ニイタカヤマノボレ」が奇襲作戦開始を伝える通信文、「トラトラトラ」が作戦成功を伝える通信文だった、というのがこの例です。
この方法は、通信文から内容が第三者に漏れることはありえません。その一方で、予測できない事態を伝えることは出来ないという欠点があります。伝えられるのは、あらかじめ予想して通信文を決めておいた内容だけなのです。
もう1つの方法、それが伝えたい文章を一定の方法で「暗号文」に翻訳する手法です。
もっとも単純な方法では、知られたくない第三者が知らないだろう外国語を使用するだけでも暗号化されたことになります。
また、実際に第2次世界大戦中にアメリカ軍が、ネイティブ・アメリカンのナバホ族を「暗号部隊」として前線に投入した例もあります。
しかし、この方法ではだれかがその言葉を知っているかもしれない、という不安点があります。
それでは、言葉はそのままでつづりを変えたり、文字の並びを変えたりする方法ではどうでしょう。
このことから、このタイプの暗号は「シーザー暗号」とも呼ばれます。
同じような例ではレオナルド・ダ・ビンチはアイデアを盗まれないように鏡文字でノートを取っていましたし、ピーターラビットの作者、ビアトリクス・ポターも文字をずらして日記を綴っていました。
推理小説の元祖といわれる、エドガー・アラン・ポーの「黄金虫」に出てくる暗号文もこの例だと言えるでしょう。
文字をずらすというのは、たとえばAをBに、BをCに、CをDに・・・として文章を書く方法で、私の名前 AKIYOSHI ならば BLJZPTIJ となります。
「2001年は、コンピューターが人間に氾濫を企てる話だ。HALはIBMを批判したものだという意見があるが、IBMは映画の制作にも協力していたので、怒らせるような真似はしようとも思わなかった」そうです。
文字の順番を変える方法では、古代ギリシアで使われていた手法があります。これは一定の太さの棒に螺旋状に細い布をまきつけ、そこに文章を書いたというものです。
この布を棒からとれば文章の並びはぐちゃぐちゃになり、この布を相手に届けて同じ太さの棒にまきつけてもらえば、通信内容が復元されます。
このように、暗号の作成と復元をするのに道具を使う場合、この道具を「暗号機」と呼ぶとすれば、この「棒」は、おそらく暗号機としてはもっとも古い部類に入るでしょう。
暗号機
現代で言われる「暗号機」は、第1次世界大戦の後に発明され、第2次世界大戦で活躍したものです。
基本構造はどれも似たようなもので、文字を入力するための入力部分と、暗号を制作する部分と、文字を出力する部分からなります。
暗号を制作する部分は、入力された文字を別の文字に置き換えるためのもので、先に上げた暗号の種類で言えば「文字をずらす」暗号になります。
文字をずらす方法はいろいろありますが、大きく分けると「暗号制作/解読でずらす方向を逆にする」手法と、「方向を切り替える必要はない」手法にわかれます。
たとえば、先ほど暗号化した私の名前は「文字を次の文字に置き換える」方法で作られました。これを元に戻すには、「前の文字に置き換える」というふうに、方向を逆にする必要があります。
これに対し、
ABCDEFGHIJKLMNOPQRSTUVWXYZ
ZYXWVUTSRQPONMLKJIHGFEDCBA
という表を用意し、上の文字を下の文字に置き換える、というふうにすれば、方向を変える必要はありません。
たとえば AKIYOSHI は ZPRBLHSR となり、これをもう一度変換すると AKIYOSHI に戻ります。
しかし、常に同じ表を使っていたのでは第三者にそのうちばれてしまいますから、これらの表は頻繁に取り替える必要があります。
上の表のように、どちら向きに読んでも同じ結果になる表は、これ以外にも多数あります。それらの表を用意しておき、適切なタイミングで変更すれば良いことになります。
そして、一般に暗号機では、この表を1文字ごとに変更するようになっています。
暗号機エニグマ
実際の動作を見てみましょう。エニグマの場合、入力部分はタイプライター式、出力部分はランプです。キーボードの文字を押せば、どこかの文字のランプがつくようになっています。
文暗号機エニグマ。白黒写真しかなかった・・・
手前に入力部、中央に出力部、奥に暗号制作部があり、さらに背面にはプラグを接続するところがある(背面は写真では見えない)。
この2つの間は、当然電気回路で結ばれていますが、途中の回路は回転する歯車の上に作られています。そして、この歯車は文字を入力する度に回転するのです。
さらにこの先の回路は、プラグで組み替えられるようになっています。こちらは文章全体を通じて固定ですが、第三者に暗号の解読キーを知られないようにするのに役立っています。
エニグマの場合、この仕組で文字の変換表を取り替えるようになっています。
複雑に変わる回路は、単に歯車の上を通過するだけではなく、通過した後に折り返して戻ってくる。なので、複雑さは歯車の数の2倍となる。
しかし、この回路構成の都合で、「折り返して」来た電気信号は、必ず元の場所とは違うところに到達する。(同じ場所に折り返してくるようでは電気が流れない)
これにより、エニグマは「Aを暗号化した結果は絶対にAにならない」という欠点を持ち、解読の際の足がかりとなる。
実際の通信の際には、通信相手と文字の変換表を合わせる必要があります。この変換表を第三者に知られては元も子もありませんから、この変換表はあらかじめ決めておきます。
変換表は、先に挙げたプラグの接続方法と、歯車の組み合わせで決定されます。
歯車は全部で3枚あり、それぞれ回路が異なります。この3枚をエニグマのどこにセットするかで暗号が変わりますから、その番号と位置を指定します。この組み合わせは6通りです。
さらにその歯車は26の位置で固定されるようになっている(26回動くと1回転する)ので、その位置も決定しなくてはなりません。3枚それぞれの位置を指定しますので、組み合わせは263=17576通りになります。
プラグは26文字のうち、自由に6つのペア(12文字)を接続します。この組み合わせ計算は複雑ですが、100391791500通りという数になります。
このすべての設定を正しくしないと、エニグマで通信を行うことは出来ません。その設定方法は、実に10000000000000000(1京)通り以上にもなります。
あとは、暗号作成側が通信文を入力し、出来た暗号文を通信するだけです。受信側は暗号文を入力するだけで通信文を得ることが出来ます。
もしも誰かに傍受されたとしても、正しい設定方法を知らなければ、内容を元通りにすることは出来ないでしょう。
暗号機エニグマへの挑戦
以上でエニグマの解説はおわりですが、小説の内容が気になる方もいるでしょう。
小説は、第2次世界大戦中のイギリスとドイツの間の諜報戦を縦軸に、主人公の恋愛物語を横軸に進みます。
エニグマはドイツの作成した暗号機で、すでにイギリス側は解読に成功し、情報は筒抜けになっていました。しかし、それは3枚歯車のエニグマの話。物語は4枚歯車のエニグマが使われ始めたところから始まります。
3枚なら可能な暗号の解読も、4枚になっただけで不可能になります。イギリスは日本と同じく島国ですから、アメリカからの救援物資が届かなくては戦争を続けられません。しかし、暗号が解読できないと危険で輸送船を動かせないのです。
手がかりはあります。エニグマの作成する暗号は、かならず「文字がずれる」のです。文字AがAになることは有りえません。だから、わかりきった通信文を大量に傍受できれば、そこから暗号解読の手がかりがつかめるのです。
ではどのようにして、「わかりきった通信文」を相手に発信させるか・・・
主人公は、ここで思いきった提案をし、一か八かの選択で、その提案が採用されます。そして、この作戦は実際に後の世まで語り継がれる大作戦となるのです。
ここからが物語のクライマックスだけど、話しちゃうとネタをばらすことになるので書きません。
興味の有る人は買って読みましょう。
参考文献 | |||
暗号機エニグマへの挑戦 | ロバート・ハリス著/後藤安彦訳 | 1996 | 新潮文庫 |
暗号解読 | サイモン・シン著/青木薫訳 | 2001 | 新潮社 |