Comment fonctionne le cryptage AES / Rijndael en général?
Cette page contient un amusant guide A Stick Figure de la norme AES (Advanced Encryption Standard) qui semble facile à comprendre, bien qu'il semble s'agir de plus de 50 images, par exemple les deux:
et
C'est beaucoup trop pour tout reproduire ici, mais si vous devez avoir une image tout-en-un, c'est celle-ci:
Ou, il y a une explication plus compacte à http://www.password-depot.com/know-how/blowfish_and_rijndael.htm
La méthode de cryptage Rijndael est basée sur le remplacement, la modification et l'exécution d'opérations xor sur octets. La méthode ressemble à ceci:
- À partir de la clé de 128 bits, Rijndael génère 10 clés de 128 bits chacune.
- Ces clés sont placées dans des tableaux 4x4.
- Le texte brut est également divisé en tableaux 4x4 (128 bits chacun).
- Chacun des éléments en texte brut de 128 bits est traité en 10 tours (10 tours pour les clés de 128 bits, 12 pour 192, 14 pour 256).
- Après le 10e tour, le code est généré.
- Chaque octet unique est substitué dans une case S et remplacé par l'inverse sur GF (2 8).
- Ensuite, une matrice modulo-2 bit par bit est appliquée, suivie d'une opération XOR avec 63.
- Les lignes des matrices sont triées cycliquement.
- Les colonnes de la multiplication matricielle sont échangées sur GF (2 8).
- Les sous-clés de chaque tour sont soumises à une opération XOR.
Le niveau de sécurité de cette méthode de chiffrement augmente si Rijndael est exécuté plusieurs fois avec différentes sous-clés.
Comment fonctionne le Full Disk Encryption d'Ubuntu?
Je pense que cela fonctionne en chiffrant une partition avec LUKS (paramètres par défaut avec AES), puis en y mettant des volumes avec LVM (comme /
, swap), et les déchiffre et les monte au démarrage après avoir entré une phrase secrète. Et il existe une partition de démarrage régulière (non chiffrée) qui démarre suffisamment pour demander la phrase secrète.
the_simple_computer's Guide to Full Disk Encryption with Ubuntu (Mis à jour le 28 juin 2015) indique que cela fonctionne sur le fonctionnement du cryptage par défaut de l'installateur, et mentionne que le double démarrage ne fonctionnerait pas (du moins pas prêt à l'emploi ), le lecteur doit utiliser MBR donc " si votre ordinateur a UEFI, la distribution sera installée en mode BIOS hérité donc vous ne pouvez pas utiliser Secure Boot " et " vous donne également une taille de swap égale à celle de votre RAM système (souvent inutile) et vous n'ont pas le choix sur le type de cryptage utilisé. "
Quelle est la vitesse de cryptage?
Si vous l'exécutez, cryptsetup benchmark
il exécutera des tests et vous informera de la vitesse à laquelle le cryptage prend seul, surveillez les lignes aes-xts par défaut (actuellement):
# Algorithm | Key | Encryption | Decryption
aes-xts 256b 150.0 MiB/s 145.0 MiB/s
La vitesse de lecture moyenne d'un disque dur pourrait être de 80 à 160 Mo / s, vous ne serez donc pas beaucoup plus long qu'une lecture régulière, et il est possible que les secteurs qui viennent d'être lus aient déjà été décryptés pendant que vous attendez toujours le disque dur pour en savoir plus.
Un SSD pourrait éventuellement être plus rapide, peut-être 200-550 Mo / s, donc vous pourriez le remarquer. Mais, les lectures aléatoires pourraient être plus lentes, et j'ai lu que les vitesses des SSD peuvent ralentir après utilisation (peut-être lorsque le lecteur se remplit complètement et qu'il doit commencer à "effacer" les secteurs?)
Comment l'ordinateur peut-il crypter / décrypter complètement tout le lecteur en quelques secondes (le démarrage ou l'arrêt ne prend pas plus de temps)?
Il n'a pas besoin de tout décrypter en premier. Le cryptage (LUKS) fonctionne sur des blocs de données , peut décrypter n'importe quel bloc de manière aléatoire et agit comme une couche entre les données cryptées du lecteur et ce que le système de fichiers voit.
Lorsque le système de fichiers souhaite voir un bloc de données, LUKS déchiffre ce bloc en premier, puis remet les données déchiffrées au système de fichiers. Vous attendez d'abord que le lecteur lise le bloc de données (tout comme sans utiliser le cryptage), et vous ne disposez que d'un délai supplémentaire pour le décryptage de ce bloc unique (ou de quelques blocs) de données - et si le décryptage est plus rapide que le lecteur peut lire, le déchiffrement pourrait être terminé avant que le lecteur ne lise le bloc de données suivant.
Donc, tout comme un système de fichiers normal n'a pas besoin de lire tout le lecteur pour lire un fichier, lorsque le cryptage est ajouté, il n'a pas besoin de lire tout le lecteur non plus, et cela ne ralentit pas beaucoup les choses .
Les données sur le disque dur sont toujours cryptées , il n'y a donc rien à faire à l'arrêt sauf oublier la clé.