RSA algoritmus je asymetrický kryptografický algoritmus. Asymetrický vlastně znamená, že funguje na dvou různých klávesách, tj. veřejný klíč a soukromý klíč. Jak název popisuje, že veřejný klíč je dán všem a soukromý klíč je udržován v soukromí.

příklad asymetrické kryptografie:

  1. klient (například prohlížeč) odešle svůj veřejný klíč na server a požádá o některá data.
  2. server šifruje data pomocí veřejného klíče klienta a odesílá zašifrovaná data.
  3. klient obdrží tato data a dešifruje je.,

protože je to asymetrické, nikdo jiný kromě prohlížeče nemůže dešifrovat data, i když má třetí strana veřejný klíč prohlížeče.

myšlenka! Myšlenka RSA je založena na skutečnosti, že je obtížné faktorizovat velké celé číslo. Veřejný klíč se skládá ze dvou čísel, kde jedno číslo je násobení dvou velkých prvočísel. A soukromý klíč je také odvozen ze stejných dvou prvočísel. Takže pokud někdo může faktorizovat velké číslo, soukromý klíč je ohrožen., Síla šifrování tedy zcela spočívá na velikosti klíče a pokud zdvojnásobíme nebo ztrojnásobíme velikost klíče, síla šifrování se exponenciálně zvyšuje. RSA klíče mohou být obvykle 1024 nebo 2048 bitů dlouhé, ale odborníci se domnívají, že 1024 bitové klíče by mohly být rozbité v blízké budoucnosti. Ale až dosud se zdá, že je to nesplnitelný úkol.

Pojďme se naučit mechanismus za RSA algoritmus :

    >> Generování Veřejného Klíče :

  • Vyberte dva hlavní ne. Předpokládejme, že P = 53 a Q = 59.,Nyní první část veřejného klíče: n = P * Q = 3127.
  • Náš Veřejný Klíč je vyroben z n a e
  • >> Generování Soukromého Klíče :

    
    
  • Musíme spočítat Φ(n) :Takových, že Φ(n) = (P-1)(Q-1) tak, Φ(n) = 3016
  • Nyní vypočítat Soukromý Klíč d : d = (k*Φ(n) + 1) / e pro nějaké celé číslo kFor k = 2, hodnota d je 2011.,
  • Teď jsme připraveni s našimi – Veřejný Klíč ( n = 3127 a e = 3) a Soukromý Klíč(d = 2011)

    Nyní budeme šifrovat „AHOJ“ :

    
    
  • Převod písmen na čísla : H = 8 i = 9
  • Takto Zašifrovaná Data c = 89e mod n. Proto naše Šifrovaných Dat vyjde na 1394
  • Teď budeme dešifrovat 1394 :

  • Dešifrovat Data = cd mod n. Proto naše Šifrovaných Dat vyjde na 89
  • 8 H = a I = 9, tj. „AHOJ“.,

    Níže je C implementace RSA algoritmu pro malé hodnoty:

    
    

    
    

    Výstup :

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

    Tento článek je přispěl Mohit Gupta_OMG 🙂. Pokud se vám líbí GeeksforGeeks a chtěli byste přispět, můžete také napsat článek pomocí contribute.geeksforgeeks.org nebo napište svůj článek na [email protected]. Viz váš článek se objeví na GeeksforGeeks hlavní stránce a pomoci jiných Mágů.