RSA-salausavaimen laskenta lukuteorian kurssille:
Ensin valitaan satunnaisesti kaksi eri alkulukua p ja q ja sitten lasketaan näiden tulo: n = p * q. Esimerkiksi p = 5, q = 11 ja vastaavasti n = 5 * 11 = 55. Tämä on sen lukujonon suuruus, jolla viesti salataan lukumuotoon. Jotta kaikki numerot ja kirjaimet voitaisiin salata, tulee n:n olla suurempi kuin 36. Tällöin voidaan salata vähintään 26 kirjainta ja 10 numeroa. Menetelmän turvallisuuden takaamiseksi alkutekijöinä käytetään todellisuudessa suurempia lukuja.
Tämän jälkeen valitaan satunnaisesti arvo tekijälle e, joka on pienempi kuin n ja jaoton (p-1)*(q-1) = (5-1)*(11-1) = 4*10 = 40, esim. e = 3.
Molemmat julkiset avaimet on nyt määritelty: n = 55 ja e = 3.
Yksityisen avaimen laskeminen:
Tekijän e ja jäännösluokka-ajattelun avulla haetaan yksityinen avain d. Ratkaistaan yksi ratkaisu ehdolle:
(e*d) mod ((p-1)*(q-1)) = 1. eli että lausekkeen (e*d)-1 tulos on lausekkeen (p-1)*(q-1), eli luvun 40 monikerta. Tässä tapauksessa pienin luku, johon tämä pätee,
on d = 27. Tämä johtuu siitä, että (3*27)-1 = 80 ja 80 on luvun 40 monikerta.
Yksityinen avain on d = 27.
Alkulukuja p ja q ei enää tarvita. Jotta avain pysyisi salassa, sitä ei tule luovuttaa ulkopuolisille.
Yhteenveto lasketuista avaimista
Julkinen avain: n = 55 ja e = 3
Yksityinen avain: d = 27 (tässä, kuten julkisessa avaimessakin, n = 55)
Salaus:
Ennen salaamista sanoma muutetaan lukumuotoon, A=1, B=2, ...Z=26, ja edelleen 0=27, 1=28, ...9=36. Esimerkiksi sana "salasanoma" on tässä lukumuodossa "19 01 12 01 19 01 14 15 13 01". Itse salaus on huomattavasti monimutkaisempaa.
Esimerkiksi tekstimerkin S lukumuodosta 19 lasketaan salattu merkki C seuraavasti:
C = mod(S
e, n) eli C = mod(19^3, 55) = 39.
Salatussa lukumuodossa sana "salasanoma" kuuluisi "39 01 23 01 39 01 49 20 52 01".
Salauksen purkamisessa tekijällä e ei ole merkitystä, vaan tämän sijaan käytetään salattua avainta d seuraavasti:
S = C
d mod n eli purettuna koodi 39 on siis mod(39^27, 55) = 19, joka vastaa kirjainta S.
Casion graafisista laskimista löytyy jäännösluokkalaskenta komennolla mod. Graafisissa malleissa mod-komento löytyy laskentasovelluksen RUN-MAT alta OPTN -> NUM -> MOD ja symbolisista laskimista esim. Pääsovelluksessa valikosta Interaktiivinen -> Laskenta -> mod.
Internet-vihjeitä oppilaille ja opettajille: