『量子コンピュータの登場』と『不可逆ハッシュ値からのデータ復元』と『容量の小さい通信』
昨今、量子コンピュータにおける技術進歩が著しく、”従来のノイマン型コンピュータのセキュリティでは太刀打ちできない事態”が発生する恐れがあると警鐘を鳴らす専門家も少なくない。量子コンピュータの登場によって“全ての可能性を検証することが可能”になったため、ハッシュ値を容易に復号化することが可能性が浮上した。つまり、我々が入力しているパスワードをハッシュ値として保持しておくことが、危険な状態となる。
ハッシュ値ってなんぞや?
簡単に言ってしまえば”改ざんの有無の確認”に使われるものである。例えAさんとBさんの会話を下記に参考にしてもらいたい。
Aさん:『(Bさんに”世界の秘密.bmp”を送らなきゃ。)』
Aさん:『Bさん、昨日話してた”世界の秘密.bmp”を今日メール送ることにしたよ。』
Aさん:『このファイルのハッシュ値は”033….5bf”だよ。確認しといてね。』
Bさん:『了解。』
Aさん:『送信したよ。確認してね。』
通常バージョン
Bさん:『メール来たよ。ハッシュ値は”033….5bf”だね。どうやら改ざんされてないようだ』
Aさん:『よかったです。』
異常バージョン
Bさん:『メール来たよ。ハッシュ値は”098….4f6″だね。!?』
Aさん:『ハッシュ値が違うようだね。これは改ざんされているようだ。』
このようにハッシュ値を使うことによって改ざんされているかされていないかを確認することができる。
なぜパスワードがバレてしまうか?
通常であればパスワードはハッシュ値化されており、ログインの際に文字列を入力した内容を再度ハッシュ値化し比較を行う。認証手順については【画像1】を参考にしてもらいたい。このようにして日々我々は安全を確保している。
しかし、”password”のような単純なパスワードは量子コンピュータの脅威以前の問題であることが感の鋭い人なら気がつくのではないだろうか?例えばクラッカーが予め”password”をハッシュ化し、流出した資料から一致するアカウント/パスワードを見つけ出せばすぐに解除されてしまう。だからこそ複雑で予想されにくいパスワードが求められている。
量子コンピュータによって暴かれるハッシュ値
0と1の状態、一度に二つの状態を保持することができる。これだけではよくわからないが【画像2】を参照してもらいたい。2ビット時の表示の場合だと通常1通りしか選択することが出来ないが、量子コンピュータだと同時に全通りがわかる。簡単に言ってしまえば全ての状態を同時に保持しているのが量子コンピュータである。
しかもこれは2ビットに限った話しではなく、2^10だろうが2^∞だろうが理論上同時に存在可能なのである。本題であるハッシュ値を暴く話しはここに直結する。ここではビットの話しであるが、ハッシュ値(MD5)は16進数で構成され桁数は32桁である。【画像3】で確認するとそのことがわかる。
つまり16^32 (16の32乗)を計算すると340282366920938463463374607431768211456通りになることがわかる。し…しかし量子コンピュータならこの通りの中に解があることがわかっている。ただしそれを選択するのは多分ノイマン型コンピュータであることをお忘れなく。某キャラクターの名言である”真実はいつもひとつ”とはまさにこのこと。犯人(解)を割り出すためには推理(検証)する時間が必要となる。
時間をかければパスワードが暴かれてしまう恐れがある。それも従来よりも短時間でというのが結論である。
ハッシュ値を利用した高速インターネットの実現
もしかしたら量子スマホが登場したら。32バイトでヤホーやGoogleのホームページを見れるようになるかもしれない。低速モードでも高速にインターネットサーフィンが出来るのかもしれない。【画像4】ではYahooのトップページ全体をハッシュ値化し、そのハッシュ値のみを量子スマホに送信した場合を考える。
メインの平文の部分のみを考えると32バイトで送信することが可能となる。アドレスやCRCなどはまた別次元の話しなのでここでは無視する。量子スマホにハッシュ値32バイトのみを送信し、量子スマホの中で解を見つけ出し解決できれば良いことになる。劇的に通信料を減らすことが可能になると同時に通信の高速化なども同時に行うことができる。
まとめ
以上!エイプリルフールに寄稿!
最近のコメント