Estoy tratando de determinar si un RNG de hardware es realmente más seguro que RNGCryptoServiceProvider.¿Es RNGCryptoServiceProvider tan bueno como un RNG de hardware?
Dado que la aleatoriedad de RNGCryptoServiceProvider se proporciona el uso de diversos datos de sistema y de usuario tal como el ID de proceso, ID hilo, reloj del sistema, la hora del sistema, el contador del sistema, estado de la memoria, las agrupaciones libre en disco, y hash bloque de entorno de usuario junto con algoritmos de criptografía de estándar internacional[ref], ¿existen realmente algunas buenas razones para usar un RNG de hardware para una aplicación de seguridad, además de la velocidad?
EDITAR: Me gustaría suponer en todo esto que la computadora en la que se ejecuta el RNG no está comprimida, es decir, no hay una aplicación de espionaje.
La pregunta más importante debería ser: * ¿Es 'RNGCryptoServiceProvider' lo suficientemente seguro para mis requisitos *? – LukeH
Tenga en cuenta que incluso los RNG de hardware presentan un sesgo ya que ningún proceso físico es perfectamente simétrico y equilibrado. La mayoría de los RNG de hardware (buenos) tienen etapas de blanqueamiento de datos y otros trucos (p. Ej., Actualizaciones periódicas de RNG h/w para un PRNG) para obtener "buenos" resultados. Las distribuciones entrópicas son idénticas (de lo contrario, un diseño no lo corta). – DeepSpace101