RSA algoritm är asymmetrisk kryptografi algoritm. Asymmetrisk innebär faktiskt att den fungerar på två olika nycklar, dvs. offentlig nyckel och privat nyckel. Som namnet beskriver att den offentliga nyckeln ges till alla och privat nyckel hålls privat.

ett exempel på asymmetrisk kryptografi:

  1. en klient (till exempel webbläsare) skickar sin offentliga nyckel till servern och förfrågningar om vissa data.
  2. servern krypterar data med klientens publika nyckel och skickar krypterade data.
  3. klienten tar emot dessa data och dekrypterar den.,

eftersom det här är asymmetriskt kan ingen annan utom webbläsaren dekryptera data även om en tredje part har en allmän nyckel i webbläsaren.

idén! Tanken med RSA är baserad på det faktum att det är svårt att factorize ett stort heltal. Den offentliga nyckeln består av två tal där ett tal är multiplikation av två stora primtal. Och privat nyckel är också härledd från samma två primtal. Så om någon kan faktorisera det stora antalet, äventyras den privata nyckeln., Krypteringsstyrkan ligger därför helt på nyckelstorleken och om vi dubbel eller tredubblar nyckelstorleken ökar krypteringsstyrkan exponentiellt. RSA-nycklar kan vara typiskt 1024 eller 2048 bitar långa, men experter tror att 1024 bitnycklar kan brytas inom en snar framtid. Men tills nu verkar det vara en ofelbar uppgift.

låt oss lära oss mekanismen bakom RSA-algoritmen:

    > > generera allmän nyckel:

  • Välj två primtal. Antag P = 53 och Q = 59.,Nu första delen av den offentliga nyckeln: n = P * Q = 3127.
  • vår offentliga nyckel är gjord av n och e
  • >> genererar privat nyckel:

    
    
  • Vi måste beräkna Φ(n) :så att Φ(n) = (P-1)(Q-1) Så, Φ(n) = 3016
  • beräkna nu privat nyckel, d : d = (k*φ(n) + 1) / E för vissa heltal KFOR k = 2, värdet av D är 2011.,
  • nu är vi redo med vår – offentlig nyckel ( n = 3127 och e = 3) och privat nyckel(d = 2011)

    nu kommer vi att kryptera ”HI”:

    
    
  • konvertera bokstäver till siffror : H = 8 och i = 9
  • så krypterad Data C = 89e mod n. således kommer våra krypterade Data ut att vara 1394
  • nu kommer vi att dekryptera 1394:

  • dekrypterade data = CD mod n. Således kommer våra krypterade data ut att vara 89
  • 8 = H och i = 9 dvs ”hi”.,

    nedan är C-implementering av RSA-algoritmen för små värden:

    
    

    
    

    Output :

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

    den här artikeln har bidragit av Mohit Gupta_OMG. Om du gillar GeeksforGeeks och vill bidra, kan du också skriva en artikel med contribute.geeksforgeeks.org eller maila din artikel till [email protected]. se din artikel som visas på GeeksforGeeks huvudsida och hjälpa andra nördar.