RSA-algoritmen er asymmetrisk kryptografi algoritme. Asymmetrisk betyr faktisk at det fungerer på to forskjellige nøkler dvs. Offentlig Nøkkel og en Privat Nøkkel. Som navnet beskriver at den Offentlige Nøkkelen som er gitt til alle og Private nøkkelen holdes privat.

Et eksempel på asymmetrisk kryptografi :

  1. En klient (for eksempel nettleser) sender sine public key til server og forespørsler for noen data.
  2. server som krypterer data ved hjelp av brukerens offentlige nøkkel og sender den krypterte data.
  3. Klienten mottar disse dataene og dekrypterer det.,

Siden dette er asymmetrisk, ingen andre bortsett fra nettleseren kan dekryptere data selv om en tredje part har offentlig nøkkel i nettleseren.

ideen! Ideen om RSA er basert på det faktum at det er vanskelig å factorize et stort heltall. Den offentlige nøkkelen består av to tall der ett nummer er multiplikasjon av to store primtall. Og den private nøkkelen er også avledet fra den samme to primtall. Så hvis noen kan factorize det store antall, den private nøkkelen er kompromittert., Derfor kryptering styrke ligger helt på tasten størrelse og hvis vi dobbel eller trippel-tasten størrelse, styrke kryptering øker eksponentielt. RSA-nøkler kan være typisk 1024 eller 2048 bits lang, men eksperter mener at 1024 bits nøkler kan være brutt i nær fremtid. Men til nå ser det ut til å være en umulig oppgave.

La oss lære mekanismen bak RSA-algoritmen :

    >> Generere Offentlig Nøkkel :

  • Velg to prime ingen-tallet. Anta at P = 53 og Q = 59.,Nå er Første del av den Offentlige nøkkelen : n = P*Q = 3127.
  • Våre Offentlige Nøkkelen som er laget av n og e
  • >> Generere Privat Nøkkel :

    
    
  • Vi trenger for å beregne Φ(n) :Slik at Φ(n) = (P-1)(Q-1) så, Φ(n) = 3016
  • Nå beregne Privat Nøkkel d : d = (k*Φ(n) + 1) / e for noen heltall kFor k = 2, verdien av d er 2011.,
  • Nå er vi klare med vår – Offentlig Nøkkel ( n = 3127 og e = 3) og den Private Nøkkelen(d = 2011)

    Nå er vi vil kryptere «HEI» :

    
    
  • Konvertere bokstavene til tall : H = 8, og jeg = 9
  • Dermed Kryptert Data c = 89e mod n. Dermed vår Krypterte Data, som kommer ut til å være 1394
  • Nå vil vi dekryptere 1394 :

  • Dekrypterte Data = cd-mod n. Dermed vår Krypterte Data, som kommer ut til å være 89
  • 8 = H og i = 9 vil si «HEI».,

    Nedenfor er C implementering av RSA-algoritmen for små verdier:

    
    

    
    

    Output :

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

    Denne artikkelen er levert av Mohit Gupta_OMG 🙂. Hvis du liker GeeksforGeeks og ønsker å bidra, kan du også skrive en artikkel med contribute.geeksforgeeks.org eller e-post artikkelen din til [email protected]. Se artikkelen din vises på den GeeksforGeeks hovedsiden og hjelpe andre Geeks.