RSA-algoritme is een asymmetrisch cryptografiealgoritme. Asymmetrisch betekent eigenlijk dat het werkt op twee verschillende sleutels, dat wil zeggen publieke sleutel en Private sleutel. Zoals de naam beschrijft, wordt de publieke sleutel aan iedereen gegeven en wordt de Private sleutel privé gehouden.

een voorbeeld van asymmetrische cryptografie:

  1. een client (bijvoorbeeld browser) stuurt zijn publieke sleutel naar de server en vraagt om bepaalde gegevens.
  2. de server versleutelt de gegevens met behulp van de publieke sleutel van de client en verzendt de versleutelde gegevens.
  3. Client ontvangt deze gegevens en decodeert deze.,

omdat dit asymmetrisch is, kan niemand anders dan browser de gegevens decoderen, zelfs als een derde partij een publieke sleutel van browser heeft.

het idee! Het idee van RSA is gebaseerd op het feit dat het moeilijk is om een groot geheel getal te ontbinden. De publieke sleutel bestaat uit twee getallen waarbij één getal vermenigvuldiging is van twee grote priemgetallen. En private sleutel is ook afgeleid van dezelfde twee priemgetallen. Dus als iemand het grote getal kan factoriseren, is de private sleutel gecompromitteerd., Daarom ligt de versleutelingssterkte volledig bij de sleutelgrootte en als we de sleutelgrootte verdubbelen of verdrievoudigen, neemt de sterkte van de versleuteling exponentieel toe. RSA-sleutels kunnen doorgaans 1024 of 2048 bits lang zijn, maar experts geloven dat 1024 bits sleutels in de nabije toekomst kunnen worden gebroken. Maar tot nu toe lijkt het een onmogelijke taak.

laten we het mechanisme achter RSA-algoritme leren:

    >> genererende publieke sleutel :

  • Selecteer twee priemno ‘ s. Stel P = 53 en Q = 59.,Nu eerste deel van de publieke sleutel: n = P * Q = 3127.
  • onze publieke sleutel is gemaakt van n en e
  • >> genererende Private sleutel :

    
    
  • We moeten Φ(n) berekenen :zodanig dat Φ(n) = (P-1)(Q-1) so, Φ(N) = 3016
  • Bereken Nu de private sleutel, d : d = (k*φ(n) + 1) / E voor een geheel getal KFOR k = 2 is de waarde van D 2011.,
  • nu zijn we klaar met onze – Public Key ( n = 3127 en e = 3) en Private Key(d = 2011)

    nu versleutelen we “HI” :

    
    
  • converteer letters naar cijfers : H = 8 en I = 9
  • aldus versleutelde gegevens c = 89e mod n. dus onze versleutelde gegevens komen uit op 1394
  • nu zullen we decoderen 1394 :

  • decrypted data = CD Mod n. dus onze versleutelde data komt uit op 89
  • 8 = h en I = 9 d.w.z. “hi”.,

    Hieronder is C implementatie van RSA algoritme voor kleine waarden:

    
    
    
    

    uitvoer:

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

    Dit artikel wordt bijgedragen door Mohit gupta_omg 🙂. Als je GeeksforGeeks leuk vindt en wil bijdragen, kun je ook een artikel schrijven met contribute.geeksforgeeks.org of mail uw artikel naar [email protected]. zie uw artikel verschijnen op de GeeksforGeeks hoofdpagina en help andere Geeks.

    Geef een reactie

    Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *