|
Blum-Blum-Shub(B.B.S.)は、マヌエル・ブラムとLenore BlumとMichael Shubが提案した暗号論的擬似乱数生成器である。1986年に発表された (Blum et al, 1986)。 漸化式は次のような形をしている。 :''x''''n''+1 = (''xn'')2 mod ''M'' ここで ''M=pq'' は2つの素数 ''p'' と ''q'' の積である。アルゴリズムの各ステップにおいて、''x''''n'' から何らかの出力が得られる。この出力は一般に ''x''''n'' のビットパリティを使うか、または ''x''''n'' の1ビット以上の最下位ビット列を使う。 2つの素数 ''p'' と ''q'' は共に、(mod 4 で)3 と合同で(これにより、それぞれの平方剰余が1つの平方根を持ち、それ自身も平方剰余となる)、かつ gcd(φ(''p''-1), φ(''q''-1)) が小さいのが望ましい(これにより、反復周期が長くなる)。 Blum-Blum-Shub の興味深い性質として、任意の ''x''''i'' の値を次のように直接計算することができる。 : == セキュリティ == 暗号論的擬似乱数生成器であるため、情報セキュリティや暗号目的で使われる。計算量的に不利なためシミュレーションなどには向かない。セキュリティ目的での強度としては、素因数分解の複雑さを利用した暗号の品質に匹敵する。適切な素数を選べば、各 ''xn'' の O(log log ''M'') ビットの下位ビット列が出力となり、''M'' を無限大に近づけると、そのビット列と乱数を見分けることは、''M'' を素因数分解するのと同程度かそれ以上に困難となる。 素因数分解が困難であれば、十分に大きな ''M'' の B.B.S. の出力から、ランダムでないパターンを適切な量の計算で検出することはできない。このため、RSA暗号のような素因数分解問題を利用した暗号技術と同程度に安全とされている。 抄文引用元・出典: フリー百科事典『 ウィキペディア(Wikipedia)』 ■ウィキペディアで「Blum-Blum-Shub」の詳細全文を読む スポンサード リンク
|