たぬきのためふんば

ここにはめたたぬきが糞をしにきます。

『イミテーション・ゲーム』という冗字に満ちた暗号

 サイモン・シンの『暗号解読』を読んだので『イミテーション・ゲーム』を見直してみました。

 『イミテーション・ゲーム』はアラン・チューリングの人生を描いた映画です。

 第二次世界大戦中、ドイツは通信文をエニグマという強力な暗号機で暗号化していました。この暗号文を解読できるかどうかに、連合軍、ひいては民主主義や自由主義の存亡がかかっていました。

 このエニグマの解読において傑出した働きを見せたのが、イギリスの天才数学者アラン・チューリング。彼は今日のコンピューターの原型を構想し、その知見によって見事にエニグマ解読に大きな貢献をしたのです。


www.youtube.com

 『暗号解読』においても、エニグマ解読について詳細に描写されています。読む前と後とでは『イミテーション・ゲーム』の見方も変わるのではないか? そんなことを思って観始めたら、面白いくらいにそのとおりでした。

 というのも、嘘(と思われる描写)がかなり多いのです。

 下のサイトは"Based on a True Story"な映画がどれくらいBased on a True Storyなのかをグラフにしてくれているサイトです。

www.informationisbeautiful.net

 これを見ても、イミテーション・ゲームの真実あるいは真実っぽい部分は42.3%しかないことが分かります。

 

 私が見ていて気になったところを具体的にあげていきます。

頻度分析をするわけがない

 暗号解読機を作ろうとするチューリングに対し、他のメンバーが「俺たちは文字の使用頻度の分析で暗号文をかなり読み取った。なのにお前は働かずに何をやっている?」と罵る場面があります。

 これは大嘘もよいところです。なぜならエニグマに頻度分析は通用しないし、そんなことはエニグマ保有していたイギリスの暗号解読本部においては当たり前の大前提だったからです。

 このシーンがどれだけおかしいかを理解するには、暗号について少し学ぶ必要があります。

暗号の種類

 暗号には大きく分けて二種類あります。

  • 転置式暗号 文字の配置をバラバラにすることで文を解読不能にする暗号
  • 換字式暗号 文字を別の文字に置き換えて文を解読不能にする暗号
転置式暗号

 たとえば、転置式暗号の具体例は下のようなものです。

「転式号文の置ババにると文解不にる号置暗 字配をララすこでを読能す暗」

 これは上に書いた転置式暗号の説明文を暗号化したものです。説明文で使った文字はそのままに、順番をバラバラにしています。

 暗号は復号して元の文に戻せなければいけないので、不規則にバラバラにするわけにはいきません。暗号化にはルールがあって、そのルールを知っている人だけが解読することができます。逆に言えば、このルールを突き止めさえすれば暗号を解読できることになります。

 この暗号文の場合は、まず前から奇数番目の文字を抽出して元の順番通りに並べ、次に偶数番目の文字を順番通り並べて作っています。この法則性さえ見抜けば解読ができます。

換字式暗号

 換字式暗号は文字を別の文字に置き換えて暗号化する手法です。

 最も有名なのがカエサル暗号です。下のように、アルファベットを三つ前の文字に変換して暗号文を書くのです。

変換前:ABCDEFGHIJKLMNOPQRSTUVWXYZ

変換後:XYZABCDEFGHIJKLMNOPQRSTUVW

 例えば、Appleと受信者に伝えたいと思ったら、変換前の文字の下にある文字を使って(フォントの関係上ズレて見づらいですが……)Xmmibという暗号文を送ります。

 暗号文を受け取った側は逆に、Xmmibを構成する各文字を、変換後の文字の上にある文字に置き換えていくことで、Appleという言葉を再現することができます。

 これはかなり簡単な方法です。ずらす数を増やしたり減らしたりすればパターンは増えるものの、それでも25パターンしかありません(アルファベットの文字数は26。26文字分ずらすと変換前と変換後が同じになってしまうので25パターンとなります)。ですから、カエサル暗号であることにさえ気付けば、誰でも総当たりで簡単に解読できてしまいます。

 これをより複雑にするにはどうすればよいかというと、変換後の文字をABC順にしないことです。

A→V

B→D

C→L

……

