La cryptographie asymétrique est l'une des techniques informatiques les plus puissantes et un élément fondamental de la sécurité Internet et des réseaux de type blockchain. Son utilisation a permis des niveaux de sécurité élevés là où c'est nécessaire, garantissant la confidentialité et même l'anonymat.
Ul'une des techniques cryptographiques les plus puissantes conçues par l'homme est la cryptographie asymétrique o cryptographie à clé publique. Ce système consiste à utiliser une formule mathématique très complexe pour créer une paire de clés. Cette première clé est le Clé privée. La clé privée est à l'usage exclusif du créateur de la paire de clés et est utilisée pour crypter et décrypter les messages de manière totalement sécurisée.
La deuxième clé est l'appel clé publique. Il s'agit d'une clé que le créateur peut donner à des tiers. La clé publique est créée à partir de la clé privée, mais le processus inverse est impossible. De cette manière, le créateur des clés peut partager cette clé publique avec des tiers, et grâce à elle, ces personnes peuvent envoyer des informations cryptées qui ne seront accessibles qu'en utilisant la clé privée du créateur.
La technologie de cryptage asymétrique a été inventée par Ralph Merkle, Whitfield Diffie y Martin Hellmann en 1976. Ce schéma de clés privées et publiques garantit la mise en place de communications totalement sécurisées, même sur des canaux non sécurisés. Raison pour laquelle ce système cryptographique est actuellement le plus utilisé. Un exemple clair est les structures publiques et privées qui permettent la communication sur Internet, où la cryptographie asymétrique est utilisée pour garantir la confidentialité des communications.
Comment fonctionne la cryptographie asymétrique?
Le fonctionnement du système de cryptographie public comprend une série d'étapes bien définies. Chacun d'eux garantit le bon fonctionnement du système. Ici, nous allons expliquer chacun d'eux en détail:
Algorithme et courbe de cryptage
Tout d'abord, vous devez définir quel algorithme de chiffrement asymétrique sera utilisé. Chaque algorithme a des propriétés uniques. Ces propriétés sont liées à la courbe elliptique que l'algorithme utilise pour son fonctionnement. A ce stade, les courbes elliptiques considérées pour le cryptage asymétrique sont nombreuses. Il existe au moins une forme enregistrée et bien étudiée, 22 courbes au total.
Par exemple, le Curve25519 de Daniel Bernstein il est largement utilisé dans les algorithmes de chiffrement compacts et très efficaces. Cependant, dans les réseaux blockchain de crypto-monnaies tels que Bitcoin, la courbe la plus utilisée est la secp256k1. Cette courbe est la norme de facto sécurité de la crypto-monnaie.
Génération de clés
La prochaine étape est la génération des clés privées et publiques. Le premier à être généré est la clé privée. Pour sa création en toute sécurité, un générateur de nombres aléatoires très sûr et une piscine de entropie. Ces deux éléments garantiront que le nombre aléatoire appliqué à la formule mathématique choisie est vraiment aléatoire. Avec cela, nous garantirons la sécurité de la clé dès sa création.
Une fois que le générateur de nombres aléatoires a donné un nombre, il est appliqué à la formule choisie. Le système commence à résoudre la formule et à partir de celle-ci nous obtenons un nombre qui sera notre clé privée. Une fois notre clé privée générée, le cycle de génération de clé publique commence. Ce cycle utilisera le numéro de la clé privée pour lier de manière unidirectionnelle la clé privée avec la clé publique. De cette manière, la clé publique peut générer du contenu chiffré que nous pouvons résoudre avec notre clé privée. Cependant, rien ni personne ne pourra en aucun cas révéler notre clé privée en utilisant un processus contraire.
Une fois ce processus de génération terminé, nous aurons nos deux clés prêtes pour la prochaine étape d'utilisation.
Propagation de confiance
Le troisième élément du fonctionnement des systèmes de cryptographie asymétrique est la propagation sécurisée des clés. Cela cherche à créer des espaces garantissant la sécurité des canaux de communication. Parmi ces méthodes, nous avons:
- Infrastructure à clé publique ou PKI. Il s'agit d'une infrastructure dans laquelle se trouvent une ou plusieurs autorités de certification. Chaque entité est liée à un niveau de confiance et ce niveau sert à garantir l'authenticité des clés publiques. Ce schéma est utilisé sur Internet pour garantir l'authenticité des certificats SSL / TLS sur les pages Web.
- Mise en place d'un réseau de confiance. Il s'agit du schéma de propagation de clé le plus simple et le plus personnel. Il établit que chaque utilisateur dispose d'une série de contacts avec lesquels il partage sa clé publique de manière ouverte ou privée. Ce schéma de propagation est largement utilisé par des systèmes comme PGP pour l'envoi d'e-mails privés et chiffrés.
- Utilisation de la cryptographie basée sur l'identité. Il s'agit d'un système de propagation simple qui utilise un système centralisé qui gère nos clés. Les clés générées sont liées à l'identité réelle ou virtuelle que nous fournissons au système.
- Utilisation de la cryptographie basée sur des certificats. Dans ce modèle, l'utilisateur dispose d'une clé privée et d'une clé publique. La clé publique est envoyée à une autorité de certification. Ceci est assuré à l'aide de la cryptographie basée sur l'identité pour générer un certificat qui garantit la validité des données.
- Utilisation de la cryptographie sans certificats. Ce modèle est similaire au précédent à l'exception du fait que la clé privée générée par l'autorité est partielle. La clé privée finale dépend de la clé privée partielle et d'un nombre aléatoire calculé par l'utilisateur. Cela garantit un niveau de sécurité plus élevé.
Envoi et réception de messages
Une fois que nous avons propagé les clés publiques en toute sécurité, nous pouvons commencer à utiliser le système pour envoyer et recevoir des messages en toute sécurité. Ce schéma d'envoi et de réception fonctionne généralement comme suit:
- Juan génère un message qui est chiffré à l'aide de la clé publique de Maria et signé avec la clé privée de Juan. Cela garantit que le message ne peut être vu que par Maria et elle peut vérifier qu'il vient sans équivoque de Juan.
- Le message voyage signé et chiffré via le canal de communication. S'il est intercepté, l'effort sera vain car aucune information ne peut en être lue.
- Une fois que le message atteint son destinataire Maria, elle utilisera sa clé privée pour le déchiffrer. En même temps, vous pouvez utiliser la clé publique de Juan pour valider que le message a bien été envoyé par lui.
- Le processus est répété pour donner la réponse correspondante.
Comme vous pouvez le voir, ce processus de communication résout efficacement les communications sécurisées dans les canaux ouverts. La corruption ou la manipulation d'un message envoyé à l'aide de la cryptographie asymétrique n'est pas une chose facile. En fait, un système de cryptage asymétrique bien conçu rendrait une telle chose pratiquement impossible. D'où son utilisation généralisée sur Internet et sur la blockchain. Tout cela afin d'offrir une sécurité maximale aux utilisateurs.
Utilisation de la cryptographie asymétrique sur la blockchain
Depuis sa naissance, la technologie blockchain a cherché un moyen de fournir la sécurité la plus élevée possible. Dans la recherche de tels niveaux de sécurité, la cryptographie asymétrique a joué un rôle très important. Son utilisation a permis la génération de clés publiques (adresses) et privé qui vous permettent de sécuriser, d'envoyer et de recevoir des crypto-monnaies en toute sécurité.
En fait, la technologie blockchain a été un outil parfait pour tester et développer de nouvelles techniques cryptographiques. Des avancées qui ont non seulement un impact positif sur l'écosystème blockchain mais sur l'informatique en général. Des exemples de ceci sont, par exemple, des programmes tels que Tests de connaissance zéro (ZKP) ou Signatures Schnorr.
Cours élémentaire NFT
Niveau basiqueIl est clair que rien ne sera pareil avec les NFT, et il est donc essentiel de connaître tous les aspects basiques que contient ce type de token.
Avantages et inconvénients de la cryptographie asymétrique
Avantages
- Ce système offre un taux de sécurité élevé, car le schéma de cryptage est très complexe. La cryptanalyse de ces systèmes est compliquée et les attaques par force brute pour les briser sont inefficaces et peu pratiques.
- Il permet d'assurer des canaux de communication ouverts et publics grâce au schéma de clé privée et publique. Cela permet à l'expéditeur et au destinataire de partager des informations en toute sécurité.
- Le système permet également l'authentification des informations cryptées grâce à un processus de signature numérique.
- Il offre un haut niveau de confidentialité, d'intégrité et garantit la non-répudiation des informations.
Inconvénients
- Comparé au chiffrement symétrique, il est plus cher en calcul.
- Le système de cryptage est sensible à des éléments extérieurs à la programmation du système de cryptage. Par exemple, un générateur de nombres aléatoires défectueux compromettrait complètement le système de cryptage.
- La complexité des algorithmes entraîne des difficultés dans l'analyse de leur fonctionnement et de leur sécurité. Cela rend la détection des défauts ou des bogues plus complexe et difficile sur ces systèmes.
- Certains schémas de propagation de confiance sont centralisés. Il s'agit d'un point de défaillance majeur qui peut conduire à une manipulation de certificat si la structure est compromise.