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.
- ¿Cuáles son las principales estrategias para representar conceptos cualitativos como conceptos cuantitativos?
- ¿Cuál es la justificación rigurosa de la exactitud de la segunda formulación de la solución DP de corte de varillas en CLRS?
- Cómo crear un cuestionario de matemáticas en Python
- ¿Qué tipo de matemáticas debo estudiar para comprender mejor la teoría detrás de la programación?
- ¿Por qué la investigación sobre el problema P vs NP no está más financiada?
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.