RSA-kryptering är en allmänt använda metod för att säkra digital kommunikation. Det innebär att man genererar ett par nycklar och använder dem för att kryptera och dekryptera meddelanden. Förstå de praktiska beräkningarna bakom RSA hjälper till att förstå hur datasäkerheten upprätthålls.

Key Generation Process

Det första steget i RSA väljer två stora prime-nummer, som vanligtvis betecknas som p och q. Dessa primtal används för att beräkna modulus n, som är en del av de offentliga och privata nycklarna.

Beräkna n genom att multiplicera p och q: n = p × q. Därefter, beräkna Eulers totient funktion, φ(n) = (p - 1) × (q - 1)) . Välja en kryptering exponent e som är coprime med φ(n) är avgörande. Vanliga val för e inkluderar 3 eller 65537.

Den privata nyckelexponent d beräknas som modulär invers av e modulo φ(n). Detta innebär att lösa för d i ekvationen: d × e à 1 (mod φ(n)).

Meddelande kryptering och dekryptering

För att kryptera ett meddelande, konvertera det till ett numeriskt format m, där 0 ≤ m < n. Certeknik c sedan beräknas med den offentliga nyckeln (n, e): c = m^e mod n.

Decryption innebär att använda den privata nyckeln d för att återställa det ursprungliga meddelandet: m = c ^ d mod n. Denna process säkerställer att endast någon med den privata nyckeln kan dekryptera meddelandet.

Praktisk beräkning Exempel

Anta p = 61 och q = 53. Beräkna n = 61 × 53 = 3233. Sedan, φ(n) = (61 - 1) × (53 - 1) = 60 × 52 = 3120. Välj e = 17, som är coprime med 3120.

Hitta d sådan att d × 17 ÷ 1 (mod 3120). värdet av d är 2753. Den offentliga nyckeln är (n=3233, e=17), och den privata nyckeln är (n=3233, d=2753).

För att kryptera ett meddelande m = 65, beräkna c = 65 ^ 17 mod 3233, vilket resulterar i c = 2790. Att dekryptera, beräkna m = 2790 ^ 2753 mod 3233, vilket ger det ursprungliga meddelandet 65.