Chiffrement symétrique

Dans un chiffrement symétrique, c'est la même clé qui va servir au chiffrement et au déchiffrement.

Étapes pour le chiffrement symétriqueInformations[1]

Qu'appelle-t-on une clé ?

La clé est un renseignement permettant de chiffrer ou déchiffrer un message. Cela peut être :

  • un nombre (dans un simple décalage des lettres de l'alphabet, comme le chiffre de César)

  • une phrase (dans la méthode du masque jetable)

  • une image (imaginez un chiffrement où on effectue un XOR par les pixels d'une image, comme dans cette énigme)

Un chiffrement est dit symétrique lorsque la connaissance de la clé ayant servi au chiffrement permet de déchiffrer le message.

Par exemple, Alice chiffre son message en décalant les lettres de 3 rangs vers la droite dans l'alphabet, Bob saura qu'il doit les décaler de 3 rangs vers la gauche pour retrouver le message initial.

Quel est l'avantage d'un chiffrement symétrique ?

Les chiffrements symétriques sont souvent rapides, consommant peu de ressources et donc adaptés au chiffrement de flux important d'informations.

Comme nous le verrons, la sécurisation des données transitant par le protocole https est basée sur un chiffrement symétrique.

Quel est l'inconvénient d'un chiffrement symétrique ?

Comme dit plus haut, l'inconvénient majeur est la clé !

Si Alice et Bob ont besoin d'utiliser un chiffrement pour se parler, comment peuvent-ils échanger leurs clés puisque leur canal de transmission n'est pas sûr ?

Le chiffrement symétrique impose qu'Alice et Bob aient pu se rencontrer physiquement au préalable pour convenir d'une clé secrète, ou bien qu'ils aient réussi à établir une connexion sécurisée pour s'échanger cette clé.

Un chiffrement symétrique est-il un chiffrement de mauvaise qualité ?

Pas du tout ! S'il est associé naturellement à des chiffrements simples et faibles (comme le décalage de César), un chiffrement symétrique peut être très robuste... voire inviolable.

C'est le cas du masque jetable. Si le masque avec lequel on effectue le XOR sur le message est aussi long que le message, alors il est impossible de retrouver le message initial. Pourquoi ?

Exemple

Imaginons qu'Alice veuille transmettre le message clair « LUNDI ». Elle le chiffre avec un masque jetable (que connait aussi Bob), et Bob reçoit donc « KHZOK ». Si Marc a intercepté le message « KHZOK », même s'il sait que la méthode de chiffrement utilisée est celle du masque jetable (principe de Kerckhoffs), il n'a pas d'autre choix que de tester tous les masques de 5 lettres possibles. Ce qui lui donne 26⁵ possibilités (plus de 11 millions) pour le masque, et par conséquent (propriété de bijectivité du XOR) 26⁵ possibilités pour le message « déchiffré »...

Cela signifie que Marc verra apparaître, dans sa tentative de déchiffrage, les mots « MARDI », « JEUDI », « JOUDI », « STYLO », « FSDJK », « LUNDI », « LUNDA »... Il n'a aucune possibilité de savoir où est le bon message original parmi toutes les propositions (on parle de sécurité sémantique).

FondamentalPrincipe de Kerckhoffs

La sécurité d'un système de chiffrement ne doit reposer que sur la sécurité de la clé, et non pas sur la connaissance de l'algorithme de chiffrement.

Cet algorithme peut même être public,ce qui est pratiquement toujours le cas, c'est le cas du protocole de chiffrement de Signal (Signal Protocol) qui est embarqué sur Signal, What'sApp, Messenger...

Quels sont les chiffrements symétriques modernes ?

L'algorithme de chiffrement symétrique le plus utilisé actuellement est le chiffrement AES, pour Advanced Encryption Standard.

  • chiffrement par bloc de 128 bits, répartis dans une matrice de 16 octets (matrice carrée de taille 4).

  • ces 128 bits sont transformés par des rotations, multiplications, transpositions, [...] de la matrice initiale, en faisant intervenir dans ces transformations une clé de 128, 192 ou 256 bits.

  • pour l'AES-256 (avec une clé de 256 bits), l'attaque par force brute nécessiterait 2^256 opérations, soit un nombre à 78 chiffres...

  • il n'existe pas d'attaque connue efficace à ce jour. Les seules attaques sont des attaques sur des faiblesses d'implémentation, ou par canal auxiliaire.