Criptografía: ¿Cómo describirías la diferencia entre la longitud de la contraseña y la longitud de la clave de una criptografía como AES?

El concepto que estás buscando aquí es entropía. El objetivo, en términos generales, de una buena criptografía es hacer que el algoritmo sea público y conocido, y tener toda la seguridad en la clave. Si no se conoce la clave, la seguridad está intacta.

Una definición intuitiva de entropía es qué tan bien se puede comprimir el espacio de entrada. Cuanto menor sea la compresión posible (lo que significa una distribución mejor o más uniforme), mejor será la entropía.

En el caso de AES-128, si la clave se elige bien, tiene 128 bits de entropía, lo que significa que se necesitarán 2 ^ 127 conjeturas para adivinar la clave.

Del mismo modo, lo ideal es que su esquema de hash de contraseña tenga la propiedad de que la mejor manera de atacarlo es adivinar la contraseña. Entonces, si su contraseña tiene mucha entropía, será difícil de adivinar.

Ahora aquí es donde se pone un poco turbio, porque los humanos son generadores de contraseñas aleatorias notoriamente malas y producen contraseñas que se pueden adivinar fácilmente en el hardware de los productos básicos sin mucho tiempo. Hablando estadísticamente, en base a grandes bases de datos de contraseñas filtradas de los servicios en línea, la mayoría de las contraseñas tienen menos de 40 bits de entropía, y muchas menos que eso, lo que significa que se pueden adivinar en pocos minutos en hardware básico.

¿Cuál es una manera de generar una contraseña con buena entropía? Utilizo el siguiente comando para producir el mío: openssl rand -base64 12

Esto produce una cadena aleatoria de 12 bytes, que tiene 96 bits de entropía. No es lo más fácil de memorizar, pero solo lleva unos 5 minutos.

Dicho todo esto, estoy ignorando los ataques de canal lateral o la posibilidad de que se revelen fugas parciales de la clave contra algún ataque, lo que puede ser muy relevante en la práctica.

More Interesting

¿Qué tan matemática puede ser la informática?

¿Cuáles son las posibles aplicaciones de la inteligencia de enjambre en las finanzas?

¿Qué problemas abiertos en matemáticas tendrían aplicaciones prácticas inmediatas si se resolvieran?

Cómo resolver la recurrencia T (n) = T (n - 1) + n usando el teorema del maestro

¿Se puede enseñar el pensamiento matemático / lógico?

¿Cómo programar gráficos matemáticos con python? ¿Hay algún paquete que los incluya?

Cómo resolver la recurrencia [matemáticas] T (n) = 3T \ left (\ frac {n} {2} \ right) + n \ sqrt {n + 1}

Sistemas distribuidos: ¿El resultado de imposibilidad de FLP y el teorema de CAP de Brewer son básicamente equivalentes?

¿Podría la programación de aprendizaje y las matemáticas cambiar mis patrones de pensamiento?

¿Cómo es O (N ^ 4) la respuesta correcta? ¿Puedes explicarlo paso a paso?

¿Cómo verificamos la inexistencia de un camino hamiltoniano?

¿Cuáles son algunas de las ofertas de colocación dadas a los estudiantes de matemáticas de IIT-K? ¿Son equivalentes a los chicos de CS?

Suponiendo que uno tenga una experiencia limitada en programación, matemáticas y neurociencia, ¿cómo se ingresa a un programa de posgrado para inteligencia artificial o neurociencia computacional?

¿Dónde son útiles o útiles las matrices en el desarrollo de aplicaciones del mundo real?

¿Cuáles son los mejores momentos 'aha' que tiene cuando resuelve problemas de matemáticas / programación?