といった具合に、完全にランダムな文字の対応にすればよいのです。これを単アルファベット換字式暗号といいます。

 完全にランダムな対応表によって作った暗号文がこちら!

W'u mq eiy emh mo eiy zmskg kmmxwq' gmzq mq lsyvewmq vqg eiy mqkb yahkvqvewmq W lvq owqg. Wt eiy kmpy eive W'py omrqg ypys twqly bmr'py dyyq vsmrqg. Bmrs kmpy hre uy emh mo eiy zmskg.

 あなたはこの暗号が解けるか!?

 暗号の解読には変換前の文字と変換後の文字の対応を突き止めないことにはどうしようもありませんが、総当り式に対応表を突き止めるのは不可能です。

 換字式暗号の文字の対応表の作り方は26!通りあります。これは400𥝱(4兆の1兆倍)にも及ぶ数字です。一秒に一つの対応表を試すとなると宇宙の年齢の十億倍の時間がかかります。全人類が力を合わせても文明が滅びるまでに正解にたどり着くことはできないでしょう。これに比べれば元気玉で倒せる魔人ブウは大したことのない敵です。

 極めて強力な暗号であることが分かるでしょう。

換字式暗号を打ち破る頻度分析

 しかし、この強力な換字式暗号にも弱点があります。

 文章にはよく使われる文字とあまり使われない文字があることです。英語であれば頻出する文字はE、T、Aです。

 ということは、暗号文中に出てくる文字の数を調べれば、どれがどの文字なのかはだいたいあたりがつきます。

 上の暗号文に登場する文字で多いのはM、Y、Q、Eです。このうちのどれかがE、T、Aである可能性が高そうです。

 上の暗号文にはスペースがあるので、それもヒントになりそうです。たとえば、三文字で英文に頻出する単語といえば"THE"があります。

 上の暗号文中には"eiy"が5回も登場します。もしこれが"the"なのだとしたら、一気に

E→Y

H→I

T→E

の対応がわかってしまいます(左が変換前、右が変換後)。EとYはこの暗号文中で頻出文字だし、EとTは英文における頻出文字なので、その観点からいっても、この見方は有望です。

 このように文字の出現頻度を突破口にして暗号解読を行う手法を頻度分析といいます。

 ちなみに、上の暗号文解読のヒントをさらにあげるなら、Wは一文字だけで登場していますが、一文字だけで使われるのはほぼ確実にAかIです。これをもとに、文頭の"W'u"を解釈するとW'u=I'mで

M→U

I→W

という対応も作れそうです。

 あとは二文字の言葉に注目するのもよさそうです。mqとmoが表しているのがなんなのかが分かるとゴールはだいぶ近いかもしれません。すでにIが使われていることを考慮すると、Mに該当するのはA(at,as,am)かO(on,of)のどちらかかも。でもTもMももう出ているのでおそらく

O→M

なのでしょうね。

 文が短いので完全解読は困難かもしれません。著作権の関係で平文を載せるのは躊躇われますが、ヒントはカーペンターズです。

エニグマとは

 ともかく、頻度分析が単アルファベット換字式暗号には有効です。

 暗号作成者はどのようにすれば頻度分析をものともしない暗号を作ることができるのでしょうか?

 これに対する一つの答えが、一文字ごとに使う対応表を変えてしまうことです。

 頻度分析がなぜ有効かといえば、一つの暗号文の中で、同じ対応表がずっと使われているからです。Eに対応する文字が一つだけだから、たくさん登場する文字はEの候補になるのです。暗号文の中にPがたくさん登場するとして、そのPが一つの文字しか表していないから、E、T、Aのどれかである可能性が高そうだな~という推測が立つのです。

 しかし、文の中の1文字目に現れるEはAに、2文字目に現れるEはGに、3文字目に現れるEはQに……という具合に変換していったら?

 エニグマによる変換の具体例を見てみましょう。

平 文:bee feel eel

暗号文:eci itxx wau

 上の文をエニグマ的に暗号化したものが下の文です。下のサイトを使いました。

