Qu'est-ce que la cryptographie à clé publique?

31.01.2019

Qu'est-ce que la cryptographie à clé publique?

La cryptographie à clé publique (PKC en anglais pour Public Key Cryptography), également appelée cryptographie asymétrique est un domaine de la cryptographie qui utilise à la fois une clé privée et une clé publique, par opposition à la clé unique utilisée dans la cryptographie symétrique. L'utilisation de paires de clés confère à la PKC un ensemble unique de caractéristiques et de fonctionnalités pouvant être utilisées pour résoudre les problèmes inhérents à d'autres techniques cryptographiques. Cette forme de cryptographie est devenue un élément important de la sécurité informatique moderne, ainsi qu'un élément essentiel de l'écosystème en constante évolution des crypto-monnaies.


Comment fonctionne la cryptographie à clé publique?

Dans un schéma PKC, la clé publique est utilisée par un expéditeur pour chiffrer des informations, tandis que la clé privée est utilisée par un destinataire pour les déchiffrer. Comme les deux clés sont différentes, la clé publique peut être partagée en toute sécurité sans compromettre la sécurité de la clé privée. Chaque paire de clés asymétriques est unique, garantissant qu'un message crypté à l'aide d'une clé publique ne peut être lu que par la personne qui possède la clé privée correspondante.

Les algorithmes de chiffrement asymétriques générant des paires de clés liées mathématiquement, leur longueur est beaucoup plus longue que celle utilisée dans la cryptographie symétrique. Cette longueur incrémentée - généralement entre 1 024 et 2 048 bits - rend extrêmement difficile le calcul d’une clé privée à partir de son équivalent public. L'un des algorithmes les plus répandus pour le cryptage asymétrique utilisé aujourd'hui est connu sous le nom de RSA. Dans le schéma RSA, les clés sont générées à l'aide d'un module obtenu en multipliant deux nombres (souvent deux grands nombres premiers). En d’autres mots, le module génère deux clés : l’une publique pouvant être partagée et l’autre étant privée et qui se doit d’être gardée secrète). L'algorithme RSA a été décrit pour la première fois en 1977 par Rivest, Shamir et Adleman (par conséquent, RSA) et reste un composant majeur des systèmes de cryptographie à clé publique.


PKC en tant qu'outil de cryptage

La cryptographie à clé publique résout un des problèmes récurrents des algorithmes symétriques, à savoir la communication de la clé utilisée à la fois pour le cryptage et le décryptage. L'envoi de cette clé via une connexion non sécurisée risque de l'exposer à des tiers, qui peuvent alors lire tous les messages cryptés avec la clé partagée. Bien que des techniques cryptographiques (telles que le protocole d’échange de clé Diffie-Hellman-Merkle) existent pour résoudre ce problème, elles restent vulnérables aux attaques. En cryptographie à clé publique, en revanche, la clé utilisée pour le cryptage peut être partagée en toute sécurité via n'importe quelle connexion. En conséquence, les algorithmes asymétriques offrent un niveau de protection plus élevé que les algorithmes symétriques.


Utilisation dans la génération de signatures numériques

Une autre application des algorithmes de cryptographie asymétrique est celle de l'authentification des données à l'aide de signatures numériques. Fondamentalement, une signature numérique est un hachage créé à l'aide des données d'un message. Lorsque ce message est envoyé, le destinataire peut vérifier la signature à l'aide de la clé publique de l'expéditeur afin d'authentifier la source du message et de s'assurer qu'il n'a pas été falsifié. Dans certains cas, les signatures numériques et le cryptage sont appliqués ensemble, le hachage lui-même pouvant être crypté dans le cadre du message. Il convient toutefois de noter que tous les systèmes de signature numérique n’utilisent pas forcément des techniques de cryptage.


Limites

Bien qu'il puisse être utilisé pour améliorer la sécurité de l'ordinateur et permettre la vérification de l'intégrité des messages, le cryptage PKC présente certaines limitations. En raison des opérations mathématiques complexes impliquées dans le cryptage et le décryptage, les algorithmes asymétriques peuvent être assez lents lorsqu'ils sont obligés de traiter de grandes quantités de données. Ce type de cryptographie dépend également fortement de l'hypothèse que la clé privée restera secrète. Si une clé privée est partagée ou exposée accidentellement, la sécurité de tous les messages cryptés avec la clé publique correspondante sera compromise. Il est également possible que les utilisateurs perdent accidentellement leurs clés privées, auquel cas il devient impossible pour eux d'accéder aux données cryptées.


Applications de la cryptographie à clé publique

Ce type de cryptographie est utilisé par de nombreux systèmes informatiques modernes pour sécuriser les informations sensibles. Les courriers électroniques, par exemple, peuvent être cryptés à l'aide de techniques de cryptographie à clé publique afin de préserver la confidentialité de leur contenu. Le protocole SSL (Secure Sockets Layer) qui rend possible la connexion sécurisée à des sites Web utilise également une cryptographie asymétrique. Les systèmes PKC ont même été explorés comme moyen de créer un environnement de vote électronique sécurisé qui permettrait potentiellement aux électeurs de participer aux élections à partir de leur ordinateur personnel.

La technologie PKC occupe également une place importante dans la technologie des chaînes de blocs et des crypto-monnaies. Lorsqu'un nouveau portefeuille de crypto-monnaie est configuré, une paire de clés est générée (clés publique et privée). L'adresse publique est générée à l'aide de la clé publique et peut être partagée en toute sécurité avec des tiers. La clé privée, quant à elle, est utilisée pour créer des signatures numériques et vérifier des transactions et doit donc être gardée secrète. Une fois qu'une transaction a été vérifiée en confirmant le hachage contenu dans la signature numérique, cette transaction peut être ajoutée au registre de la blockchain. Ce système de vérification de signature numérique garantit que seule la personne à laquelle la clé privée associée au portefeuille de crypto-monnaie correspondant peut débloquer des fonds. Il convient de noter que les chiffrements asymétriques utilisés dans les applications de crypto-monnaie sont différents de ceux utilisés à des fins de sécurité informatique. Bitcoin et Ethereum, par exemple, utilisent un chiffrement spécialisé appelé algorithme de signature numérique à courbe elliptique (ECDSA) pour vérifier les transactions.

De la sécurité informatique à la vérification des transactions de crypto-monnaie, la cryptographie à clé publique joue un rôle important dans la sécurisation des systèmes numériques modernes. En utilisant des clés publiques et privées couplées, les algorithmes de cryptographie asymétrique résolvent les problèmes de sécurité fondamentaux présentés par les chiffrements symétriques. Bien que le cryptage PKC soit utilisé depuis de nombreuses années, de nouvelles utilisations et applications sont régulièrement développées, notamment dans les domaines de la blockchain et des crypto-monnaies.

Loading