見出し画像

暗号解読のススメ・解説(オーストリア情報局ASD/記念通貨の暗号)

はじめに

2022年の9月頃、オーストリア情報局より75周年の通貨が発行されていました。この硬貨には暗号が仕込まれているということで、話題になりました。GIGAZINEのニュースは有名かもしれません。

私も仲間内でチャレンジし、一週間ほどでほぼ解読しました。その際に作ったメモを見ながら、当時どのように考えながら解いたかを説明します。当然ながら公式より回答・解説が出ていますが、公式のネタバレも出たので、解き方や解説をしようと思います。

まず暗号解読というのは、特別な才能が必要に思えますが、実はそうではありません。勉学として学ぶことで、後天的に得られる能力です。この記事から暗号に少しでも興味を持って頂けると嬉しいです。

そんなわけで暗号を解いていきますが、前知識は不要です。
気負わずに読んでみて下さい。

暗号が埋め込まれた硬貨

では早速ですので、問題文を見ていきましょう。有難いことに、硬貨の画像を公式(ASD)がテキスト化してくれています。これを元に解いていきましょう。

発売された記念硬貨
Side B (Queens head)
ELIZABETH II - AUSTRALIA - 2022 - 50 CENTS
The following letters have a series of dots shown below them. 
Using a 2 by 3 grid and numbered 1-2 (top row), 3-4 (middle row), 5-6 (bottom row).
B 1 2
T 1 3
H 1 2 3
A 1
S 1 4
A 1 2 4

Side A outer ring
.DVZIVZFWZXRLFHRMXLMXVKGZMWNVGRXFOLFHRMVCVXFGRLM.URMWXOZIRGBRM7DRWGSC5WVKGS

Side A inner ring
BGOAMVOEIATSIRLNGTTNEOGRERGXNTEAIFCECAIEOALEKFNR5LWEFCHDEEAEEE7NMDRXX5

Side A inner circle (two thirds of design)
1947-2022 - 75 - REVEAL AND PROTECT - AUSTRALIAN SIGNALS DIRECTORATE

Side A inner circle (one third of design)
E3B
8287D4
290F723381
4D7A47A291DC
0F71B2806D1A53B
311CC4B97A0E1CC2B9
3B31068593332F10C6A335
2F14D1B27A3514D6F7382F1A
D0B0322955D1B83D3801CDB2
287D05C0B82A311085A03329
1D85A3323855D6BC333119D
6FB7A3C11C4A72E3C17CCB
B33290C85B6343955CCBA3
B3A1CCBB62E341ACBF72
E3255CAA73F2F14D1B27A
341B85A3323855D6BB33
3055C4A53F3C55C7B22
E2A10C0B97A291DC0F
73E3413C3BE392819
D1F73B331185A33
23855CCBA2A3
206D6BE383
1108B

はい、もう意味不明ですよね。謎の文字列や数字が並んでいます。しかし臆してはいけません。大雑把に分けて、小さくチャレンジしてみましょう。

Side B(Queen head)

まずは最初の10行を確認します。

Side B (Queens head)
ELIZABETH II - AUSTRALIA - 2022 - 50 CENTS
The following letters have a series of dots shown below them. 
Using a 2 by 3 grid and numbered 1-2 (top row), 3-4 (middle row), 5-6 (bottom row).
B 1 2
T 1 3
H 1 2 3
A 1
S 1 4
A 1 2 4

「Side B (Queens head) ELIZABETH II - AUSTRALIA - 2022 - 50 CENTS」
これは硬貨の片面に50セント硬貨だと書かれているだけです。

Side B Queens head(B面、女王の柄)

「The following letters have a series of dots shown below them.」
「次の文字には、その下にドットが連続して表示されています」
つまりB,T,H,A,S,Aの下にドットが書いてあるという意味ですね。

よく見ると文字の下に点が打ってありますね

「Using a 2 by 3 grid and numbered 1-2 (top row), 3-4 (middle row), 5-6 (bottom row).」
「2*3のグリッドに点が打たれているようだ」

2*3のグリッドの点が打たれているということで、ピンとくるものがあります。勘の良い方はこれで気づくかもしれませんが、2*3のグリッドに点を打つと表現できる文字があります。ズバリ点字です。

点字っぽいぞ!