エニグマ暗号機シミュレーター Online - DenCode

 これを見ていただくと、同じEの文字が全く違う文字に変換されているのが分かるでしょう。EはCになりIになりTになりXになりWになりAになっているのです。これに頻度分析は通用しません。

 この一文字ずつ異なる対応表を用いるという方法は強力なのですが、弱点が一つあります。解読が大変な分、暗号化も大変なのです。人力では暗号化する側にとってもかなりの労力が必要になります。

 エニグマが開発されるより前、単アルファベット換字式暗号の発展形としてヴィジュネル暗号というものが考案されましたが、これはすべての文字に対して異なる対応表を用いることまではできなかったため、やはり頻度分析の応用で破られることになりました。

 あぁ! すべての文字に対して、異なる対応表を使うことさえできれば解読されないのに!

 そんな暗号作成者たちの願いを叶えてくれる魔法の機械、それがエニグマだったのです。

 エニグマがどんなものかごく簡単に説明してみると、変換前の文字と変換後の文字を結ぶあみだくじを作る機械です。あみだくじのあみだ部分は三本のシリンダーに刻まれた線で描かれていて、一文字打つごとにシリンダーが回転することで毎度異なるパターンの変換を実現します。一本目のシリンダーは一文字打つごとに1/26回転し、一本目のシリンダーが一回転すると二本目のシリンダーが1/26回転し、二本目のシリンダーが一回転すると三本目のシリンダーが1/26回転するという仕組み。さらにシリンダーは入れ替え可能。これだけで26の3乗✕3✕2✕1=105,456通りのあみだくじを作ることができます。これに加えて、任意の文字と任意の文字を6組まで交換できる仕組みも備えていたもんだから、あみだくじの総数は1京にも及んだようです。もちろん機械はあみだくじを作るだけじゃなく、キーボードを使って打ち込んだ文字を自動的に変換してくれます。

エニグマに頻度分析は通用しない

 イギリスの暗号解読の本部であるブレッチレー・パークは映画のとおり、エニグマを持っていました。ですから原理もわかっていたし、エニグマがどのような対応表(=あみだくじ)を作り出すかもわかっていました。

 問題はドイツ軍がどの対応表を使うかが分からないこと、つまりドイツ軍がエニグマをどんな設定にして用いるか分からないことです。上記のとおり、エニグマの設定パターンは最も簡易な初期型で、およそ一京通りありましたから、これを総当たりで突き止めることは不可能です。少なくとも一日の間では。

 かといって頻度分析も使えません。エニグマのシリンダーが回転しきるのは17,576文字目を打ち終わった時。その時になってようやく最初の設定に戻ります。暗号文のほとんどは17,576文字以内に収まるでしょうから、暗号文中のすべての文字が異なる対応表によって変換されているわけです。だから頻度分析のしようがありません。

 ですから、頻度分析など行うわけがないのです。ましてそれによって成果が出ることなどありえないのです。

チャーチルがなぜかチューリングの言いなり

 上の例から分かるとおり、チューリング以外のブレッチレー・パークの面々は映画化されるにあたり無能と化しています。明らかに通用するわけない頻度分析を行っちゃう奴らなので、誰もチューリングの考えを理解しないし、あまつさえ妨害さえする始末です。

 しかし、理解者が一人だけいます。姿も現さないウィンストン・チャーチルです。チューリングがチームに対する不平を書いた手紙を出すと、チャーチルチューリングを暗号解読班の責任者にしてしまいます。

チャーチルチューリングの要求に応えたことは事実

 たしかに、チューリングが上司への不満を書いた手紙を出し、チャーチルがそれに応えるということはありましたが、それは暗号解読機が完成してからのことです。

 暗号解読機が完成したのは早くも1940年8月8日のこと(すごい!)。その名もアグヌス・デイ。略称アグネス(映画では幼なじみのクリストファーの名が付けられている!!)。アグネスは驚くべき成果を見せ、一年半の後には15台が稼働していたそうです。このアグネスを稼働させるために十分な人材をその時のブレッチレー・パーク責任者エドワード・トラヴィス中佐(デニストン中佐ではない!!!)が確保してくれない不満をチューリングたち有志が訴えたところ、チャーチルが即座に暗号解読者たちの要求に応えるよう命じたのです。

 チャーチルの対応は現実でもなかなかスマートですが、映画のように暗号解読の実績のないチューリングの訴えを受けてチームの責任者にするというのは流石にチャーチルを美化しすぎではという気がします。

