La cryptographie à clé symétrique (ou chiffrement symétrique) est un type de système de chiffrement dans lequel la même clé est utilisée à la fois pour chiffrer et déchiffrer les messages. Une telle méthode de codage des informations a été largement utilisée au cours des dernières décennies pour faciliter les communications secrètes entre les gouvernements et les militaires. De nos jours, les algorithmes à clés symétriques sont largement appliqués dans différents types de systèmes informatiques pour améliorer la sécurité des données.


Comment fonctionne le chiffrement symétrique ?

Les schémas de chiffrement symétriques reposent sur une clé unique partagée entre deux utilisateurs ou plus. La même clé est utilisée pour chiffrer et déchiffrer ce qu'on appelle le texte brut (qui représente le message ou la donnée en cours de codage). Le processus de chiffrement consiste à exécuter un texte brut (entrée) via un algorithme de chiffrement appelé chiffrement, qui à son tour génère un texte chiffré (sortie).

Si le système de cryptage est suffisamment puissant, la seule façon pour une personne de lire ou d'accéder aux informations contenues dans le texte chiffré est d'utiliser la clé correspondante pour le déchiffrer. Le processus de décryptage consiste essentiellement à reconvertir le texte chiffré en texte brut.

La sécurité des systèmes de chiffrement symétrique repose sur la difficulté avec laquelle il est difficile de deviner aléatoirement la clé correspondante pour les forcer brutalement. Par exemple, il faudrait des milliards d’années pour deviner une clé de 128 bits avec du matériel informatique courant. Plus la clé de cryptage est longue, plus il devient difficile de la déchiffrer. Les clés d’une longueur de 256 bits sont généralement considérées comme hautement sécurisées et théoriquement résistantes aux attaques par force brute des ordinateurs quantiques. 

Deux des schémas de chiffrement symétrique les plus couramment utilisés aujourd’hui sont basés sur les chiffrements par blocs et par flux. Les chiffrements par blocs regroupent les données en blocs de taille prédéterminée et chaque bloc est crypté à l'aide de la clé et de l'algorithme de cryptage correspondants (par exemple, un texte brut de 128 bits est crypté en un texte chiffré de 128 bits). D'un autre côté, les chiffrements de flux ne chiffrent pas les données en clair par blocs, mais plutôt par incréments de 1 bit (le texte en clair de 1 bit est chiffré en texte chiffré de 1 bit à la fois).


Chiffrement symétrique ou asymétrique

Le cryptage symétrique est l'une des deux principales méthodes de cryptage des données dans les systèmes informatiques modernes. L’autre est le chiffrement asymétrique, qui constitue la principale application de la cryptographie à clé publique. La principale différence entre ces méthodes réside dans le fait que les systèmes asymétriques utilisent deux clés plutôt que celle utilisée par les systèmes symétriques. L'une des clés peut être partagée publiquement (clé publique), tandis que l'autre doit être conservée en privé (clé privée).

L’utilisation de deux clés au lieu d’une seule produit également diverses différences fonctionnelles entre le chiffrement symétrique et asymétrique. Les algorithmes asymétriques sont plus complexes et plus lents que les algorithmes symétriques. Étant donné que les clés publiques et privées utilisées dans le chiffrement asymétrique sont dans une certaine mesure liées mathématiquement, les clés elles-mêmes doivent également être considérablement plus longues pour offrir un niveau de sécurité similaire à celui offert par des clés symétriques plus courtes.


Utilisations dans les systèmes informatiques modernes

Des algorithmes de cryptage symétriques sont utilisés dans de nombreux systèmes informatiques modernes pour améliorer la sécurité des données et la confidentialité des utilisateurs. L'Advanced Encryption Standard (AES), largement utilisé dans les applications de messagerie sécurisées et dans le stockage cloud, est un exemple frappant de chiffrement symétrique.

En plus des implémentations logicielles, AES peut également être implémenté directement dans le matériel informatique. Les schémas de chiffrement symétriques basés sur le matériel exploitent généralement l'AES 256, qui est une variante spécifique de l'Advanced Encryption Standard dont la taille de clé est de 256 bits.

Il convient de noter que la blockchain de Bitcoin n’utilise pas de cryptage comme beaucoup ont tendance à le croire. Au lieu de cela, il utilise un type spécifique d'algorithme de signature numérique (DSA) connu sous le nom d'algorithme de signature numérique à courbe elliptique (ECDSA) qui génère des signatures numériques sans utiliser de cryptage.

Un point de confusion courant est que l'ECDSA est basé sur la cryptographie à courbe elliptique (ECC), qui à son tour peut être appliquée à plusieurs tâches, notamment le cryptage, les signatures numériques et les générateurs pseudo-aléatoires. Cependant, l’ECDSA lui-même ne peut pas du tout être utilisé pour le cryptage.

 

Avantages et inconvénients

Les algorithmes symétriques offrent un niveau de sécurité assez élevé tout en permettant en même temps de chiffrer et de déchiffrer rapidement les messages. La relative simplicité des systèmes symétriques constitue également un avantage logistique, car ils nécessitent moins de puissance de calcul que les systèmes asymétriques. De plus, la sécurité assurée par le chiffrement symétrique peut être renforcée simplement en augmentant la longueur des clés. Pour chaque bit ajouté à la longueur d’une clé symétrique, la difficulté de déchiffrer le cryptage via une attaque par force brute augmente de façon exponentielle.

Même si le chiffrement symétrique offre de nombreux avantages, il présente un inconvénient majeur : le problème inhérent à la transmission des clés utilisées pour chiffrer et déchiffrer les données. Lorsque ces clés sont partagées via une connexion non sécurisée, elles sont susceptibles d'être interceptées par des tiers malveillants. Si un utilisateur non autorisé accède à une clé symétrique particulière, la sécurité de toutes les données chiffrées à l'aide de cette clé est compromise. Pour résoudre ce problème, de nombreux protocoles Web utilisent une combinaison de cryptage symétrique et asymétrique pour établir des connexions sécurisées. Parmi les exemples les plus marquants d’un tel système hybride figure le protocole cryptographique Transport Layer Security (TLS) utilisé pour sécuriser de grandes parties de l’Internet moderne.

Il convient également de noter que tous les types de chiffrement informatique sont sujets à des vulnérabilités dues à une mauvaise mise en œuvre. Même si une clé suffisamment longue peut rendre mathématiquement impossible une attaque par force brute, les erreurs de mise en œuvre commises par les programmeurs créent souvent des faiblesses qui ouvrent la voie à des cyberattaques.


Pensées finales

Grâce à sa vitesse relative, sa simplicité et sa sécurité, le chiffrement symétrique est largement utilisé dans des applications allant de la sécurisation du trafic Internet à la protection des données stockées sur les serveurs cloud. Bien qu’ils soient fréquemment associés au cryptage asymétrique afin de résoudre le problème du transfert sécurisé des clés, les schémas de cryptage symétriques restent un élément essentiel de la sécurité informatique moderne.