Les systèmes cryptographiques sont actuellement divisés en deux grands domaines d'étude : la cryptographie symétrique et asymétrique. Alors que le chiffrement symétrique est souvent utilisé comme synonyme de cryptographie symétrique, la cryptographie asymétrique englobe deux cas d'utilisation principaux : le chiffrement asymétrique et les signatures numériques.
Nous pouvons donc représenter ces groupes comme suit :
Cryptographie à clé symétrique
Cryptage symétrique
Cryptographie asymétrique (ou cryptographie à clé publique)
Chiffrement asymétrique (ou chiffrement à clé publique)
Signatures numériques (peuvent ou non inclure le cryptage)
Cet article se concentrera sur les algorithmes de chiffrement symétriques et asymétriques.
Chiffrement symétrique ou asymétrique
Les algorithmes de chiffrement sont souvent divisés en deux catégories, appelées chiffrement symétrique et asymétrique. La différence fondamentale entre ces deux méthodes de chiffrement réside dans le fait que les algorithmes de chiffrement symétriques utilisent une seule clé, tandis que le chiffrement asymétrique utilise deux clés différentes mais liées. Une telle distinction, bien qu’apparemment simple, explique les différences fonctionnelles entre les deux formes de techniques de chiffrement et la manière dont elles sont utilisées.
Comprendre les clés de chiffrement
En cryptographie, les algorithmes de chiffrement génèrent des clés sous la forme d’une série de bits utilisés pour chiffrer et déchiffrer une information. La manière dont ces clés sont utilisées explique la différence entre le chiffrement symétrique et asymétrique.
Alors que les algorithmes de chiffrement symétrique utilisent la même clé pour effectuer à la fois les fonctions de chiffrement et de déchiffrement, un algorithme de chiffrement asymétrique, en revanche, utilise une clé pour chiffrer les données et une autre clé pour les déchiffrer. Dans les systèmes asymétriques, la clé utilisée pour le chiffrement est appelée clé publique et peut être librement partagée avec d’autres. En revanche, la clé utilisée pour le décryptage est la clé privée et doit être gardée secrète.
Par exemple, si Alice envoie à Bob un message protégé par un chiffrement symétrique, elle doit partager la même clé qu'elle a utilisée pour le chiffrement avec Bob afin qu'il puisse déchiffrer le message. Cela signifie que si un acteur malveillant intercepte la clé, il peut accéder aux informations cryptées.
Cependant, si Alice utilise plutôt un schéma asymétrique, elle crypte le message avec la clé publique de Bob, afin que Bob puisse le déchiffrer avec sa clé privée. Ainsi, le cryptage asymétrique offre un niveau de sécurité plus élevé car même si quelqu’un intercepte ses messages et trouve la clé publique de Bob, il ne pourra pas déchiffrer le message.
Longueurs des clés
Une autre différence fonctionnelle entre le chiffrement symétrique et asymétrique est liée à la longueur des clés, qui se mesure en bits et est directement liée au niveau de sécurité assuré par chaque algorithme cryptographique.
Dans les schémas symétriques, les clés sont sélectionnées de manière aléatoire et leur longueur est généralement fixée à 128 ou 256 bits, en fonction du niveau de sécurité requis. Toutefois, dans le chiffrement asymétrique, il doit exister une relation mathématique entre les clés publique et privée, ce qui signifie qu’il existe un modèle mathématique entre les deux. Étant donné que ce modèle peut potentiellement être exploité par des attaquants pour déchiffrer le chiffrement, les clés asymétriques doivent être beaucoup plus longues pour présenter un niveau de sécurité équivalent. La différence de longueur de clé est si prononcée qu’une clé symétrique de 128 bits et une clé asymétrique de 2 048 bits offrent des niveaux de sécurité à peu près similaires.
Avantages et inconvénients
Les deux types de cryptage présentent des avantages et des inconvénients l’un par rapport à l’autre. Les algorithmes de chiffrement symétrique sont beaucoup plus rapides et nécessitent moins de puissance de calcul, mais leur principale faiblesse est la distribution des clés. Étant donné que la même clé est utilisée pour chiffrer et déchiffrer les informations, cette clé doit être distribuée à toute personne ayant besoin d'accéder aux données, ce qui entraîne naturellement des risques de sécurité (comme illustré précédemment).
À l’inverse, le chiffrement asymétrique résout le problème de la distribution des clés en utilisant des clés publiques pour le chiffrement et des clés privées pour le déchiffrement. Le compromis, cependant, est que les systèmes de chiffrement asymétriques sont très lents par rapport aux systèmes symétriques et nécessitent beaucoup plus de puissance de calcul en raison de la longueur de leurs clés beaucoup plus longues.
Cas d'utilisation
Cryptage symétrique
En raison de sa plus grande vitesse, le cryptage symétrique est largement utilisé pour protéger les données dans de nombreux systèmes informatiques modernes. Par exemple, l'Advanced Encryption Standard (AES) est utilisé par le gouvernement des États-Unis pour crypter les informations classifiées et sensibles. L'AES a remplacé l'ancien Data Encryption Standard (DES), développé dans les années 1970 comme norme de cryptage symétrique.
Chiffrement asymétrique
Le chiffrement asymétrique peut être appliqué aux systèmes dans lesquels de nombreux utilisateurs peuvent avoir besoin de chiffrer et de déchiffrer un message ou un ensemble de données, en particulier lorsque la vitesse et la puissance de calcul ne sont pas des préoccupations majeures. Un exemple d’un tel système est le courrier électronique chiffré, dans lequel une clé publique peut être utilisée pour chiffrer un message et une clé privée peut être utilisée pour le déchiffrer.
Systèmes hybrides
Dans de nombreuses applications, le chiffrement symétrique et asymétrique est utilisé ensemble. Des exemples typiques de tels systèmes hybrides sont les protocoles cryptographiques Security Sockets Layer (SSL) et Transport Layer Security (TLS), conçus pour assurer une communication sécurisée sur Internet. Les protocoles SSL sont désormais considérés comme non sécurisés et leur utilisation devrait être interrompue. En revanche, les protocoles TLS sont jugés sûrs et ont été largement utilisés par tous les principaux navigateurs Web.
Les crypto-monnaies utilisent-elles le cryptage ?
Les techniques de cryptage sont utilisées dans de nombreux portefeuilles de crypto-monnaies afin de fournir des niveaux de sécurité accrus aux utilisateurs finaux. Des algorithmes de cryptage sont appliqués, par exemple, lorsque les utilisateurs définissent un mot de passe pour leurs portefeuilles cryptographiques, ce qui signifie que le fichier utilisé pour accéder au logiciel a été crypté.
Cependant, étant donné que Bitcoin et d’autres crypto-monnaies utilisent des paires de clés publique-privée, il existe une idée fausse répandue selon laquelle les systèmes blockchain utilisent des algorithmes de chiffrement asymétriques. Cependant, comme indiqué précédemment, le chiffrement asymétrique et les signatures numériques sont deux cas d’utilisation majeurs de la cryptographie asymétrique (cryptographie à clé publique).
Par conséquent, tous les systèmes de signature numérique n’utilisent pas de techniques de cryptage, même s’ils présentent une clé publique et une clé privée. En fait, un message peut être signé numériquement sans être crypté. Le RSA est un exemple d’algorithme pouvant être utilisé pour signer des messages cryptés, mais l’algorithme de signature numérique utilisé par Bitcoin (appelé ECDSA) n’utilise pas du tout le cryptage.
Pensées finales
Le chiffrement symétrique et asymétrique joue un rôle important dans la sécurité des informations et des communications sensibles dans le monde dépendant du numérique d'aujourd'hui. Bien que les deux puissent être utiles, ils ont chacun leurs propres avantages et inconvénients et sont donc utilisés dans des applications différentes. À mesure que la science de la cryptographie continue d’évoluer pour se défendre contre des menaces plus récentes et plus sophistiquées, les systèmes cryptographiques symétriques et asymétriques resteront probablement pertinents pour la sécurité informatique.

