!!! サイト改修中のため表示が乱れる場合があります(1月末頃まで) !!!
理論

New!! 実装でわかる暗号機「エニグマ」(③運用考察編)

やること

暗号化の最小コードをPythonで実装しながら、最終的にエニグマを作ることを目指すシリーズ。前回はエニグマの本質的な仕組みが理解できました。

今回は少し力を抜いて、エニグマの運用方法を考察します。

参考文献

エニグマの具体的な運用方法に触れているサイトは多くありません。こちらの記事を非常に参考にさせていただきました。著者に感謝いたします。

暗号解説シリーズ ナチス軍が使用し世界を震撼させた 稀代の暗号「エニグマ暗号」を解説!! - Qiita
ギリシャ語で『謎』を意味する「エニグマ」今回は映画「イミテーション・ゲーム/エニグマと天才数学者の秘密」でも描かれた、**稀代の暗号「エニグマ暗号」**について解説する。この記事の流れ忙しい人…

私の想像

前提として、ドイツ軍と戦う連合国軍はエニグマ本体を手に入れており、その仕組み(=暗号化アルゴリズム)も完全に理解していました。また、ドイツ軍の無線も傍受できていました。それでも暗号を解読できないでいたのは、鍵(=ローターの選択と初期回転)が分からなかったからにほかなりません。

ですので鍵がバレないことがもっとも大事です。そして、鍵がバレる前に新しい鍵に交換すること。

鍵を守るにはどうしたらいいかというと、暗号化された文章で鍵を伝達すればよいのです。1日に一度、あるいは1時間に一度の頻度で「暗号文で新しい鍵を伝える」をやっていけば永久に解読されないのではないか?見事な数学的帰納法です。(最初の鍵は・・・がんばる。)

ただ、この方法にはリスクがあります。一度でもエニグマを誤って操作したり(2回打っちゃったとか)、鍵を聞き間違えてしまうとアウトです。それ以降、永久に怪文書とにらめっこすることになります。

そんなキリキリしたルールで運用していたとは思えないので、はてさて実際はどうやっていたのか。

実際の運用方法

以降の内容は事実をかなり歪めた「フィクション」です。イメージの話。正確な情報は参考文献をご参照ください。

まず、送信者と受信者に共通の初期設定ブックが配布されます。これは毎日の朝に設定すべき初期条件が書かれています。ここでは初期設定は6文字で表されることとします。(ちなみにこのブックが流出したらそれなりにマズイです)

毎朝、送信者も受信者もエニグマを「本日の初期設定」にセットします。どのスロットにどのローターをセットするか。そして初期回転を注意深く合わせます。

送信者は平文をエニグマに打ち込み、出てきた暗号文を無線で送ります。

受信者はエニグマに暗号文を打ち込み、出てきた平文を見て作戦を遂行します。

ここからが大事なのですが、たまに6文字の暗号2回連続で送られてきます。復号してもチンプンカンプンな6文字がご丁寧に2回連続で。実はこれが新しい一時鍵で、これを受信したら特殊な解読ルーチンを行います。

それはエニグマを「本日の初期設定」に戻して6文字を解読するということです。すると初期条件を表す文章になっているので、エニグマをその「一時鍵設定」にセットして以後の受信と解読を続行します。

送信者はどうしているかというと、任意のタイミングで「本日の初期設定」にセットし直して、自分が決めた新しい一時鍵を6文字✕2回送信します。その後、自分もその「一時鍵設定」にセットして送信を再開します。

これにより両者は「一時鍵設定」で同時のスタートを切ることができるのです。

この運用方法であれば任意のタイミングで鍵を更新でき、かつ、受信者が途中でエニグマの操作をミスってお通夜モードになっても、6文字✕2回が来たタイミングで復活できるのです。まあ最悪、朝には復活できます。なるほど確かに。

だいぶ自信がないですがそんな感じの運用だったようです。ホンマか?間違っていたらご指摘ください。

ただ、初期設定ブックが連合国軍に奪われた場合についてはよくわかりませんでした。いかがでしたか? 初期設定ブックは地域や隊によって異なるうえ1ヶ月毎の配布だったようなので、万が一流出しても直ちに全滅とはならないようです。とはいえ連合国軍に物理的に奪取され、完全解読の手がかりの一つにはなったようです。

おわりに

一旦、エニグマの勉強はここまでとします。

今後はオリジナル自作エニグマを検討しています(お前まだ自作キーボードも売れてないだろ)。展示会に間に合ったら触りに来てくださいね (๑`·ᴗ·´๑)チャオ

リアクションのお願い

「参考になった!」「刺激された!」と思ったらぜひリアクションをしましょう。エンジニアの世界はGive and Takeによって成り立っています。これからも無料で良質な情報にアクセスできるよう、Giveする人への感謝をリアクションで示しましょう!

この記事をシェアする

自身のブログ等で使用する場合は引用を忘れずに!

また、寄付も受け付けています。コーヒー1杯でとても喜びます(*˘︶˘*)

 Amazonでギフト券(アマギフ)を贈る

こちらのリンク から金額を指定してお贈りください。(デフォルトで10000円になっているのでご変更ください)

配送:Eメール
受取人:staffあっとvigne-cla.com
贈り主:あなたのお名前やニックネーム
メッセージ:◯◯の記事が参考になりました。など

のようにご入力ください。見返りはありませんのでご了承ください。

 Amazonで食事券(すかいらーく優待券)を贈る

500円 1000円 2000円 5000円 からお贈りください。

配送:Eメール
受取人:staffあっとvigne-cla.com
贈り主:あなたのお名前やニックネーム
メッセージ:◯◯の記事が参考になりました。など

のようにご入力ください。見返りはありませんのでご了承ください。

 その他、ギフト券やクーポン券をメールで贈る

デジタルのギフト券/クーポン券はメールアドレス(staffあっとvigne-cla.com)までお送りください。受領の返信をいたします。
紙のギフト券/クーポン券は 「郵便物はこちらへ」の住所 まで送付してください。名刺やメールアドレスを同封していただければ受領の連絡をいたします。
余った株主優待券等の処理におすすめです。
いずれも見返りはありませんのでご了承ください。

不明点はSNSでお気軽にご連絡ください

ビネクラのTwitter・Youtubeでコメントをください!


Slack・Discordの場合はこちらの公開グループに参加してShoya YasudaまでDMをください!


※当ブログに関することは何でもご相談・ご依頼可能です。

この記事を書いた人
Yasuda

博士(理学)。専門は免疫細胞、数理モデル、シミュレーション。米国、中国で研究に携わった。遺伝的アルゴリズム信者。物価上昇のため半額弁当とともに絶滅寸前。

タイトルとURLをコピーしました