2012-10-04 25 views
8

シードされたSHA1PRNGアルゴリズムでSecureRandomを使用して、2つのプロセス間の共有ランダム性を作成しています。私は最近、SHA1がNISTの基準に従って非難されていることを知ったので、私たちはSHA256に切り替えるために努力しています。私が発見した問題は、少なくともOracle's documentationによると、SecureRandomはSHA1PRNGのみをサポートしているということです。 SHA256でSecureRandomを使用する方法があるのか​​、それともSecureRandomを使用するのに適した代替方法があるのだろうと思っていましたか?私はあなたがこのドキュメントを参照している理解しSHA-256でのSecureRandomの使用

+0

私はBouncyCastleが解決策ですが、SecureRandomの実装を出荷するようには見えません。共有ランダム性のより高いレベルの目的を説明できますか?恐らく別のアプローチを考え出すことができますか? –

答えて

14

デビッドは、: http://csrc.nist.gov/publications/nistpubs/800-131A/sp800-131A.pdf

してもよいし、私は何かが欠けています。しかし、それは言う:

From January 1, 2011 through December 31, 2013, the use of SHA-1 is deprecated 
for digital signature generation. The user must accept risk when SHA-1 is used, 
particularly when approaching the December 31, 2013 upper limit. 

をしかし、私はSHA1は、乱数生成のためokです理解し、それは、そう

For all other hash function applications, the use of SHA-1 is acceptable. The 
other applications include HMAC, Key Derivation Functions (KDFs), Random Number 
Generation (RNGs and RBGs), and hash-only applications (e.g., hashing passwords 
and using SHA-1 to compute a checksum, such as the approved integrity technique 
specified in Section 4.6.1 of [FIPS 140-2]). 

を言うの下に。

+0

ありがとう!私はSHA256への移行を指示されただけで、文書を実際に見たことはありませんでした。これを私の上司に必ず伝えておきます! –

+0

ようこそ。 –

3

私はビクターの声明全体に同意します。しかし、NIST SP800-131aのセクション4では、NIST SP800-90またはANSI X9.62-2005で言及されているRBGを使用しないRNGを2015年にタイムアウトさせるテーブルがあります。