チューリング以外も有能だったブレッチレー・パーク

 まんまと責任者になった映画のチューリングはさっそく無能な人間をクビにします。まるでブレッチレー・パークには無能しかいなかったかのような描写です。

 しかし、実際のブレッチレー・パークは様相が違います。映画の中ではチューリングが機械を開発するまでエニグマを解読できていなかったかのように描かれていますが、実際には解読できていたのです。

 というのも、映画でも言及されているようにエニグマを入手したのはポーランドなのですが、ポーランドエニグマの攻略法を発見していたからです。それに貢献したのがポーランドの数学者レイェフスキ。彼の功績によりそれまで解読不可能だと思われていたエニグマが解読可能であることが示され、そして暗号解読には数学者が役に立つということが知れ渡ったのです。

 エニグマの進化により、リソースの少ないポーランドは暗号を解読できなくなってしまいました。それでもレイェフスキの発見した攻略法は英仏に伝えられ、ポーランドが侵攻された後も、後を継いだブレッチレー・パークは成果を出していたのです。

 さらに、ブレッチレー・パークは独自の発見もしていました。完全無欠に見えるエニグマにも欠陥があったのです。それは人が使うということです。

 ドイツ軍のエニグマ・オペレーターはメッセージごとに三文字のメッセージ鍵をランダムに選ばねばなりません。ランダムな三文字を選ぶというのは実は難しいことです。オペレーターたちは疲れからか、キーボード上の隣り合った文字を選ぶことが多かったようです。あるいは、恋人の名前(CIL)をメッセージ鍵にすることもあったようです。こうしたメッセージ鍵をシリーと呼びます。

 ドイツ軍は毎日エニグマの初期設定を変えるのですが、この設定を一日中使うのでは同じ設定で膨大なメッセージを送ることになります。同じ鍵を使い回すというのは暗号にとって弱点になりうることなのです。単アルファベット換字式暗号が頻度分析によって打ち破られるのはすべての文字で同じ設定(鍵)を繰り返し使っているからですが、それに似たようなことがエニグマでも起こらないとも限りません。というわけで、ドイツ軍は念には念を入れて、エニグマの日々の初期設定はメッセージごとの鍵を伝えるためだけに用いたのです。そのため、メッセージ本文に用いられる設定はメッセージごとに異なることになり、普通に考えれば暗号の解読者はメッセージごとに一京分の一の設定を探らねばならなくなってしまいます。この抜け穴がシリーだったということです。

 ちなみに、メッセージ鍵は間違いのないよう二回繰り返されます(エニグマによって暗号化されるので見かけ上は完全に別の文字が並びます)。この二回の繰り返しがやはりエニグマ運用法の弱点であり、レイェフスキによる攻略につながったのです。チューリングの仕事はドイツ軍がメッセージ鍵を一回だけ送るようになった時に対処できるようにしておくことでした。実際にドイツ軍はメッセージ鍵の繰り返しをやめて、解読は進まなくなります。ですが、わずか三ヶ月後、アグネスが完成しチューリングの発明は威力を発揮するのでした。

 映画の中で、無線の傍受をしているイギリスのオペレーターが、通信の最初がいつもCILLYで始まると述べ、これが暗号解読のきっかけになるシーンがあります。実際にはCILLYという文字も日鍵(一日ごとの初期設定)によって暗号化されていたはずだし、そういったメッセージ鍵が解読の鍵になることはチューリングが気づく前からブレッチレー・パークでは知られていたことだったというのが現実なのです。

 ついでにいうと、ドイツ軍が「ハイル・ヒトラー」を必ず使うと映画の中で述べていましたが、繰り返しを避けることが暗号の保護に欠かせないことを考えれば、文末にハイル・ヒトラーを毎回入れるなど絶対にありえないはずです。とはいえさすがに天気を意味する"wetter"のような言葉は定期的に使わざるを得なかったようで、これが暗号解読において重要な意味を持ったことは事実です。

チューリングが作戦を決めるわけがない

 暗号解読に成功したチューリングが、暗号を解読したことを敵に知られないためにUボートに襲われる船を救わない選択をするシーンがあります。

 これもありえないことです。

 暗号解読と軍事作戦の指揮は全くの別物であって、暗号解読者たちに作戦を決定する権限があるはずがありません。解読者の仕事は暗号の解読であって、付随して作戦の決定までやらされてしまったら肝心の暗号解読が立ち行かなくなることは明らかです。これは『暗号解読』を読むまでもなく、当たり前の話です。