これはとてもポピュラーな方法で、steganography,ステガノグラフィーと言います。ステガノグラフィーとは、情報隠蔽という暗号技術です。ぱっと見て気づかないように配置されている暗号で、存在自体に気づきづらいものです。(コインの画像だけ見たら、見落としそうですよね?)
調べると英語の点字は2*3のグリッドに点を打っていくようです。点字で変換してみましょう。

点字の変換表

さて、点字の通りに文字に変換してみます。

CBFAED…… 特に意味は繋がらない。

さて、実はこれでも知恵を追加すると解けるのですが、もっとわかりやすく行きましょう。数字の点字です。

数字の点字の対応表
数字の326154。1~6まで順番に使っている。

出てきた数字順に元の文字を並び変えてみます。同様にアルファベットの順番に並び替えても同じようにできます。並び替えはTranspositionという典型的な方法です。転置式暗号とも言います。

「ATBASH」と出ました。単語が出てきたので、点字を埋めたこんだ暗号で間違いなさそうです。しかし「ATBASH」の意味がわかりませんのでgoogleで検索してみます。

google先生によると、ATBASH暗号というものが存在するようです。古典的な暗号化の方法で、単一換字式暗号です。換字式暗号とは文字を別の文字に置き換える暗号方法です。ATBASHの置き換え方は「AをZ」に、「BをY」に置き換えるようです。

分からないものは調べる

さて、暗号を一つ解読できました。解説を聞くと単純ですよね?

Side A outer ring

Side A 面
Side A outer ring
.DVZIVZFWZXRLFHRMXLMXVKGZMWNVGRXFOLFHRMVCVXFGRLM.URMWXOZIRGBRM7DRWGSC5WVKGS

このままでは意味不明です。謎の文字列が並んでいて、読めるわけありません。しかしATBASHのヒントを得ています。ATBASHに「.」の変換表はありませんが、円状に配置された文章のため、開始の位置を示しているとあたりをつけます。

「DVZIVZFWZXRLFHRMXLMXVKGZMWNVGRXFOLFHRMVCVXFGRLM.URMWXOZIRGBRM7DRWGSC5WVKGS」

ではATBASHのルールを用いて、「D」は「W」に「V」は「E」に置き換えます。

ATBASH暗号の変換表

「weareaudaciousinconceptandmeticinexecution-findclarityin7widthx5depth」

意味がわかるように単語毎に分けると……

「We are audacious in concept and meticulous in execution. Find clarity in 7 width x 5 depth.」
「私たちはコンセプトが大胆で、実行が綿密です。幅7×奥行5で明瞭さを見出す」

オーストリア情報局は、「コンセプトは大胆、そして実行は緻密」がモットーのようです。この硬貨を考えると、まさにその通りですね!

Side A inner ring

Side A inner ring
BGOAMVOEIATSIRLNGTTNEOGRERGXNTEAIFCECAIEOALEKFNR5LWEFCHDEEAEEE7NMDRXX5

さて外側のリングの文字を解きましたので、内側のリングを見てみましょう。ついでにATBASHしてみます。

「YTLZNELVQZGHQJOMTGGMVLTJVJTCMGVZQUXVXZQVLZOVPUMJ5ODVUXSWVVZVVV7MNWJCC5」

まったく意味不明です、ATBASHでの変換は終わりのようです。しかし外側のリングからヒントをもらっています。

「Find clarity in 7 width x 5 depth. 幅7×奥行5で明瞭さを見出す」

これは大きなヒントです。B面と同様に転置式暗号とだとあたりを付けて考えてみます。文字を配置しなおしたりすることで解読できる暗号として、ヒントを元に文字を7文字ごとに区切って五行毎に分けてみます。

7*5の箱に入れる

よく見ると、文章が出来上がっています。そう、縦読みです。この縦読みはステガノフラフィー(隠ぺい暗号)ですね。実は縦読みは、暗号の世界ではポピュラーな方法です。

「Belonging to a great team, striving for excellence, we make a difference. XOR hex A5D75.」
「偉大なチームに所属し、卓越性を追求し、我々は違いを確認します。XOR 16進数 A5D75. 」

おお、テンションが上がってきました。偉大なチーム(オーストリア情報局)に所属できるようです。知恵が認められ、このチームの一員になれる可能性が出てきて嬉しいものです。しかもA5D75はASD75ということで、鍵に相応しいモノになっています。

Side A inner circle / two thirds of design

Side A inner circle (two thirds of design)
1947-2022 - 75 - REVEAL AND PROTECT - AUSTRALIAN SIGNALS DIRECTORATE

これは暗号ではなく、ただの文章ですね……
ASD75周年の記念硬貨だと書いてあります。

Side A inner circle / one third of design

Side A inner circle (one third of design)
E3B
8287D4
290F723381
4D7A47A291DC
0F71B2806D1A53B
311CC4B97A0E1CC2B9
3B31068593332F10C6A335
2F14D1B27A3514D6F7382F1A
D0B0322955D1B83D3801CDB2
287D05C0B82A311085A03329
1D85A3323855D6BC333119D
6FB7A3C11C4A72E3C17CCB
B33290C85B6343955CCBA3
B3A1CCBB62E341ACBF72
E3255CAA73F2F14D1B27A
341B85A3323855D6BB33
3055C4A53F3C55C7B22
E2A10C0B97A291DC0F
73E3413C3BE392819
D1F73B331185A33
23855CCBA2A3
206D6BE383
1108B

先ほど解いた暗号に「XOR hex A5D75.」「XOR 16進数 A5D75.」とありました。これはデジタルの論理暗号です。「XOR hex(XOR 16進数)」とあることから、デジタルの論理演算に対応する暗号のようです。

XORとかhexとか書いてあると大概は論理演算することになります。こういったものだと覚える要素です。この解き方自体は、よくあるやり方です。

これを解読するには、1バイトを表す16進文字の各ペアから、対応するキーバイト(キーは0xA5D75)にXORアルゴリズムを考えます。このキーバイトを適用しなければいけない、ということに気づくのが大変です。「A5D75」をそのまま使うだけではなく、「0xA5D75」に書き直さなければいけません。

XORの論理演算は数学的な話になりますので、ここでは割愛します。理系の大学生ぐらいなら勉強していると思いますが…… この辺は趣味で解読する人には、つまずくポイントかもしれません。後述する「Cypher」というゲームでも解説されています。

例として、暗号の最初のバイトは「E3」です。鍵の1バイト目である「A5」に対してXORをかけると、「46」となります。これは標準ASCIIアルファベットの「F」です。(論理計算した後に出てきた数字は、ASCIIアルファベットにすると大抵は暗号解読できます)

標準ASCIIアルファベット表 / 今回は16進数が対応する。

2バイト目の暗号文「B8」を2番目の鍵「D7」に対して適用すると、「6f」となり、これは文字「o」になります。こうやって解読すると……

「For 75 years the Australian Signals Directorate has brought together people with the skills, adaptability and imagination to operate in the slim area between the difficult and the impossible.」

「75年間、オーストラリア信号局は、困難と不可能の狭間で活動するためのスキル、適応性、想像力を持った人々を集めてきた」

超カッコイイですね。ちなみに全部解けたらオーストリア情報局のチームとして採用のチャンスがあったようです。このメッセージを読めばさもありなんという感じです。

残念ながら私のチームはこれを暗号解読ミスしてしまいました。「XOR hex A5D75.」を「XOR hex a 5D75.」つまり5Dと75で論理演算せよと勘違いしたのです。ここを間違えたので、ひどい目にあいました。 しかも運が悪いことに出てきた数字が28。28って「 AUSTRALIAN SIGNALS DIRECTORATE」の文字数かつ完全数なんです。これのせいで堂々巡りになってしまい解読ミス。残念ながらASDに入社できませんでした。

間違えた!

おまけ暗号

さて、実は他にも暗号が隠されています。コインの画像をよく見ると……

外側のリングは、文字の濃さが違い、さらに射線が入ってる!
内側のリングは、文字の濃さだけが違う。

文字の濃さが違いますね。これを文章にするとこんな感じ。文字の太さが出せないので画像にします。

外側のリング
内側のリング

・外側のリング
文字の濃さと射線の種類で分けます。三種類の符号になりました。
これは皆さんご存じのアレです。そう、モールス信号です。
「_10000_00001_11110_00111__011_111_0111_10_1011_0111_1_101_0_1001_10_101_010」→「-.. ... -... .- .-.. -... . .-. - .--. .- .-. -.- .---- ----. ....- --...」
これをモールス変換すると……

