我は知を探求する者なり!(9)

(前回までのあらすじ)
私はFOMAの携帯スパムメールに潜む電話番号の暗号化解読に成功した。「ILOVEHACKR」に隠されていたのは何やら意味ありげな語呂合わせだった。(id:yaneurao:20050612) しかし、それだけでは真の意味でこの“謎かけ”を解き明かしたとは言えない。この“謎かけ”に答えるためには壮大なる思考実験が必要だったのだ。(id:yaneurao:20050616)


私は寝そべって考えていた。


業者は、何故、こんな長い暗号化方式を採用したのか?


わからない。少なく見ても、090を意味する「IRI」の文字のIの文字は不要だったはずだ。check digitにしても、こんな愚直なcheck sumにするぐらいなら、せめてcheck sumをテキトウな数字での剰余(割った余り)として、文字数を減らすことは出来たはずだ。


業者は、何故暗号を短くする努力をしなかったのか?出来なかったのか?


それは有り得ない。ハードの制御をやっている以上、low levelのシーケンス制御にも精通している技術者のはずだ。暗号に26進数(アルファベット)やら52進数(アルファベット大文字小文字)やら62進数(アルファベット大文字小文字+数字)を採用することぐらいたやすかっただろう。仮にそれが不可能だとしても、090の0までわざわざ暗号化して埋める必要はなかっただろうし、check sumにしてもこんな長い桁にする必要はなかったはずだ。しかも、sumの値を直接数字として埋め込む必要もない。アルファベットに文字置換しておくだけでもこんな解析はされなかったはずだ。


暗号を短くしなくとも不都合が無かったのではないか?


それは無い。USBケーブルからメールを転送していない以上、暗号を入力する時間は無視できないはずだ。


ひょっとして、暗号を短くしなくとも送信件数はそれほど変わらないのではないか?


そんなはずはない。FOMAのボタンを何らかの手段によって叩く以上、ボタンの反応速度を超えた入力は出来ない。すなわち文字数が増えれば単位時間当たりに送信できるメールの数は劇的に減少すると思われる。


本当にそうか?FOMAのボタンの反応速度はどれくらいなのか?


P900iで測定したところ、連続して同じボタンを押す場合は、50ms以上押し下げたあと、50ms以上ボタンを離している時間が必要である。異なるボタンの場合は、50ms押し下げたあと、10ms以上離している時間が必要である。また、メール本文中だとあまり速く入力しても漢字変換のために負荷がかかり文字を取りこぼす可能性がある。文字を取りこぼさないようにするためには、秒間8ボタンを押すのが限界だろう。


では、暗号化された文字列は、アルファベット11文字+おおよそ数字6桁≒17文字を入力するのに何秒かかるのか?


1文字を入力するのに平均3ボタン押さないといけないとしたら、せいぜい秒間3文字程度。暗号入力におおよそ、6秒かかる計算になる。


メール1通の送信にかかる時間は何秒だ?


電話番号を入力して、本文をコピペして送信し、送信完了を待つとすれば、おおよそ10秒。


暗号入力に6秒。これが3秒になれば、どれだけ送信能力が異なるのか?


10+6=16秒。これが、10+3=13秒。16/13 ≒ 1.23倍。23%の速度upになる。


その23%という数字は無視できる数字ではないのか?


1台のFOMAで1日に送信して相手に到着するメールの数は、FOMAの存在確率×1日の秒数(60*60*24) / 16秒。FOMAは300万台(2004年5月当時)だから、存在確率 = 300万/2億 = 1.5%。1.5%×60*60*24/16 = 81通。ただでさえ1台の携帯で81通しかSMSスパムが送れない計算になる。となれば、50台や100台で送るしかないわけで、そのときに23%も送信効率が違えば、FOMA本体の値段(当時2万円程度)×100台×23%=46万も変わってくる。また、実際には、送信のためのハードも必要だから、そのハードも23%分だけ余計に必要になる。これらが無視できる数字だとは到底思えない。

(つづく)