L’algorithme RSA est un algorithme de cryptographie asymétrique. Asymétrique signifie en fait que cela fonctionne sur deux clés différentes, C’est-à-dire la clé publique et la clé privée. Comme le nom le décrit, la clé publique est donnée à tout le monde et la clé privée est gardée privée.

un exemple de cryptographie asymétrique:

  1. Un client (par exemple un navigateur) envoie sa clé publique au serveur et demande Certaines données.
  2. le serveur crypte les données à l’aide de la clé publique du client et envoie les données cryptées.
  3. Le Client reçoit ces données et les déchiffre.,

étant donné que cela est asymétrique, personne d’autre que le navigateur ne peut déchiffrer les données même si un tiers a la clé publique du navigateur.

L’idée! L’idée de RSA est basée sur le fait qu’il est difficile de factoriser un grand entier. La clé publique se compose de deux nombres où un nombre est la multiplication de deux grands nombres premiers. Et la clé privée est également dérivée des deux mêmes nombres premiers. Donc, si quelqu’un peut factoriser le grand nombre, la clé privée est compromise., Par conséquent, la force du cryptage repose totalement sur la taille de la clé et si nous doublons ou triplons la taille de la clé, la force du cryptage augmente de manière exponentielle. Les clés RSA peuvent être généralement longues de 1024 ou 2048 bits, mais les experts estiment que les clés de 1024 bits pourraient être cassées dans un proche avenir. Mais jusqu’à présent, cela semble être une tâche infaisable.

Laissez-nous en savoir le mécanisme derrière l’algorithme RSA :

    >> Génération de la Clé Publique :

  • Sélectionner les deux premiers pas de l’. Supposons que P = 53 et Q = 59.,Maintenant, première partie de la clé publique: n = P * Q = 3127.
  • notre clé publique est faite de n et e
  • >> générer une clé privée:

    
    
  • nous devons calculer Φ(n) :tel que Φ(n) = (P-1)(Q-1) donc, φ(N) = 3016
  • calculez maintenant la clé privée, d : d = (k*φ(N) + 1) / e pour un entier kpour k = 2, la valeur de D Est 2011.,
  • maintenant, nous sommes prêts avec notre clé publique ( n = 3127 et e = 3) et notre clé privée(d = 2011)

    maintenant, nous allons crypter « HI”:

    
    
  • Convertir les lettres en chiffres : H = 8 et I = 9
  • ainsi les données cryptées c = 89e mod N. 1394
  • maintenant, nous allons décrypter 1394 :

  • données décryptées = CD mod n. ainsi, nos données cryptées se révèlent être 89
  • 8 = h et I = 9 c’est – à-dire « hi ».,

    ci-Dessous est C mise en œuvre de l’algorithme RSA pour les petites valeurs:

    
    

    
    

    Résultat :

    Message data = 12.000000Encrypted data = 3.000000Original Message Sent = 12.000000

    Cet article est apporté par Mohit Gupta_OMG 🙂. Si vous aimez GeeksforGeeks et souhaitez contribuer, vous pouvez également écrire un article en utilisant contribute.geeksforgeeks.org ou envoyez votre article à [email protected]. voir votre article apparaissant sur la page principale GeeksforGeeks et aider les autres Geeks.