RSA-salaus on laajalti käytetty menetelmä digitaalisen viestinnän varmistamiseksi. Se sisältää parin avaimia ja niiden avulla salataan ja puretaan viestejä. RSA:n taustalla olevien käytännön laskelmien ymmärtäminen auttaa ymmärtämään, miten tietoturvaa ylläpidetään.

Avainsukupolviprosessi

Ensimmäinen askel RSA on valitsemalla kaksi suurta alkulukua, tyypillisesti merkitty p ja q. Näitä Primes käytetään laskea modulaatio n, joka on osa julkista ja yksityistä avaimet.

Laske n kertomalla p ja q: n = p × q. Sitten laske Eulerin totiiveja φ(n) = (p - 1) × (q - 1). Salauksen valinta eksponentin e, joka on kopteri φ(n) kanssa on välttämätöntä. Yhteiset valinnat e:lle sisältävät 3 tai 65537.

Yksityinen avain exponent d lasketaan e modulo φ(n) -moduulin käänteisenä. Tämä tarkoittaa d:n ratkaisemista yhtälössä: d × e .

Viestin salaus ja salauksen purku

Salataksesi viestin, muunna se numeeriseksi m-muodossa, jossa 0 ≤ m < n. Salaus c lasketaan käyttämällä julkista avainta (n, e): c = m^e mod n.

Salauksen purkuun kuuluu yksityisen avaimen d käyttäminen alkuperäisen viestin takaisinsaamiseen: m = c^d mod n. Tämä prosessi varmistaa, että vain joku, jolla on yksityinen avain, voi purkaa viestin salauksen.

Käytännön laskenta Esimerkki

Oletetaan p = 61 ja q = 53. Laske n = 61 × 53 = 3233. Sitten φ(n) = (61 - 1) × (53 - 1) = 60 × 52 = 3120. Valitse e = 17, joka on kopriimi 3120:n kanssa.

Etsi d sellainen, että d × 17 ... 1 (mod 3120). D:n arvo on 2753. Julkinen avain on (n=3233, e=17), ja yksityinen avain on (n=3233, d=2753).

Salataksesi viestin m = 65, laske c = 65^17 mod 3233, jolloin c = 2790. Salauksen purkamiseksi laske m = 2790^2753 mod 3233, joka tuottaa alkuperäisen viestin 65.