教訓

 その他にもビール暗号は書籍番号が使われた未解読の暗号であってその暗号方式ではないとか、色々とツッコミどころは多いです。

時には嘘をつくことも必要である

 とはいえ、『イミテーション・ゲーム』が面白いことは間違いありません。ベネディクト・カンバーバッチキーラ・ナイトレイの演技は素晴らしいです。上に挙げたような嘘八百が面白さに貢献しているのもおそらくはたしかでしょう。

 もし史実どおりに描けば、相当に工夫しない限り、難解かつ退屈な映画になっていたに違いありません。チューリングが対立する相手は誰でしょうか。ドイツ軍という抽象的な概念か、はたまたエニグマそのものでしょうか。観客は勝負の展開を理解できるのでしょうか。その対決はいかにしてドラマチックな解決に至るのでしょうか。暗号解読機ボンブ開発のきっかけとなる事件のようなものはなさそうです。チューリングの勝利はいかなる結果を生むのでしょうか。マシンの開発に成功した後、戦争に勝利したことはナレーションベースで片付けられるのでしょうか。

 あくまで暗号解読の現場っぽい雰囲気を伝えることだけに集中したことは勇気ある選択だったと言えるかもしれません。脚本家は私なんかよりはるかに詳しい史実を知っていたはずだし、知っていればいるほど史実に反する物語を描くのは怖いはずですから。

 上に挙げたような嘘の数々の中には物語をエンターテインメントたらしめる秘訣が隠されているはずで、そこから学べることも多そうです。

映画で歴史は学べない

 とはいえ、やはり歴史を題材にしているのに史実に反したことばかりであることに違和感を覚えないといったら嘘になります。観客の大半は映画が史実に基づいていると思っているはずですから。たいていは数日もすればほとんどの内容を忘れてしまうかもしれませんが、映画を見た人の1%でも、本物のデニストン中佐もチューリングのことが理解出来ない無能だったという勘違いをしたまま死んでいくとしたなら、デニストン中佐も浮かばれないでしょう。本当の彼はチューリングを始め、多種多様な人材を採用し、エニグマ解読を成功に導いた有能な指揮官だったはずです。

 せめて自分がそのような誤解に陥ることを可能な限り避けるためにも、「映画で歴史を学ぼうとは思わないことだ」と肝に銘じるべきでしょう。映画は映画として楽しむ。歴史を学ぶつもりなのだとしたら、あくまで興味を持つきっかけぐらいに考えるという態度は忘れないようにしたいところです。

 ブレッチレー・パークの物語を史実に忠実に、かつ『イミテーション・ゲーム』より面白く描く猛者が現れることを願わずにはいられません。

文字が映像に勝る領域

 『暗号解読』はエニグマ編以外も含めて、はちゃめちゃに面白い本です。それでいて史実にも忠実であるはずです(上に書いたことは『暗号解読』に基づいているので忠実でないと困ります)。

 文字媒体の強みをここに感じます。抽象的なものを抽象的なまま楽しめるのが文字の世界です。知的な楽しみがそこにあります。時間の制約が緩いというのも強みかもしれません。同じエンターテインメントでも、やっている競技が違うのです。映画がスノーボードハーフパイプだとしたら、本はカーリングみたいなイメージ。

 Youtubetiktokが栄える動画の時代というべき昨今。もはやブログの時代ではないとも言われますが、動画が苦手とし文字が得意とする領域もあるということはおさえておきたいところです。

 

 まあそんなわけで『暗号解読』のせいで『イミテーション・ゲーム』を素直な心で楽しめなくなってしまいました。でも、後悔はしていません。『暗号解読』を読んでいない人生より『暗号解読』を読んでいる人生のほうが幸せだと確信しているからです。

 

 ちなみに、多様性の科学にもブレッチレー・パークの話が載っています。『暗号解読』ではさらっとしか書かれていない部分について書いているので違った見方もできそうです。多様性に関する一エピソードにすぎないので分量としては多くありませんが。