He estado utilizando SecureRandom con un algoritmo SHA1PRNG para crear aleatoriedad compartida entre dos procesos. Recientemente me enteré de que SHA1 está siendo desaprobado de acuerdo con los estándares del NIST, por lo que estamos haciendo un esfuerzo para cambiar a SHA256. El problema que he descubierto es que SecureRandom SOLO es compatible con SHA1PRNG, al menos según Oracle's documentation. Me preguntaba si hay una forma de usar SecureRandom con SHA256, o probablemente sea mejor, ¿cuál es una alternativa adecuada para usar SecureRandom?Uso de SecureRandom con SHA-256
Respuesta
David, como entiendo que usted se refiere a este documento: http://csrc.nist.gov/publications/nistpubs/800-131A/sp800-131A.pdf
puede ser, me estoy perdiendo algo. Sin embargo, lo que dice:
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.
Sin embargo, a continuación se dice
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]).
Así, según entiendo SHA1 es aceptable para la generación de números aleatorios.
¡Gracias! Solo me indicaron que pasara a SHA256 y no había visto el documento yo mismo. ¡Me aseguraré de pasar esto a mi supervisor! –
De nada. –
Acepto la declaración de Victor en general. Pero como aclaración adicional, la sección 4 del NIST SP800-131a tiene una tabla que separa los RNG que NO usan RBG como se menciona en NIST SP800-90 o ANSI X9.62-2005 se agotarán en 2015.
- 1. SecureRandom en JavaScript?
- 2. ¿BouncyCastle tiene un servicio SecureRandom?
- 3. Descifrar SHA256
- 4. ¿SecureRandom es seguro para subprocesos?
- 5. SecureRandom semilla segura en Java
- 6. ¿Cómo es seguro ActiveSupport :: SecureRandom?
- 7. Generar sha256 con OpenSSL y C++
- 8. sha256 función Indefinido()
- 9. SHA256 digest en perl
- 10. hash SHA256 en Python 2.4
- 11. función sha256 en SQL Server
- 12. ¿Cuánto dura el hash SHA256?
- 13. Excepción al llamar a MessageDigest.getInstance ("SHA256")
- 14. Generando SHA256 en iphone/Objective C ...?
- 15. ¿Un hash SHA256 siempre tendrá 64 caracteres?
- 16. ¿Cómo se ve la cadena hexadecimal SHA256?
- 17. Generar SHA256 cadena en C Objetivo
- 18. ¿Cuál es el formato de salida de SHA256
- 19. HMAC SHA256 hex digest de una cadena en Erlang, ¿cómo?
- 20. Módulo de criptografía Erlang - ECDSA, RSA, SHA256 y así sucesivamente
- 21. Calcula el resumen HMAC-SHA256 en ColdFusion usando Java
- 22. ¿Cuántos hashes SHA256 puede computar una computadora moderna?
- 23. Computar SHash SHA256 en Android/Java y C#
- 24. PHP crypt() con sha256 en Zend Server CE 5.5 trunca la sal suministrada
- 25. Generando un hash SHA256 con Crypto ++, usando una cadena como entrada y salida?
- 26. SHA256 con firma RSA devuelve diferentes salidas en varios dispositivos Android
- 27. Cómo obtener Ruby generó HMAC para SHA256 que es seguro para comparar con Java?
- 28. Quiere convertir una contraseña de sitio web de cifrado de SHA1 a SHA256
- 29. Uso de HashSets con ObservableCollection con WPF
- 30. Uso de hibernación con genéricos
Tenía la esperanza de que BouncyCastle ser una solución, pero no parecen enviar una implementación de SecureRandom. ¿Puedes explicar el propósito de mayor nivel de tu aleatoriedad compartida, quizás podamos idear un enfoque diferente? –