メモ他

2009-09-22

【ネタばれ注意】MITに貼られたGoogle暗号の解読方法

この暗号が解ければGoogleに就職できる? 今のところMITの学生もお手上げ』の暗号の解説です。

この解説は英語版の元記事におけるScott Kyle さんの投稿や他の方のコメント等を超意訳して書いたものです。暗号を解いたのはScottKyleさんです。*1

========

まず暗号文。

f:id:md2tak:20090922173553j:image

改行を削って、文字数をカウントすると9桁の数字になる。最後に0を加えた番号が10桁(6172748660)になる。

googleがそんなちゃちな暗号を作るわけが・・・電話が繋がった!?

Congratulations, you have solved the second more difficult problem.
Unfortunately we have to confess we are not with Google Jobs…blah blah blah.
Leave us your name and number, you wont regret it.

外れでした^^;


真面目にやろうか。

まず記事にある

・比較的単純な換字暗号

・解読の結果はある電話番号

ということを前提に考える。


もし換字暗号で答えに電話番号が含まれるのであれば、文字種として数字が固まるはずなので、

同じ文字を線で繋いで見る。

f:id:md2tak:20090922173358p:image

「2」以降の13文字は一切その前に出てこないので、これが電話番号と当たりがつく。

2O32S5J13JXOJ

しかし、アメリカの電話番号は10桁なので「XOJ」の3文字が余分である。

「OJ」はその前にもでてくるから数字だろう。「X」はなんだ?

あーもしかして内線番号か。(x123みたいな書き方するらしい)。とりあえず数字部は後回し。


電話番号の手前に着目。be動詞や動詞の可能性が高いな。

〜DMQ86II

電話番号の前に来て、最後の二文字が同じである動詞といえば・・・・「CALL」!

86II=callとして暗号を置き換えてみると、

cMLDQaTUlaTFMLRHAANRAaQcEFLDMQ call 2O32S5J13JXOJ

「c〜aTUlaT〜」ってcongratulationsじゃね!?

仮に置いて置換してみる。(M=o,L=n,D=g,Q=r,T=t,U=u,F=i,R=s)

congratulations HAANsAarcEing or call 2O32S5J13JXOJ

うん。悪くない。

ここまでの換字するための表を作ってみる。(アンダースコアは電話番号部分の数字候補)

0123456789 ABCDEFGHIJKLMNOPQRSTUVWXYZ
 ___ _A C     GHI  L_ NO _ RS_TU     

素直にアルファベットが並んでいる模様。隙間を埋めてみる。

0123456789 ABCDEFGHIJKLMNOPQRSTUVWXYZ
 ___ _ABC     GHIJKL_MNOP_QRS_TUVWXYZ

そんでもってもとの暗号文に反映。

congratulations kAApsAarching or call 2O32S5J13JXOJ

「sAarching」は「searching」?グーグルだし。手前がkeepになるし。よさげ。

0123456789 ABCDEFGHIJKLMNOPQRSTUVWXYZ
 ___ _ABC  E  GHIJKL_MNOP_QRS_TUVWXYZ

数字とアルファベットはくっつけてもよさそうだ。Dを埋める。

0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ
 ___ _ABCDE  GHIJKL_MNOP_QRS_TUVWXYZ

数字部がわからん・・・・

congratulations keep searching or call 2O32S5J13JXOJ

0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ
 ___ _ABCDE  GHIJKL_MNOP_QRS_TUVWXYZ

「BC」の部分は「f_」か「_f」のどっちかだろう。他の補完した奴が「_m」,「_q」だから、多分「_f」だろう^^;


0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ
 ___ _ABCDE_FGHIJKL_MNOP_QRS_TUVWXYZ

残った文字が10文字。「012345BJOS」これが数字になるんだろう。

アルファベットのBJOSを入れ替えると・・・「JOBS」!?

そういえば外れメッセージに、「Jobs…blah blah blah.」ってあったな。

ということは「JOBS012345」=「0123456789」ってことか。

0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ
456789ABCDE2FGHIJKL0MNOP1QRS3TUVWXYZ

となると暗号文はこうか。よっしゃー!外れの番号にも似てるし問題なさそう。

congratulations keep searching or call 6176390570X10

あーでもボクは暗号解けて満足だから、電話はいいや^^。

========

というお話でした。なんかおかしなところがあったら教えてください。修正します。

*1:ただ論理的な補強のために自分で付け加えた部分もあります。

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証