暗号の問題「ホテルの部屋番号」
sjk-e351 (2002/02/27(Wed) 22:28:53)
世界にその名を知らしめる、とある大手コンピュータ会社。
ここでは現在、史上画期的なシステムの開発がすすんでいる。
その最終的な調整が、都内のあるホテルの一室にて、秘密裏
に行われる。
しかし、その技術を盗もうとする産業スパイも数多くおり、
その対策の一環として、この会議の行われる部屋番号は、暗号
にて社内に伝達された。
あるスパイが、苦心の末、その暗号部分だけを入手するこ
とに成功した。しかし、解読方法については、全く分かってい
ない。
以下がその暗号で、会議の行われる部屋番号が記されている
のだが、一体何号室で行われるのだろうか?
消去:メイン
52:31568959
69:85215520
7: 4372652
21:15881394
49:34890369
91:69561633
83:63113854
……状況設定に難があるかも知れませんが、悩んでいただければと
思います。なお、暗号文に使われている0と1はいずれも数字で、
アルファベットではありません。
sjk-e351 (2002/03/10(Sun) 19:17:44)
ついに、このスパイが暗号を解読した。
彼いわく、「いかにもコンピュータに携わる人間が考え付きそうな
暗号システムだ。」という。
また、そのホテルは9階建で、部屋番号は、例えば3階の15号室なら
「315」のように、3桁で表されるという。従って、この暗号も3桁の
数字を表していたそうだ。
sjk-e351 (2002/03/18(Mon) 20:18:27)
「消去」と「メイン」の数字を、それぞれ2進数に
直してみてください。
そこから先は、さすがにノーヒントで…
有瀬 (2002/03/18(Mon) 23:37:41)
1を■、0を「 (スペース)」にすると見やすくなりました!
「805」号室ですね。
sjk-e351 (2002/03/20(Wed) 17:41:35)
有瀬さん、その通りです。
解読方法は次の通りです。
(1)消去とメインの十進数を、二進数に直す。
52:31568959
→ 110100:01111000011011010000111111
69:85215520
→ 1000101:101000101000100100100100000
7: 4372652
→ 111:10000101011100010101100
21:15881394
→ 10101:0111100100101010010110010
49:34890369
→ 110001:10000101000110001010000001
91:69561633
→ 1011011:100001001010110110100100001
83:63113854
→ 1010011:011110000110000101001111110
(2)「消去」の二進数が「メイン」の二進数の中に、
各々一か所ずつ含まれていることに着目し、「メイン」
から「消去」を取り去る。
110100:01111000011011010000111111
→ 01111000011000111111
1000101:101000101000100100100100000
→ 10000100100100100000
111:10000101011100010101100
→ 10000101000010101100
10101:0111100100101010010110010
→ 01111001000010110010
110001:10000101000110001010000001
→ 10000101000010000001
1011011:100001001010110110100100001
→ 10000100100100100001
1010011:011110000110000101001111110
→ 01111000011000011110
(3)取り去った後の二進数は、全て桁数が同じである。
この二進数を並べる。
01111000011000111111
10000100100100100000
10000101000010101100
01111001000010110010
10000101000010000001
10000100100100100001
01111000011000011110
(4)1を黒、0を白のドットとして、この二進数を「文字」
とみなす。すると、「805」という文字が浮かんでくる。
□■■■■□□□□■■□□□■■■■■■
■□□□□■□□■□□■□□■□□□□□
■□□□□■□■□□□□■□■□■■□□
□■■■■□□■□□□□■□■■□□■□
■□□□□■□■□□□□■□□□□□□■
■□□□□■□□■□□■□□■□□□□■
□■■■■□□□□■■□□□□■■■■□
sjk-e351 (2002/03/20(Wed) 17:43:11)
「済」にチェックするのを忘れていました。
ちなみに、「805」は、私が以前住んでいた
団地の部屋番号です(どうでもいいことですが)。
※ 問題中に使用されている人名、地域名、会社名、組織名、製品名、イベントなどは架空のものであり、実在に存在するものを示すものではありません。