Les algorithmes à clé asymétrique appartiennent au domaine de la cryptographie. Ce sont des algorithmes qui peuvent crypter et décrypter des informations. Leurs opérations nécessitent une clé publique et une clé privée. La clé publique peut être connue des autres. La clé privée ne doit pas être connue de quiconque sauf du propriétaire. Les deux clés peuvent crypter et décrypter l'une l'autre. Parce que le chiffrement et le déchiffrement utilisent deux clés différentes, les algorithmes sont appelés algorithmes à clé asymétrique.
Les algorithmes correspondants sont les algorithmes à clé symétrique, qui utilisent des clés cryptographiques à la fois pour le cryptage du texte en clair et le décryptage du texte chiffré. Par exemple, en utilisant l'algorithme à clé symétrique AES (Advanced Encryption Standard) pour crypter le mot "Gate.io", on obtient la chaîne alphabétique U2FsdGVkX18fop1iGBPzNdnADZ57AJxOn+wEBSIUAG4. De même, le texte chiffré peut également être décrypté par l'algorithme à clé symétrique AES pour obtenir la chaîne alphabétique originale Gate.io. À ses débuts, les algorithmes à clé symétrique étaient utilisés pour envoyer des télégrammes chiffrés. Ce processus de décryptage est simple et rapide, mais après la divulgation de la méthode de cryptage, il est facile de décoder les informations interceptées, et la sécurité n'est pas élevée.
La sécurité des algorithmes à clé asymétrique est supérieure à celle des algorithmes à clé symétrique, mais leurs efficacités sont inférieures à celles des algorithmes à clé symétrique en raison de leurs opérations complexes. Commençons par les comprendre simplement à travers un exemple : supposons que Jim veuille envoyer un message à Bob en utilisant des algorithmes à clé asymétrique, Jim doit suivre le processus suivant :
1. Jim et Bob doivent tous deux générer une paire de clés publique et privée;
2. La clé publique de Jim est envoyée à Bob et la clé privée est sauvegardée par Jim; la clé publique de Bob est envoyée à Jim et la clé privée est sauvegardée par Bob;
3. Lorsque Jim envoie un message à Bob, il chiffre le message avec la clé publique de Bob;
4. Après que Bob reçoit le message, il peut le décrypter en utilisant sa clé privée.
Les algorithmes à clé asymétrique sont les principaux algorithmes cryptographiques utilisés dans la blockchain. Leurs scénarios d'application comprennent principalement le chiffrement des informations, la signature numérique, l'authentification de connexion et le certificat numérique. Leur valeur dans la blockchain réside dans la clé publique et la clé privée pour identifier l'identité de l'expéditeur et du destinataire.
Cryptage de l'information: garantir la sécurité de l'information. L'expéditeur a une clé publique, et il n'importe pas que d'autres le sachent aussi, car les informations envoyées par d'autres n'ont aucun impact sur le destinataire. La clé détenue par le destinataire est la clé privée et le destinataire est le seul à pouvoir déverrouiller l'information cryptée. La technologie de cryptage des transactions Bitcoin relève de ce scénario.
Signature numérique: assurer l'attribution des informations. Afin de montrer que les informations n'ont pas été falsifiées et sont effectivement envoyées par le propriétaire des informations, la signature numérique est attachée à l'arrière des informations originales. Comme une signature manuscrite, elle est unique et concise.
Authentification de connexion : le client chiffre les informations de connexion avec la clé privée et les envoie au serveur, qui déchiffre et authentifie les informations de connexion avec la clé publique du client après les avoir reçues.
Certificat numérique: garantir la légitimité de la clé publique. Afin que l'expéditeur puisse vérifier que la clé publique obtenue sur Internet est bien réelle, une organisation tierce CA (Autorité de certification) est générée pour garantir la légitimité de la clé publique. Lors de la publication d'informations, le propriétaire du texte original des informations doit apporter sa propre signature numérique et son certificat numérique, ce qui peut garantir que les informations ne sont pas altérées.
Les algorithmes à clé asymétrique utilisés dans la blockchain Bitcoin sont des algorithmes cryptographiques à courbes elliptiques. Ce sont également des algorithmes à clé asymétrique couramment utilisés dans la blockchain actuelle, appelés ECDSA, où EC est l'abréviation de "elliptic curve" et DSA est l'abréviation de "digital signature algorithm".
Dans la détermination des paramètres de la courbe elliptique, le système Bitcoin utilise un paramètre de courbe appelé SECP256k1. De cette manière, le système obtient de manière aléatoire une clé privée de 32 octets dans l'opération, puis obtient la clé publique grâce à l'algorithme de signature numérique de courbe elliptique (en utilisant la courbe SECP256k1), puis applique plusieurs algorithmes de hachage pour obtenir le hachage de la clé publique, et forme l'adresse du compte final en combinaison avec le numéro de version.
Par exemple, deux nombres premiers (152, 891) sont générés de manière aléatoire pour former une "clé privée" à six chiffres 152891, et la règle pour générer une "clé publique" est que ces deux nombres premiers sont multipliés (152x891=135432). À ce moment, les gens sur le réseau peuvent obtenir cette "clé publique". Lorsque vous voulez que ces données soient modifiées par vous seul, vous pouvez ajouter une note aux données "‘clé publique’ 135432": seuls les trois premiers chiffres de la clé privée multipliés par les trois derniers chiffres équivalent à la clé publique et peuvent être modifiés.
Si un hacker sur le réseau souhaite manipuler des données sans consentement, même s'il sait que la "clé privée" génère la "clé publique" en multipliant deux nombres premiers, il ne sait pas quels sont ces deux nombres premiers. Par conséquent, pour trouver la clé privée de la "clé publique" 135423, il ne peut que les essayer un par un de la manière la plus directe : 001 x 02, …, 998 x 999, etc. Ce processus est difficile lorsque le nombre premier est grand.
Un tel exemple est relativement simple. Un ordinateur peut calculer la "clé privée" de l'exemple ci-dessus directement à partir de la "clé publique". Cependant, l'algorithme de courbe elliptique utilisé par le système Bitcoin pour générer une "clé publique" à partir d'une "clé privée" est difficile à craquer avec la technologie existante. Parce que son nombre premier est très grand. De plus, le processus de déchiffrement de la clé privée dans le système Bitcoin est réalisé par un langage d'exécution de pile en notation polonaise inversée.
courbe elliptique
La clé privée peut déduire la clé publique et le hachage de la clé publique, mais la clé publique et le hachage de la clé publique ne peuvent pas déduire la clé privée. Par conséquent, la clé privée doit être bien conservée par l'utilisateur. Une fois que la clé privée est perdue, les actifs dans le compte ne peuvent pas être récupérés.
Les algorithmes asymétriques sont à la base du fonctionnement de la blockchain. En plus de l'algorithme cryptographique à courbe elliptique utilisé dans des blockchains telles que Bitcoin et Ethereum, les différents algorithmes cryptographiques suivants sont également courants dans les blockchains.
Algorithme RSA (Rivest Shamir Adleman) : car il est difficile à craquer, il est largement utilisé dans le domaine du chiffrement numérique et de la signature numérique. Dans l'algorithme RSA, à la fois des clés publiques et privées peuvent être utilisées pour chiffrer des informations. Si la clé publique est utilisée pour chiffrer (pour prévenir le vol d'informations), la clé privée sera utilisée pour déchiffrer. Si la clé privée est utilisée pour chiffrer (pour prévenir la manipulation d'informations), la clé publique sera utilisée pour déchiffrer (signature numérique). Théoriquement, plus le nombre de bits de clé dans l'algorithme RSA est long, plus il est difficile à craquer (l'informatique quantique n'est pas exclue). Par conséquent, la clé couramment utilisée dans l'industrie est d'au moins 2048 bits.
Algorithme de signature numérique DSA : cet algorithme ne peut pas chiffrer ou déchiffrer l'information, et est principalement utilisé pour signer et authentifier l'information chiffrée. La sécurité est aussi élevée que l'algorithme RSA, mais la vitesse de traitement est plus rapide.
Algorithme cryptographique à courbe elliptique ECC : le processus de chiffrement est dérivé de la courbe elliptique en mathématiques. Comparé à l'algorithme RSA, l'algorithme ECC permet un chiffrement et un déchiffrement plus rapides et une intensité de sécurité unitaire plus élevée. Avec la même longueur de clé, l'algorithme ECC offre la plus haute sécurité.
La cryptographie est l'une des technologies de base qui soutiennent le fonctionnement des systèmes de blockchain. Elle est devenue une partie indispensable de la sécurité informatique moderne et un composant clé de l'écosystème croissant des cryptomonnaies. Avec le développement continu de la cryptographie, les algorithmes à clé symétrique et les algorithmes à clé asymétrique joueront un rôle plus important dans la résistance aux diverses menaces dans la sécurité informatique future et la validation de la sécurité des cryptomonnaies.
Mời người khác bỏ phiếu
Nội dung
Les algorithmes à clé asymétrique appartiennent au domaine de la cryptographie. Ce sont des algorithmes qui peuvent crypter et décrypter des informations. Leurs opérations nécessitent une clé publique et une clé privée. La clé publique peut être connue des autres. La clé privée ne doit pas être connue de quiconque sauf du propriétaire. Les deux clés peuvent crypter et décrypter l'une l'autre. Parce que le chiffrement et le déchiffrement utilisent deux clés différentes, les algorithmes sont appelés algorithmes à clé asymétrique.
Les algorithmes correspondants sont les algorithmes à clé symétrique, qui utilisent des clés cryptographiques à la fois pour le cryptage du texte en clair et le décryptage du texte chiffré. Par exemple, en utilisant l'algorithme à clé symétrique AES (Advanced Encryption Standard) pour crypter le mot "Gate.io", on obtient la chaîne alphabétique U2FsdGVkX18fop1iGBPzNdnADZ57AJxOn+wEBSIUAG4. De même, le texte chiffré peut également être décrypté par l'algorithme à clé symétrique AES pour obtenir la chaîne alphabétique originale Gate.io. À ses débuts, les algorithmes à clé symétrique étaient utilisés pour envoyer des télégrammes chiffrés. Ce processus de décryptage est simple et rapide, mais après la divulgation de la méthode de cryptage, il est facile de décoder les informations interceptées, et la sécurité n'est pas élevée.
La sécurité des algorithmes à clé asymétrique est supérieure à celle des algorithmes à clé symétrique, mais leurs efficacités sont inférieures à celles des algorithmes à clé symétrique en raison de leurs opérations complexes. Commençons par les comprendre simplement à travers un exemple : supposons que Jim veuille envoyer un message à Bob en utilisant des algorithmes à clé asymétrique, Jim doit suivre le processus suivant :
1. Jim et Bob doivent tous deux générer une paire de clés publique et privée;
2. La clé publique de Jim est envoyée à Bob et la clé privée est sauvegardée par Jim; la clé publique de Bob est envoyée à Jim et la clé privée est sauvegardée par Bob;
3. Lorsque Jim envoie un message à Bob, il chiffre le message avec la clé publique de Bob;
4. Après que Bob reçoit le message, il peut le décrypter en utilisant sa clé privée.
Les algorithmes à clé asymétrique sont les principaux algorithmes cryptographiques utilisés dans la blockchain. Leurs scénarios d'application comprennent principalement le chiffrement des informations, la signature numérique, l'authentification de connexion et le certificat numérique. Leur valeur dans la blockchain réside dans la clé publique et la clé privée pour identifier l'identité de l'expéditeur et du destinataire.
Cryptage de l'information: garantir la sécurité de l'information. L'expéditeur a une clé publique, et il n'importe pas que d'autres le sachent aussi, car les informations envoyées par d'autres n'ont aucun impact sur le destinataire. La clé détenue par le destinataire est la clé privée et le destinataire est le seul à pouvoir déverrouiller l'information cryptée. La technologie de cryptage des transactions Bitcoin relève de ce scénario.
Signature numérique: assurer l'attribution des informations. Afin de montrer que les informations n'ont pas été falsifiées et sont effectivement envoyées par le propriétaire des informations, la signature numérique est attachée à l'arrière des informations originales. Comme une signature manuscrite, elle est unique et concise.
Authentification de connexion : le client chiffre les informations de connexion avec la clé privée et les envoie au serveur, qui déchiffre et authentifie les informations de connexion avec la clé publique du client après les avoir reçues.
Certificat numérique: garantir la légitimité de la clé publique. Afin que l'expéditeur puisse vérifier que la clé publique obtenue sur Internet est bien réelle, une organisation tierce CA (Autorité de certification) est générée pour garantir la légitimité de la clé publique. Lors de la publication d'informations, le propriétaire du texte original des informations doit apporter sa propre signature numérique et son certificat numérique, ce qui peut garantir que les informations ne sont pas altérées.
Les algorithmes à clé asymétrique utilisés dans la blockchain Bitcoin sont des algorithmes cryptographiques à courbes elliptiques. Ce sont également des algorithmes à clé asymétrique couramment utilisés dans la blockchain actuelle, appelés ECDSA, où EC est l'abréviation de "elliptic curve" et DSA est l'abréviation de "digital signature algorithm".
Dans la détermination des paramètres de la courbe elliptique, le système Bitcoin utilise un paramètre de courbe appelé SECP256k1. De cette manière, le système obtient de manière aléatoire une clé privée de 32 octets dans l'opération, puis obtient la clé publique grâce à l'algorithme de signature numérique de courbe elliptique (en utilisant la courbe SECP256k1), puis applique plusieurs algorithmes de hachage pour obtenir le hachage de la clé publique, et forme l'adresse du compte final en combinaison avec le numéro de version.
Par exemple, deux nombres premiers (152, 891) sont générés de manière aléatoire pour former une "clé privée" à six chiffres 152891, et la règle pour générer une "clé publique" est que ces deux nombres premiers sont multipliés (152x891=135432). À ce moment, les gens sur le réseau peuvent obtenir cette "clé publique". Lorsque vous voulez que ces données soient modifiées par vous seul, vous pouvez ajouter une note aux données "‘clé publique’ 135432": seuls les trois premiers chiffres de la clé privée multipliés par les trois derniers chiffres équivalent à la clé publique et peuvent être modifiés.
Si un hacker sur le réseau souhaite manipuler des données sans consentement, même s'il sait que la "clé privée" génère la "clé publique" en multipliant deux nombres premiers, il ne sait pas quels sont ces deux nombres premiers. Par conséquent, pour trouver la clé privée de la "clé publique" 135423, il ne peut que les essayer un par un de la manière la plus directe : 001 x 02, …, 998 x 999, etc. Ce processus est difficile lorsque le nombre premier est grand.
Un tel exemple est relativement simple. Un ordinateur peut calculer la "clé privée" de l'exemple ci-dessus directement à partir de la "clé publique". Cependant, l'algorithme de courbe elliptique utilisé par le système Bitcoin pour générer une "clé publique" à partir d'une "clé privée" est difficile à craquer avec la technologie existante. Parce que son nombre premier est très grand. De plus, le processus de déchiffrement de la clé privée dans le système Bitcoin est réalisé par un langage d'exécution de pile en notation polonaise inversée.
courbe elliptique
La clé privée peut déduire la clé publique et le hachage de la clé publique, mais la clé publique et le hachage de la clé publique ne peuvent pas déduire la clé privée. Par conséquent, la clé privée doit être bien conservée par l'utilisateur. Une fois que la clé privée est perdue, les actifs dans le compte ne peuvent pas être récupérés.
Les algorithmes asymétriques sont à la base du fonctionnement de la blockchain. En plus de l'algorithme cryptographique à courbe elliptique utilisé dans des blockchains telles que Bitcoin et Ethereum, les différents algorithmes cryptographiques suivants sont également courants dans les blockchains.
Algorithme RSA (Rivest Shamir Adleman) : car il est difficile à craquer, il est largement utilisé dans le domaine du chiffrement numérique et de la signature numérique. Dans l'algorithme RSA, à la fois des clés publiques et privées peuvent être utilisées pour chiffrer des informations. Si la clé publique est utilisée pour chiffrer (pour prévenir le vol d'informations), la clé privée sera utilisée pour déchiffrer. Si la clé privée est utilisée pour chiffrer (pour prévenir la manipulation d'informations), la clé publique sera utilisée pour déchiffrer (signature numérique). Théoriquement, plus le nombre de bits de clé dans l'algorithme RSA est long, plus il est difficile à craquer (l'informatique quantique n'est pas exclue). Par conséquent, la clé couramment utilisée dans l'industrie est d'au moins 2048 bits.
Algorithme de signature numérique DSA : cet algorithme ne peut pas chiffrer ou déchiffrer l'information, et est principalement utilisé pour signer et authentifier l'information chiffrée. La sécurité est aussi élevée que l'algorithme RSA, mais la vitesse de traitement est plus rapide.
Algorithme cryptographique à courbe elliptique ECC : le processus de chiffrement est dérivé de la courbe elliptique en mathématiques. Comparé à l'algorithme RSA, l'algorithme ECC permet un chiffrement et un déchiffrement plus rapides et une intensité de sécurité unitaire plus élevée. Avec la même longueur de clé, l'algorithme ECC offre la plus haute sécurité.
La cryptographie est l'une des technologies de base qui soutiennent le fonctionnement des systèmes de blockchain. Elle est devenue une partie indispensable de la sécurité informatique moderne et un composant clé de l'écosystème croissant des cryptomonnaies. Avec le développement continu de la cryptographie, les algorithmes à clé symétrique et les algorithmes à clé asymétrique joueront un rôle plus important dans la résistance aux diverses menaces dans la sécurité informatique future et la validation de la sécurité des cryptomonnaies.