DSB ALBERT PARK 1947」となりました。これはオーストリア情報局の最初の拠点のようですね。遊び心ってやつです。リンクはASDの公式です。

・内側のリング
文字の印影によってまた置き換えてみます。二種類の符号になりました。
「0111110010110001110110111100001110100011011001101100111110011011001101」
これを7bitのバイナリとしてデコードすると、
「0111110 0101100 0111011 0111100 0011101 0001101 1001101 1001111 1001101 1001101」
文字数が70文字であることがポイントですね。70の公倍数を考えて試していくと、当たりにたどり着きます。

答えは「ASD Cbr 2022」となります。これも遊び心ですね。

おわりに

以上がASDの記念通貨の暗号解読になります。最初は、手も足もでないような暗号だと思われたかもしれませんが、「意外といけるじゃん」という感覚を持っていただけると幸いです。

今回のASDの暗号ですが、暗号の基本を問われており、勉強していれば誰でも手が出るような問題です。古典的な暗号というわけです。つまり良質で楽しい暗号問題を記念硬貨として発行してくれたわけです。素晴らしい問題でしたね。

今まで出てきた暗号ですが「隠ぺい式暗号、換字式暗号、転置式暗号」の三種類で、暗号の基本です。

ただし、最後にデジタル式の暗号が出てきました。これらも上記三種類の暗号に含まれます。論理演算する暗号は有名で、現代の技術にも使われています。近代の暗号方法で、現代のインターネット通信は、素因数分解を用いた暗号を応用しています。興味のある方は調べてみると面白いと思います。

暗号というのは復号(解読)するのが前提となっています。復号するというのは、解読する人は簡単に解読できるようにする必要があるということです。誰も解けない暗号はただの文字の羅列であり特に意味はありません。解き方や暗号鍵(ATBASHの変換表みたいなの)を知ってる人は、容易に解けるようになっていなければならないのです。

暗号を簡単に復号できないと……

暗号の復号に時間がかかってしまうと、情報の価値が落ちるからです。暗号に拘りすぎて、送られた人が解読に時間がかかってしまうのはナンセンスです。例えば、戦時中に重要な情報が暗号化されて送られてきました。生死を左右する情報は、復号に時間がかかるのは良くないですよね? 素早く復号しないと、情報が読み取れず、戦況に対応できないかもしれません。

暗号は基本的には解けるように作られている、と聞けば、解読できる気がするのではないでしょうか? チャレンジする価値があります。

さて、私のチームもこれらの暗号を解く際に色々な試行をしました。例えばリングの文字列は置換式暗号だとはわかっていたので、まずは頻度分析やヴィジュネル変換等を試してみました。これも暗号解読でよく用いられる方法です。暗号解読とはこういった知識の積み重ねなのです。

点字が埋め込まれていることに気づくのにも結構時間がかかりました。しかし日を置いて考えてみると、ふっと気がつくものです。暗号を解いて文章が浮かび上がる瞬間は最高ですよ。

暗号を勉強したい人にお勧め!

こういう風に暗号を解いてみたい! と思う方がいると思います。そこでいいものを紹介します。

Steamのゲームです。暗号の演習問題みたいなものですね。ASDの暗号ですが、実はこのゲームで説明されているものだけで解くことができました。簡単な英語で作られたゲームですので、DeepLで翻訳するだけで遊べます。簡単な暗号からステップアップできるように作られており、このゲームを遊んだことで、私も世の中の色んな暗号にチャレンジすることができるようになりました。出来なかったことが後天的に身に付き、チャレンジできることは最高の体験です。知的遊戯として最高峰ではないでしょうか。

さらに参考書です。このゲームの作者であるマシュー・ブラウンは「サイモン・シン著、The Code Book」を参考にしてゲームを作ったようです。日本語訳された名著ですが、読みやすく面白いです。サイモン・シンはかの「フェルマーの最終定理」を解説したやべぇ人です。誰にでもわかりやすく解説した名著の作者ですので、難しい本ではありません。

謝辞

暗号解読チームのQualiaさん・kuroさん。
チームで当たり粘り強くチャレンジできました。感謝!

この記事が気に入ったらサポートをしてみませんか?