「暗号解読タイムアタック」問題・解答
第一問
次の暗号を解け。
ヒント
ヒント1:0と1ではない
ヒント2:モールス
解答はこちら
「どんなになきわめいたつてかこにはもどれないのです 」
高い音を-、低い音を・としてモールス信号で解読する。
(作成者:𥧔。さん)
第三問
次の暗号を解け。
ヒント
ヒント1:おきこみゅからのひんと:ほんけをみよ.
ヒント2:Book cipher
解答はこちら
「いみこむいっしゅうねんおめでとう 」
コロンで区切った一つ目の数字からそれぞれ、
曲:行:文字数
のように対応している。
(文字数は平仮名にして数えたものとする)
(曲はピリオドの数で示している)
基本的には歌詞をひらがなにして数えたものと考えて良い)
たとえば1:1:1:2は「.」の1番の1行目2モーラ目、つまり「け"い"たいげーむのうら」の「い」となる
ヒント①は本家すべあなを見よという指示及び平仮名で対応していることの示唆。ヒント②は書籍暗号であるというモロ答え。
(作成者:最定期置き場/Okibazoku Communityさん)
解答はこちら
「prik kee noo」
(以下全て空白の所為です。氏のツイートより引用・一部編集)
まずは文字の処理。小さく表記されている文字は、上付き小文字から「累乗」を連想してもらいたかった。X乗のことを、^Xと記載することがあるが、これをキャレット記法(制御文字の記法)に見立てることで、ASCIIの範囲内全てを印字可能とした。
ASCIIの範囲内に全てが含まれているとわかれば、全ての値を16進数に変換可能になる。問題に記載されているヒントから、まずは16進数から始めてほしい。いきなり手順3へ進むこともできるが、それはとてもむずかしいことだ。
16進数に変換すると、これらの文字が表す値が高々0x7Bであることに気づく。これは124以下の値であることから、これらが実は5進数3桁で表現可能である、ということに気づいてもらいたかった。その部分のヒントとして、「3桁」というヒントを出した。
問題に記載された「箱」の区切り内にある、3桁の5進数5つを全て繋げる。これにより、5進数15桁が33個得られることになる。「繋ぐ」というのはそういうことだ。
矢印に従い、この箱を並び替える。矢印は読む順番が左から右へと繋がっていることを示すと同時に、これらが縦につながることを表現している。
これらの箱は左上を一番上にして、右へ向かうよう縦に積みあげられる。これにより、33行の数列が出来上がることになる。
これだけでは何のことかわからないが、33という数字からピンと来る人がいるかも知れない。これらの5進数は、全て2進数に変換することでゼロパディングを含め33桁の2進数となる。33x33の2進数の羅列が、このようにして出来上がることになる。
この2進数文字列の1を黒、0を白とすると、QRコードが現れる。これを読み込むと、「no eggplant, no leek, and so on」という文字列となっている。しかしこれは解ではない。次はこの意味を考える必要がある。
ここでないとされているものは「won't fix」の楽曲名である。「修正はない」ことの否定なので、修正が必要だという意味になる。ここで、この文字列のQRコードを再生成することで、得られたQRコードと異なることがわかるだろう。なので、元のQRコードとの間で差分を取る。
ここで取得した差分を見ると、塗り替えられている箇所が横1セルか、横2セルの連続のみであることに気づく。ここで、1セルを・、2セルを-と見立て、モールス信号で行ごとに復号することが可能になる。
以上により、得られる文字列は "prik kee noo" タイ料理などに使われる唐辛子、「プリッキーヌ」。これが解となる。