RSA algoritme er asymmetrisk kryptografi algoritme. Asymmetrisk betyder faktisk, at det fungerer på to forskellige nøgler, dvs.offentlig nøgle og privat nøgle. Som navnet beskriver, at den offentlige nøgle er givet til alle og privat nøgle holdes privat.

et eksempel på asymmetrisk kryptografi:

  1. en klient (for eksempel bro .ser) sender sin offentlige nøgle til serveren og anmoder om nogle data.
  2. serveren krypterer dataene ved hjælp af klientens offentlige nøgle og sender de krypterede data.
  3. klient modtager disse data og dekrypterer det.,

da dette er asymmetrisk, kan ingen andre end bro .ser dekryptere dataene, selvom en tredjepart har en offentlig bro .sernøgle.

ideen! Ideen om RSA er baseret på det faktum, at det er svært at faktorisere et stort heltal. Den offentlige nøgle består af to tal, hvor et tal er multiplikation af to store primtal. Og privat nøgle er også afledt af de samme to primtal. Så hvis nogen kan faktorisere det store antal, kompromitteres den private nøgle., Derfor ligger krypteringsstyrken helt på nøglestørrelsen, og hvis vi fordobler eller tredobler nøglestørrelsen, øges krypteringsstyrken eksponentielt. RSA-nøgler kan typisk være 1024 eller 2048 bits lange, men eksperter mener, at 1024 bit nøgler kunne brydes i den nærmeste fremtid. Men indtil nu ser det ud til at være en umulig opgave.

Lad os lære mekanismen bag RSA-algoritmen er :

    >> Generering af Offentlig Nøgle :

  • Vælg to primære nej ‘ er. Antag, at P = 53 og Q = 59.,Nu første del af den offentlige nøgle: n = p * = = 3127.
  • Vores Offentlige Nøgle, der er lavet af n og e
  • >> Generering af Private nøgler :

    
    
  • Vi har brug for at beregne Φ(n) :Sådan, at Φ(n) = (P-1)(Q-1), så, Φ(n) = 3016
  • Nu beregne, Private Nøgle d : d = (k*Φ(n) + 1) / e for et heltal kFor k = 2, d-værdi er 2011.,
  • Nu er vi klar med vores Offentlige Nøgle ( n = 3127 og e = 3) og en Privat Nøgle(d = 2011)

    Nu, vi vil kryptere “HI” :

    
    
  • Konverter bogstaver til tal : H = 8, og jeg = 9
  • Således Krypterede Data c = 89e mod n. Derfor er vores Krypterede Data, der kommer ud for at være 1394
  • Nu vil vi dekryptere 1394 :

  • Dekrypterede Data = cd mod n. Derfor er vores Krypterede Data kommer ud til at være 89
  • 8 = T og I = 9 dvs “HEJ”.,

    Nedenfor er C gennemførelse af RSA algoritmen for små værdier:

    
    

    
    

    Output :

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

    Denne artikel er bidraget ved Mohit Gupta_OMG 🙂. Hvis du kan lide GeeksforGeeks og vil gerne bidrage, du kan også skrive en artikel med contribute.geeksforgeeks.org eller mail din artikel til [email protected]. Se din artikel, der optræder på GeeksforGeeks vigtigste side og hjælpe andre Nørder.