Niveau :
Résumé : DES ; AES
Après avoir vu le fonctionnement des algorithmes de chiffrement à clé publique, intéressons-nous à leur complémentaire, les algorithmes à clé privée.
Algorithme
La méthode de chiffrement par clé privée est des plus simple. Une valeur, commune à deux personnes communiquant ensemble, permet de chiffrer et déchiffrer des messages.
Exemple avec l'algorithme d'addition / soustraction :
- Choix d'une clé privée entre les 2 participants : 4
- Message à envoyer : 123
- Chiffrement du message : 123 + 4 = 127
- Envoi d'un message chiffré 127
- Déchiffrement du message : 127 - 4 = 123
Simple comme bonjour à comprendre, il a fallu des siècles pour admettre qu'il était plus important de cacher la clé que de cacher la méthode de chiffrement. Ceci pour une raison simple, les algorithmes utilisés jusque là étaient trop simplistes et n'auraient pas résisté à la moindre analyse.
Il existe de très nombreux algorithmes, plus ou moins bons, plus ou moins historiques, plus ou moins standards. Limitons-nous à deux standards.
Algorithmes de chiffrement
DES
Le DES est un algorithme promu par la NSA (qui a pour objectif de vous espionner) dans les années 70. Il est relativement simple et avec un peu de patience vous le comprendrez sans problème. Il se base sur un ensemble de 16 cycles de permutations et décalages paramétrés par la clé. Je ne le décrirai pas car c'est un peu long et pas franchement utile.
Il est obsolète depuis longtemps mais ne lâche pas le morceau si facilement (die DES, die). Il se base sur une clé de 56bits et est sensible à la cryptanalyse différentielle (utilisation de plusieurs messages semblables pour trouver la clé plus facilement).
AES
L'AES est un algorithme récent promu par le NIST (qui a pour objectif de standardiser le monde industriel). Je n'ai pas lu en détail la spécification, mais il s'agit d'une combinaison de 4 opérations élémentaires : le remplacement d'octet, le décalage d'octet, l'échange d'octets et la combinaison avec la clé.
L'AES permet d'utiliser des clés de taille variable entre 128 et 256 bits.
Méthodes de chiffrement
Les algorithmes sont eux-même divisés deux grandes catégories selon ce qu'ils sont capables de chiffrer.
Chiffrement par bloc
Les algorithmes de chiffrement par bloc sont capables de chiffrer des blocs indépendamment les uns des autres. Ce qui est très pratique pour les disques durs par exemple.
Chiffrement par flot
Les algorithmes de chiffrement par flot sont capables de chiffrer des données au fil des données, l'élément de base étant généralement bien plus petit qu'un bloc. C'est bien utile pour vos conversations téléphoniques par exemple.
Il est en général possible de transformer un algorithme de chiffrement par bloc en algorithme de chiffrement par flot. Le contraire n'est pas toujours vrai.
Comments