Japan.internet.com Webテクノロジー - エンフォースシステムズ、無限乱数式暗号エンジンを搭載した USB メモリを販売
こんな記事があったので興味を持って読んでみた。
どうでもいいけど、無限欄数式暗号エンジンだと戻せないような気がするんだけど気のせいだろうか。
無限乱数式の暗号エンジン「InfinitySystem」を開発 (snip) InfinitySystem は内部に10の6,000乗以上の乱数表を備え、一度使用した箇所は二度と使わないという自動管理装置を備えた無限乱数式暗号を実現する。10の6000乗ってことは、およそ2の19800乗 とはいえ、これは「無限乱数」じゃないよね。 さらにいうと、10の6000乗のステートを保存するため(表というからには保存されているんだろう)には、それだけの電子が最低必要だが。宇宙全体に存在する電子の数はたかだか10^87とかそんなオーダー。
というわけで、擬似乱数生成器であることは確か。
で、探してみると解析結果も載ってた。
NIST SP800-22での検定だから、まあおかしい話じゃないと思う。
ちなみに周期については10^6000以上と書いてあるけど、(これはSP800-22には入っていない)具体的にどうやって求めたのかは書いてない。是非知りたいところ。
ところで、
擬似乱数はソフトウェア演算により生成する乱数表の蔑称です。
なんてことが書いてあるけど、蔑称は言いすぎだと思う。
でSP800-22のテスト結果が載ってるけど...
グラフは載ってるけど、p-Valueが載ってないんだよな。なんでだろう。合格したんだったら値を載せたらいいのに。
で、
N6 離散フーリエ変換検定(discrete fourier transform (spectral) test)
これは、普通に作ると通らなかったような気がするんだけど、気のせいか。
SP800-22通ったんだったら、それはそれでいいと思う。多分暗号用乱数としても使えるんだろう。
でも、「無限乱数式」っていうのは、こういうのには使わないなぁ。
擬似乱数ってのは基本的には有限状態機械です。
周期が2^19800乗ってことは、19800bitのステートを持つことになります。当然電子回路で作らなきゃいけないんだから、そのように回路を作るわけです。
で、ステートがでかくなればなるほど、乱数出力するのには計算量が必要になるわけで...どれくらいのスピードが出るのか非常に興味があります。
ところで、17inchPBっぽい側面がWebに載ってるんだけど、
対応OSがWindowsのみ って、もしかしてMacユーザーにけんか売ってますか?
と、思ったらメルセンヌツイスタとか書いてあるな。
たしかに、メルセンヌツイスタは、2^19937-1の周期を持つし(だから無限乱数じゃなく有限乱数)
それなりに速いはずだ。
でも、Wikipediaにあるとおり、
# 暗号論的(計算量理論的)乱数ではない。* メルセンヌ・ツイスタは線形漸化式によって生成されるため、予測可能である。暗号用途で利用するには Blum-Blum-Shub のような非可逆なアルゴリズムを併用すべきである。
であって、メルセンヌツイスターを使っていることは安全性の証明にはならないし、ある程度(最低でも19937の倍は必要だと思うが)の乱数があれば内部ベクトルが判明する可能性がある。
#メルセンヌツイスタを用いた暗号はFubukiっていうのがあるけど、これは「暗号学的にセキュアじゃない擬似乱数生成器をセキュアな暗号にするためにフィルタを設計する」って発想で作られているはず。
#すなわち、このままでは安全性は言えない。
水商売(ここでいう水商売は、水商売ウォッチングで言うところのもの)と同じで、ちゃんと説明すればまともなはずなのに、変な説明をつけているように見えるなぁ。

コメント (2)
分析面白かったです。
これって、何に使うものなんですか?
ただただ乱数を出力するものなんですかねぇ。
投稿者: とうぎ | 2006年10月20日 22:03
日時: 2006年10月20日 22:03
たぶん、USBメモリ用の暗号化に用いるようです。
OS限定していることを考えると、ソフトウェアで暗号化してるんだと思われます。
状態サイズが約20000bitなので、それをどう保存するかが鍵ですね。一個暗号化するのに鍵が1.5KBってちょっと大きすぎる様な気がします。
#どうやって、同じ乱数を使わないようにしてるんだろう。同じ初期値を使わないようにするのは簡単だと思うけど。
投稿者: y_ikeda | 2006年10月21日 07:56
日時: 2006年10月21日 07:56