Come funziona la crittografia AES / Rijndael in generale?
Questa pagina contiene una divertente guida di A Stick Figure a Advanced Encryption Standard (AES) che sembra facile da capire, anche se sembra essere più di 50 immagini, ad esempio queste due:
e
È troppo per duplicare tutto qui, ma se devi avere un'immagine all-in-one è questa:
Oppure, c'è una spiegazione più compatta su http://www.password-depot.com/know-how/blowfish_and_rijndael.htm
Il metodo di crittografia Rijndael si basa sulla sostituzione, modifica ed esecuzione di operazioni xor su byte. Il metodo è simile al seguente:
- Dalla chiave a 128 bit, Rijndael genera 10 chiavi da 128 bit ciascuna.
- Questi tasti sono collocati in array 4x4.
- Il testo normale è inoltre diviso in array 4x4 (128 bit ciascuno).
- Ciascuno degli elementi di testo semplice a 128 bit viene elaborato in 10 round (10 round per chiavi a 128 bit, 12 per 192, 14 per 256).
- Dopo il decimo round viene generato il codice.
- Ogni singolo byte viene sostituito in una casella S e sostituito dal reciproco su GF (2 8).
- Quindi viene applicata una matrice modulo-2 bit-saggia, seguita da un'operazione XOR con 63.
- Le linee delle matrici sono ordinate ciclicamente.
- Le colonne della moltiplicazione della matrice vengono scambiate su GF (2 8).
- Le sottochiavi di ogni round sono soggette a un'operazione XOR.
Il livello di sicurezza di questo metodo di crittografia aumenta se Rijndael viene eseguito più volte con diverse sottochiavi.
Come funziona la crittografia completa del disco di Ubuntu?
Credo che funzioni crittografando una partizione con LUKS (impostazioni predefinite con AES), quindi inserendo alcuni volumi con LVM (come /
, swap), e li decodifica e li monta all'avvio dopo aver inserito una passphrase. E c'è una partizione di avvio regolare (non crittografata) che si avvia abbastanza da richiedere la passphrase.
the_simple_computer's Guide to Full Disk Encryption with Ubuntu (Aggiornato il 28 giugno 2015) dice che riguarda il funzionamento della crittografia dell'installer predefinito e menziona che il dual-boot non funzionerebbe (almeno non pronto all'uso ), l'unità devi utilizzare MBR in modo che " se il tuo computer è dotato di UEFI, la distribuzione verrà installata in modalità BIOS legacy in modo da non poter utilizzare Secure Boot " e " ti dà anche una dimensione di swap uguale a quella della RAM del tuo sistema (spesso non necessaria) e tu non ha scelta sul tipo di crittografia utilizzato. "
Quanto è veloce la crittografia?
Se lo esegui cryptsetup benchmark
, verranno eseguiti dei test che ti diranno quanto velocemente impiega la crittografia da sola, controlla le linee (attualmente) predefinite aes-xts:
# Algorithm | Key | Encryption | Decryption
aes-xts 256b 150.0 MiB/s 145.0 MiB/s
Una velocità di lettura media del disco rigido potrebbe essere 80-160 MB / s, quindi non sarai molto più lungo di una lettura normale ed è possibile che i settori appena letti siano già stati decifrati mentre stai ancora aspettando disco rigido per leggere di più.
Un SSD potrebbe essere più veloce, forse 200-550 MB / s, quindi potresti notarlo. Ma le letture casuali potrebbero essere più lente e ho letto che le velocità dell'SSD possono rallentare dopo l'uso (forse quando l'unità si riempie completamente e deve iniziare a "cancellare" i settori?)
Come può il computer crittografare / decrittografare completamente tutte le unità in pochi secondi (non ci vuole più tempo per l'avvio o l'arresto)?
Non deve prima decifrare tutto. La crittografia (LUKS) funziona su blocchi di dati , può decrittografare casualmente qualsiasi blocco e si comporta come un livello tra i dati crittografati dell'unità e ciò che vede il filesystem.
Quando il filesystem vuole vedere qualsiasi blocco di dati, LUKS prima decodifica quel blocco e quindi fornisce i dati decrittografati al filesystem. Prima devi aspettare che l'unità legga il blocco di dati (proprio come senza usare la crittografia) e hai solo un ritardo in più per la decodifica di quel singolo blocco (o pochi blocchi) di dati - e se la decrittazione è più veloce del disco può leggere, la decrittografia potrebbe essere terminata prima che l'unità legga il blocco di dati successivo.
Quindi, proprio come un normale filesystem non ha bisogno di leggere l'intera unità per leggere un file, quando viene aggiunta la crittografia non è nemmeno necessario leggere l'intera unità e non rende le cose molto più lente.
I dati sul disco rigido sono sempre crittografati , quindi non c'è nulla da fare all'arresto se non dimenticare la chiave.