Un algorithme révolutionnaire, bouleversant ; un algorithme de cryptage qui ne peut être déchiffré qu'avec la puissance de calcul
Algorithme RSA Sortir de la scène historique (apprentissage recommandé : tutoriel vidéo web front-end)
Le moment est venu, en 1976, deux informaticiens américains Whitfield Diffie et Martin He Martin Hellman, a prouvé pour la première fois que le décryptage peut être effectué sans transmettre directement la clé. C'est ce qu'on appelle « l'algorithme d'échange de clés Diffie-Hellman ».
L'émergence de l'algorithme DH a une signification historique : à partir de ce moment, il est révélé que différentes règles peuvent être utilisées pour le cryptage et le décryptage, à condition qu'il existe une certaine correspondance entre les règles.
Ce nouveau mode est également appelé « algorithme de chiffrement asymétrique » :
(1) La partie B génère deux clés, une clé publique et une clé privée. La clé publique est publique et peut être obtenue par n’importe qui, tandis que la clé privée est gardée secrète.
(2) La partie A obtient la clé publique de la partie B et l'utilise pour crypter les informations.
(3) La partie B obtient les informations cryptées et les déchiffre avec la clé privée.
Les informations cryptées par la clé publique ne peuvent être déchiffrées que par la clé privée. Tant que la clé privée n'est pas divulguée, la communication est sécurisée.
Un an seulement après l'invention de l'algorithme DH, en 1977, Ron Rivest, Adi Shamir et Leonard Adleman ont proposé ensemble au MIT l'algorithme RSA composé des premières lettres de leurs noms de famille épelées ensemble. .
Le nouvel algorithme RSA a des fonctionnalités plus puissantes que l'algorithme DH, car l'algorithme DH n'est utilisé que pour la distribution de clés, tandis que l'algorithme RSA peut être utilisé pour le cryptage des informations et les signatures numériques. De plus, plus la clé de l’algorithme RSA est longue, plus la difficulté de crackage augmente de façon exponentielle.
En raison de ses performances puissantes, il n'est pas exagéré de dire que partout où il y a un réseau informatique, il existe un algorithme RSA.
Voici comment fonctionne l'algorithme RSA
L'algorithme RSA est célèbre dans le monde entier, alors comment ça marche ?
La première étape consiste à sélectionner au hasard deux nombres premiers inégaux p et q.
La deuxième étape consiste à calculer le produit n de p et q. La longueur de n est la longueur de la clé, généralement exprimée en binaire, et la longueur générale est de 2048 bits. Plus le nombre de chiffres est long, plus il est difficile de les déchiffrer.
La troisième étape consiste à calculer la fonction d'Euler φ(n) de n.
La quatrième étape consiste à sélectionner au hasard un entier e, où 1 La cinquième étape consiste à calculer l'élément inverse modulaire d de e par rapport à φ(n). Ce qu'on appelle « l'élément inverse modulo » signifie qu'il existe un entier d qui peut rendre le reste de ed divisé par φ(n) égal à 1. La sixième étape consiste à encapsuler n et e dans une clé publique (n,e) et à encapsuler n et d dans une clé privée (n,d). Supposons que l'utilisateur A veuille envoyer des informations cryptées m à l'utilisateur B, et qu'il veuille crypter m avec la clé publique (n,e). Le processus de cryptage est en fait une formule : Une fois que l'utilisateur B a reçu l'information c, il utilise la clé privée (n, d) pour la déchiffrer. Le processus de décryptage est également calculé sous forme de formule : De cette façon, l'utilisateur B sait que le message envoyé par l'utilisateur A est m. Tant que l'utilisateur B garde le numéro d secret, les autres ne pourront pas obtenir les informations cryptées m sur la base des informations transmises c. L'algorithme RSA utilise (n, e) comme clé publique. Est-il possible de dériver d lorsque n et e sont connus ? (1)ed≡1 (mod φ(n)). Ce n'est qu'en connaissant e et φ(n) que nous pouvons calculer d. (2)φ(n)=(p-1)(q-1). Ce n'est qu'en connaissant p et q que nous pouvons calculer φ(n). (3) n=pq. Ce n'est qu'en factorisant n que nous pouvons calculer p et q. Donc, si n peut être décomposé très simplement, il est facile de calculer d, ce qui signifie que l'information est fissurée. Mais actuellement la factorisation de grands entiers est une chose très difficile. À l’heure actuelle, hormis le cracking par force brute, aucune autre méthode efficace n’a été trouvée. En d’autres termes, tant que la longueur de la clé est suffisamment longue, les informations chiffrées avec RSA ne peuvent pas être déchiffrées. L'algorithme RSA est progressivement appliqué à tous les aspects de l'être humain En raison de la fiabilité de l'algorithme RSA, cette technologie est désormais appliquée dans de nombreux endroits. L'application la plus importante est la protection de la transmission d'informations sur Internet. Grâce à l'algorithme RSA, même s'il est intercepté pendant le processus de transmission, il sera difficile à décrypter, garantissant ainsi la sécurité de la transmission des informations. Seuls ceux qui possèdent la clé privée peuvent interpréter les informations. U-Shield pour les transactions bancaires est la seule preuve de l'identité de l'utilisateur. Lorsque le bouclier USB est utilisé pour la première fois, l'algorithme RSA est utilisé pour générer la clé privée et l'enregistrer dans le bouclier USB. Lors d'une utilisation future, la clé privée est utilisée pour déchiffrer les informations de transaction afin d'effectuer des opérations de transaction ultérieures et de protéger les intérêts de l'utilisateur. De nos jours, il existe de nombreux produits contrefaits et de mauvaise qualité, et les entreprises doivent prendre des mesures anti-contrefaçon. À l'heure actuelle, le plus courant est l'anti-contrefaçon par code QR, qui permet aux consommateurs de vérifier les produits grâce à une simple opération de numérisation. Cependant, si le code QR est affiché en texte brut, il peut facilement être utilisé par des criminels. Actuellement, certaines personnes ont utilisé l'algorithme RSA pour crypter le texte brut du code QR afin de protéger les intérêts des consommateurs. Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!