政府の諜報機関が公開したゲーム感覚で暗号を楽しく学べる無料アプリ「Cryptoy」
「暗号」と聞くと何とも難しいイメージを抱いてしまいますが、そんな思い込みを取り払ってくれそうなアプリ「Cryptoy」をイギリスのGCHQが公開しました。CryptoyはAndroid向けにリリースされた、中学生でも暗号化技術の基本を理解でき暗号化したメッセージを自作可能なアプリになっているとのことなので、実際にインストールして使用してみました。
Cryptoy - Google Play の Android アプリ
https://play.google.com/store/apps/details?id=com.hmg.cryptoy
上記URLを開いて「インストール」をタップ。
「同意する」をタップします。
インストールし終えたら、「Cryptoy」のアイコンをタップして起動。
画面を一度タップします。
チュートリアルが始まるので、「Skip」をタップ。
これがCryptoyのホーム画面です。画面には「Shift(シーザー暗号)」と表示されており、下から上にスワイプすると……
シーザー暗号の概要や歴史を学ぶことができます。シーザー暗号は古代ローマの軍事的指導者ジュリアス・シーザーが初めて使用した暗号で、文字を辞書順にシフトして暗号化するもの。
読んでもよくわからないので「Start」をタップし、シーザー暗号を使って実際に暗号を作成してみます。
「Encypt(暗号化)」もしくはDecrypt(復号)」を選択できますが、今回は「Encypt」を選択。
暗号化する単語や文章を入力して「Next」をタップします。
アルファベットが2列に並んだリストと「Encryption key A」と画面中央に表示されました。よく見ると、リストの「A」の下には「A」が、「H」の下には「H」があります。そして画面下部には入力した単語の「HELLO」が表示されています。
画面を左方向にスワイプすればリストの2段目が左に移動。「A」に「H」を合わせると、「H」のところが「O」になりました。もとの単語は「HELLO」から「OLSSV」に暗号化されています。シーザー暗号は文字をアルファベット順にシフトして暗号化する技術。つまり、暗号キー「H」で「HELLO」を暗号化すると、「OLSSV」になるというわけ。
今度はAにOを合わせて、暗号化キー「O」で暗号化すると、「VSZZC」になりました。概要を読んでもシーザー暗号がどういうものかよくわかりませんでしたが、実際に暗号化を体験してみると「おお、そういうことか」となります。暗号化を楽しんだら最後に「Done」をタップ。
もとの「Hello」と、シーザー暗号を使って暗号キー「O」で暗号化された「VSZZC」が表示されます。
次はシーザー暗号の復号にチャレンジ。
「Hello」を暗号キー「H」で暗号化した「olssv」を復号して、もとに戻るか検証。
暗号キーAで復号しても「OLSSV」のままですが……
暗号キーHで復号すると「HELLO」になりました。「DONE」をクリックすると……
もとの「OLSSV」と復号された「HELLO」が表示されます。自分の手で暗号化・復号することで、シーザー暗号についてより理解できた気がします。
次は「Vigenère(ヴィジュネル暗号)」を試してみます。「Start」をタップ。
「Encrypt」をタップします。
暗号化したい単語や文章を入力して「Next」をタップ。
「Keyword」に「Apple」と入力すると、もとのメッセージ「GIGAZINE」が「GXVLDICT」に変換されました。なぜこうなったのか理解できないので「Analysys」をタップして詳細を確認。
左から暗号化する前の「GIGAZINE」、暗号化後の「GXVLDICT」、暗号キーの「APPLEAPP」が表示されています。「APPLE」が「APPLEAPP」になっているのは、GIGAZINEが8文字、APPLEが5文字のため。注目するのは太字になっているそれぞれの頭文字と下部の表です。「GIGAZINE」の「G」と「Apple」の「A」が表内で重なる文字が「G」になっています。つまり、ヴィジュネル暗号は、もとのメッセージと暗号キーが表で合致する文字に変換する仕組みであるということがわかります。
画面にあるバーを左から右にスワイプすると次の文字の暗号化を確認可能。「I」は「X」に暗号化され……
「Z」は「D」に変換されるというわけ。一見理解するのが難しそうなヴィジュネル暗号の仕組みがなんとなく分かります。最後に「Done」をタップすれば……
もとのメッセージと暗号化後のメッセージを確認できるというわけ。
Cryptoyでは、上述以外にも「Substituion(換字式暗号)」や……
第二次世界大戦でナチス・ドイツが使用していた「Enigma(エニグマ)」など、合計4種類の暗号の暗号化および復号を実際に体験できます。
Cryptoyは中学生の学習用に作られているので、UIがかなり分かりやすく、英語の知識がなくても簡単に暗号化や複合化を体験できます。暗号化のシミュレーターとしても使えそうなので、友人に暗号化したメッセージを送ってみるのもいいかもしれません。なお、CryptoyはAndroid版アプリのみリリースされており、iOS向けは今のところありません。また、Android版でもスマートフォンでは動作の確認ができなかったので、Nexus 9でレビューしています。製品ページによると、製品テストはNexus 7およびNexus 10でのみ行われており、他の端末で動作するかどうかはインストールしてみないと確認できないようです。
・関連記事
FBIが殺人事件の被害者が残した暗号解読のため一般からアイデアを募集中 - GIGAZINE
ドイツ軍が第二次世界大戦で使った暗号「エニグマ」シミュレーター - GIGAZINE
いまだ解読されていない歴史的な10種の暗号 - GIGAZINE
スパイ気分で謎の文字列を並べた暗号化通信が誰でも簡単にできる「Crypt!」 - GIGAZINE
世界を悩ませているインターネットのミステリー、謎の暗号「Cicada 3301」 - GIGAZINE
おばあちゃんが最期に残し20年間も未解決だった謎の暗号がネットの集合知によって爆速で解明へ - GIGAZINE
500年以上前の本「オデュッセイア」に書き込まれた謎の暗号解読に懸賞金がかけられる - GIGAZINE
・関連コンテンツ