El punto es proporcionar entropy . Truecrypt debe generar una clave secreta para el volumen. Lo hace generando un montón de random bits. Aquí (como suele ocurrir en la criptografía), lo importante no es realmente que los bits que componen la clave son aleatorios en un sentido estadístico, sino que la clave no puede ser predicha o reproducida por un atacante. Una computadora es una máquina determinista¹: si el atacante sabe en qué estado se encontraba cuando comenzó a generar la clave, puede ejecutar Truecrypt y generar la misma clave.
Al mover el mouse, está proporcionando una entrada que el atacante no puede reproducir. Cuanta más entrada proporcione, más difícil será reproducir la clave. Por ejemplo, si la computadora solo registraba un solo movimiento como a la izquierda o a la derecha, entonces solo habría dos claves posibles, y el atacante podría probar ambas; la clave solo tendría 1 bit de entropía (sin importar qué tan larga sea la clave). Idealmente, la clave debe ser completamente aleatoria; Si la clave es, digamos, una clave de 128 bits, el generador de números aleatorios debe tener 128 bits de entropía disponibles. Los movimientos humanos son algo predecibles (no vas a mover el mouse a dos metros a la izquierda), pero cuanto más te mueves, más entropía introduces en la piscina.
El movimiento del ratón no está relacionado con las 100.000 rondas. Las rondas son un problema diferente, relacionado con lo difícil que es para el atacante reproducir su contraseña . Los humanos son notoriamente deficientes para elegir y recordar contraseñas complejas, por lo que el atacante puede probar todas las contraseñas plausibles por la fuerza bruta. Por esta razón, los sistemas criptográficos que usan contraseñas no las usan tal como están, sino que realizan algunos cálculos (un hash criptográfico, por ejemplo, PBKDF2 generalmente se recomienda en estos días) en la contraseña muchas veces. Este cálculo es costoso; su tiempo de ejecución es proporcional al número de rondas. El sistema debe realizar este cálculo iterado una vez por intento de contraseña; el atacante también debe realizarlo una vez por intento de contraseña. Si su sistema tarda 1 segundo en procesar su contraseña cuando monta el volumen en lugar de 10 microsegundos, no es un gran problema, ya que el procesamiento de la contraseña es solo una pequeña fracción de lo que usa su CPU. Pero para el atacante, que está gastando todo su tiempo de CPU en contraseñas de acceso forzado, es capaz de realizar solo 1 intento de craqueo por segundo y no 100,000 por CPU es un gran éxito.
¹ Algunas computadoras tienen un generador de números aleatorios de hardware, que deriva su aleatoriedad de fuentes físicamente imposibles de predecir (o al menos ocultas y extremadamente difíciles de predecir). La decadencia nuclear es buena para esto pero poco práctica. En dispositivos móviles, el ruido blanco de la cámara funciona bastante bien. Pero muchas computadoras carecen de tal generador aleatorio de hardware.