見出し画像

Ingress的暗号解読 (2) ヴィジュネル暗号

こんにちは、Snwappleです。このシリーズ記事の内容は完全に独学なので、間違ってたら連絡くださいませ。

前回はこちら。

今回は、メジャーな暗号のひとつである、ヴィジュネル暗号 (Vigenere Cipher) を説明します。成り立ちや詳細は、Wikipediaでご覧ください。

簡単に言うと、とある暗号表と、出題者が決めたキーワードに従って本文のアルファベットを置き換えていき、謎のアルファベットの羅列を作る暗号です。ですので、キーワードが分かれば、謎の文字列から元々の文を復号できます。

例えば、「Ingress」という文を「Test」というキーワードで暗号化(Encrypt)すると、「Brykxwk」になります。逆に、この文字列を「Test」というキーワードで復号(Decrypt)すると、「Ingress」という言葉に戻ります。本気で暗号を覚えたい方は、dcode.frのサイトで試してみてください。

https://www.dcode.fr/vigenere-cipher

今、我々の最も身近なところで使われているヴィジュネル暗号は、イングレスのスキャナーのニュースフィードです。時々、ニュースフィードに意味不明の文字列が紛れ込んでいませんか?以下の画像で言うところの、「akmwfacct7w0e」の部分です。

画像1

これは暗号化されたヴィジュネル暗号文です。復号するには、キーワードが必要です。では、キーワードはどこにあるのでしょうか。これもニュースフィードの文中にあります。よく読むと、所々に数字が埋め込まれていますよね?「R8S」や、「Age5t」といった箇所です。不自然ですよね。実はこれらがキーワードの一部です。「R8S」は明らかに「RES」が元々の文でしょう。「Age5t」は「Agent」であるはずです。これはすなわち、Eが8番目、Nが5番目を意味します。このルールに沿ってキーワードの断片を並べると、「TRI○○○○○」になります。(自分で解きたい方のために、一部伏せ字にしています。)このキーワードを使って、先程の「akmwfacct7w0e」を復号してみてください。それが、答えです。

なお、この答えをインテルマップかストア(Android機のみ)のパスコード入力欄に打ち込むと、正しいか否かがわかります。正しければFully Redeemed(全部使われ切ったよ)、間違っていればInvalid Passcode(間違ったパスコードだよ)です。

これもどうか、上に上げたdcode.frのサイトのヴィジュネル暗号ツールで複合して試してみてください。


次に、謎の文字列がヴィジュネル暗号か否かの見分け方です。

謎の文字列の近くに別のパスコードらしき文章がある、または文章中に不自然な点があるとなると、ヴィジュネル暗号の可能性が高いです。謎の文字列を並べ替えるだけで意味のある言葉になりそうなら、ヴィジュネル暗号ではなくアナグラム(文字の並べ替え)の方が可能性高しです。謎の文字列に数字が混ざってると、ヴィジュネル暗号の可能性は下がります。なぜなら、ヴィジュネル暗号は数字を変換しないかからです。とは言っても、どれもヴィジュネル暗号か否かを決定付けるものではありませんので、上のdcode.frのサイトで、アナグラムもヴィジュネル暗号かも両方試して判断するのが良いでしょう。

次回のニュースフィード欄がヴィジュネル暗号である保証はありません。しかし、過去のニュースフィードの暗号は、これで解析できます。練習として試してみるのも良いでしょう。


本当は、ヴィジュネル暗号以外にも、同様に謎の文字列+パスコードで暗号化・復号できる暗号の種類はたくさんあります。しかしながら、Nianticの出題の場合、ヴィジュネル暗号以外の似たような暗号は、あまり使わないといった印象があります。明らかに難易度が上がりますからね。皆さんに解いてほしいという意志の現れだと思っています。

今回は以上です。

次回は文字列変換の続きとして、アナグラムやROTなどを書きたいと思います。

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