こんにちは!haneです。
私は家からびわこ・くさつキャンパスまでの通学時間が長いので、秋学期から電車の中で読書をすることが多くなりました。最近読んで面白かったものはハサミ男と暗号解読「上」です。今年のアドカレでは暗号解読「上」にエニグマのことについて書かれていたので、その仕組みとエミュレーターの使い方について紹介したいと思います。
エニグマって?
エニグマ暗号機は、1918年にドイツの発明家アルトゥール・シェルビウスによって発明された電気機械式暗号機械で、1925年にはドイツ軍が正式に採用。続いてドイツ政府や国営鉄道なども採用し、3万台以上を販売した。 暗号方式は換字式であり、詳しくは順変多表式である。エニグマはM-209(英語版)と同様な反転暗号となり、暗号文を同じ鍵で再暗号化すると平文が得られる特徴がある。
https://ja.wikipedia.org/wiki/エニグマ_(暗号機)
エニグマの仕組み
エニグマは主に入力部分とプラグボード・ローター・リフレクター・出力部分で構成されています。
・入力部分
入力部分はおなじみのキーボードを使っていますがよく見ると当時はキー配列が違うみたいです。
・プラグボード
プラグボードは、エニグマを使う人が伝えられたルールに基づいて、あるアルファベットを一字を別の一字に入れ替えます。ルールについては触ってみたの項目で話します。
何も設定しない状態だとA→AというようにAのまま出力されますが、A→B,B→Aというように設定するとAはBに、BはAに入れ替わります。
・ローター
プラグボードと同じようにローターも文字を入れ替える役割を果たしますがやり方が異なっています。エミュレーターのローターは合計で8種類あり、一文字入力するごとにローターが回転して文字がずれます。例えばずっとAを入力したとすると暗号文はABCDEFという例を見ると、始めはA→AでしたがA→B、A→Cというように暗号化された文字が一文字ずつずれています。
・リフレクター
リフレクターはローターから文字を受け取った後に、文字の入れ替えを行った後、もう一度ローターに文字を入れます。こうすることで暗号化する回数が倍になり解読することが難しくなります。文字の入れ替えは種類ごとに決まっていて、種類がBの場合はB→R、C→Uというようになっています。詳細はEnigma MechanicsのReflectorの項目で見れます。
・出力部分
出力部分はランプボードという部分で出力されます。出力方法は暗号化された文字が光るようになっています。
エミュレーターを触ってみる
それでは実際に触ってみましょう。今回使用させていただいたエミュレーターは以下のURLから利用できます。推奨ブラウザはFirefoxと表記されていますがChromeでも使えなくもなかったです。
https://piotte13.github.io/enigma-cipher/

入力方法はKEY BOARDの文字をクリックすることで入力することができ、入力された文字がどのようにして暗号化されたのかを青い線と黄色い線が表示してくれます。
とてもわかりやすい!
左上のPLUG SETTINGという項目はPlugBoardの項目を使うことで自動的に入力されます。PlugBoardは右の文字をクリックし黄色になった後に左の文字を入力すると、選択した文字同士で入れ替えを行います。また隣のETWという項目は操作できないようです。
ドイツ軍は一日ごとにPlugBoardの設定を変えることで解読の邪魔をしていたみたいです。
RCCはいつでも部員募集中なのでいつでも見学に来てください。お待ちしてます!
メリークリスマス!良いお年を!