¿Cómo funciona el cifrado AES / Rijndael en general?
Esta página tiene una guía divertida de A Stick Figure para el Advanced Encryption Standard (AES) que parece fácil de entender, aunque parece tener más de 50 imágenes, por ejemplo, estas dos:
y
Es demasiado para duplicarlo todo aquí, pero si tiene que tener una imagen todo en uno, es esta:
O bien, hay una explicación más compacta en http://www.password-depot.com/know-how/blowfish_and_rijndael.htm
El método de cifrado de Rijndael se basa en reemplazar, cambiar y realizar operaciones xor en bytes. El método se ve así:
- A partir de la clave de 128 bits, Rijndael genera 10 claves de 128 bits cada una.
- Estas claves se colocan en matrices 4x4.
- El texto plano también se divide en matrices 4x4 (128 bits cada una).
- Cada uno de los elementos de texto sin formato de 128 bits se procesa en 10 rondas (10 rondas para claves de 128 bits, 12 para 192, 14 para 256).
- Después de la décima ronda se genera el código.
- Cada byte individual se sustituye en un cuadro S y se reemplaza por el recíproco en GF (2 8).
- Luego se aplica una matriz de módulo 2 en cuanto a bits, seguida de una operación XOR con 63.
- Las líneas de las matrices se ordenan cíclicamente.
- Las columnas de la multiplicación de la matriz se intercambian en GF (2 8).
- Las subclaves de cada ronda están sujetas a una operación XOR.
El nivel de seguridad de este método de cifrado aumenta si Rijndael se realiza varias veces con diferentes subclaves.
¿Cómo funciona Ubuntu Full Disk Encryption?
Yo creo que funciona mediante el cifrado de una partición con LUKS (configuración predeterminada con AES), y luego se pone algunos volúmenes en él con LVM (como /
, intercambio) y descifra y montajes ellos en el arranque después de introducir una contraseña. Y hay una partición de arranque normal (no encriptada) que arranca lo suficiente como para pedir la frase de contraseña.
the_simple_computer's Guide to Full Disk Encryption with Ubuntu (Actualizado el 28 de junio de 2015) dice que se trata de cómo funciona el cifrado del instalador predeterminado y menciona que el arranque dual no funcionaría (al menos no fuera de la caja), la unidad debe usar MBR así que " si su computadora tiene UEFI, la distribución se instalará en el modo BIOS heredado para que no pueda usar el Arranque seguro " y " también le da un tamaño de intercambio igual al de la RAM de su sistema (a menudo innecesario) y usted no tengo elección sobre qué tipo de cifrado se utiliza " .
¿Qué tan rápido es el cifrado?
Si lo ejecuta cryptsetup benchmark
, ejecutará pruebas y le informará sobre qué tan rápido toma el cifrado solo, observe las líneas aes-xts predeterminadas (actualmente):
# Algorithm | Key | Encryption | Decryption
aes-xts 256b 150.0 MiB/s 145.0 MiB/s
La velocidad de lectura promedio de un disco duro podría ser de 80-160 MB / s, por lo que no durará mucho más que una lectura normal, y es posible que los sectores de solo lectura ya hayan sido descifrados mientras aún espera el disco duro para leer más.
Un SSD posiblemente podría ser más rápido, tal vez 200-550MB / s, por lo que podría notarlo. Pero, las lecturas aleatorias podrían ser más lentas, y he leído que las velocidades de SSD pueden disminuir después del uso (¿tal vez cuando la unidad se llena por completo y tiene que comenzar a "borrar" sectores?)
¿Cómo puede la computadora cifrar / descifrar completamente toda la unidad en solo unos segundos (no toma más tiempo arrancar o apagar)?
No tiene que descifrar todo primero. El cifrado (LUKS) funciona en bloques de datos , puede descifrar aleatoriamente cualquier bloque y actúa como una capa entre los datos cifrados de la unidad y lo que ve el sistema de archivos.
Cuando el sistema de archivos quiere ver cualquier bloque de datos, LUKS descifra ese bloque primero y luego entrega los datos descifrados al sistema de archivos. Primero espera a que la unidad lea el bloque de datos (al igual que sin usar cifrado), y solo tiene un retraso adicional para el descifrado de ese bloque único (o pocos bloques) de datos , y si el descifrado es más rápido que la unidad puede leer, el descifrado podría finalizar antes de que la unidad lea el siguiente bloque de datos.
Entonces, al igual que un sistema de archivos normal no necesita leer todo el disco para leer un archivo, cuando se agrega el cifrado tampoco necesita leer todo el disco, y no hace las cosas mucho más lentas.
Los datos en el disco duro siempre están encriptados , por lo que no hay nada que hacer al apagar, excepto olvidar la clave.