Hoe wordt RSA gebruikt?
We weten nu hoe we een boodschap x kunnen coderen en decoderen.
Maar hoe wordt dit nu in de praktijk gebruikt?
Een voorbeeld:
Betalingen via het internet
Neem aan je wil via het internet een artikel van een postorderbedrijf
bestellen en betalen.
Nu wil je jouw creditcard nummer niet zomaar over het net
naar dit bedrijf sturen. De kans dat dit nummer in verkeerde handen komt, is te groot. Om de veiligheid van de communicatie met het bedrijf te waarborgen
wordt de communicatie met het bedrijf in geheimschrift gevoerd.
Het bedrijf kiest twee priemgetallen p en q en daarbij
horende vercijfergetal v, ontcijfergetal w en modulus m=pq.
De getallen v en m
worden door het bedrijf bekend gemaakt.
Als je nu je order plaatst en het creditcardnummer wil doorsturen,
versleutel je eerst jouw boodschap met behulp van het vercijfergetal v
en de modulus m. Je verstuurt nu de versleutelde boodschap naar het bedrijf.
Het postorderbedrijf is in het bezit van het ontcijfergetal w
en de modulus m en kan jouw bericht nu ontcijferen.
Iemand die w niet kent, kan jouw boodschap echter niet ontcijferen.
Je kunt dus op een veilige manier jouw order plaatsen.
Hoe veilig is RSA?
De veiligheid van RSA wordt natuurlijk bepaald door de moeilijkheid van het
berekenen van het ontcijfergetal w. Om dit getal te vinden, is het
nodig de twee priemgetallen p en q te kennen. Kent men deze
dan is het verder een koud kunstje om w te vinden. Maar zoals we
reeds in Hoofdstuk 1 hebben gezien, is het ontbinden
van de modulus m=pq in p en q een zeer moeilijk en
tijdrovend karwei als m maar groot genoeg gekozen wordt: kiest
men twee zeer grote priemgetallen p en q, dan is het nagenoeg
onmogelijk om de ontbinding van de modulus m=pq te vinden. Het RSA-cryptosysteem
is dan ook een zeer goede beveiliging.