Muy a menudo veo .NET class Random
que se utiliza para la generación de contraseñas.¿Cómo demuestro que la clase .NET aleatoria no es adecuada para generar contraseñas?
Por un lado, this question I asked earlier muestra que generar un grupo de datos "secretos" usando class Random
produce datos bastante predecibles. Por otro lado, actualmente estoy tratando de realizar esa predicción exacta y mi código funciona a una velocidad de aproximadamente seis millones de conjeturas por día en un solo núcleo, no extremadamente rápido, tomará casi un año enumerar todos los valores iniciales posibles a ese ritmo.
¿Existe alguna forma más clara y más rápida de mostrar que las contraseñas generadas con los datos de class Random()
son mucho más débiles de lo que se esperaba normalmente?
¿Por qué no simplemente mostrarles la respuesta de Eric Lippert y la pregunta que vinculó? Incluso muestra un ejemplo de generación de números aleatorios criptográficos: si intenta convencer a las mentes de los negocios, simplemente mencionar la palabra criptográfica debería funcionar: --P –
Creo que tiene la lógica al revés. Si hay una aplicación que es crítica para la seguridad, la carga está en aquellos que proponen una solución para demostrar que la solución cumple con los requisitos de seguridad. Dudo que alguien pueda hacer esto por la clase aleatoria de .NET. Los PRNG utilizados en aplicaciones de cifrado tienen propiedades de seguridad definidas, por lo que es posible demostrar que cumplen con los requisitos definidos. –