2

probablePrimeの Javadoc :

指定された bitLength で、おそらく素数である正の BigInteger を返します。このメソッドによって返される BigInteger が複合である確率は、2-100 を超えません。

私の質問は、素数を保証するのではなく、ほぼ確実にすることで、これによりどの程度のパフォーマンスが得られるかということです。また、このパフォーマンスの違いは、将来バグが発生するわずかな可能性に見合うだけの価値があるのでしょうか? 特に、暗号化の有効性がこの数が素数であることに依存している場合。

4

2 に答える 2

1

あなたがこれを持っている場合:

特に、暗号化の有効性がこの数が素数であることに依存している場合

probablePrime私の意見では、一種の制約を使用するべきではありません。アルゴリズムの正確性を保証できないためです。

しかし、非素数を取得する確率が非常に低く、たとえばSHA-1 衝突確率に匹敵する場合は、問題ありません。(gitが問題ない場合はそうです)

特定の範囲で素数のプールを使用している場合は、素数のリストを事前に生成してルックアップ テーブルに入れることができます。これにより、O(1)時間の複雑さが増します。

于 2013-10-11T15:03:52.483 に答える