maandag 14 oktober 2013

Cryptografie met grote priemgetallen

Wiskunde wordt veel gebruikt voor de beveiliging van allerlei dingen. Mensen willen vaak berichten naar elkaar sturen die niet door iemand anders gelezen kunnen worden. Dit komt bijvoorbeeld voor in het leger, maar ook als jij in een winkel betaalt met jouw pinpas. Je pincode wordt vanuit de winkel naar de bank gestuurd, die controleert of de pincode klopt. Het is natuurlijk niet de bedoeling dat iemand zomaar dat bericht kan onderscheppen en dan achter jouw pincode komt. Het bericht wordt daarom goed beveiligd met behulp van een speciale tak van wiskunde die cryptografie heet.



Er zijn allerlei methodes om berichten te beveiligen en een van de meest populaire gebruikt priemgetallen. Deze methode heet RSA. Het idee achter RSA is dat het heel makkelijk is om twee grote getallen met elkaar te vermenigvuldigen, maar heel moeilijk om van een heel groot getal de ontbinding in priemgetallen te bepalen.
Als ik jou vraag om het getal 227 × 251 uit te rekenen, dan heb jij dat waarschijnlijk zo gedaan, op papier of met een rekenmachientje. Binnen de kortste keren weet je mij te vertellen dat het antwoord 56977 is. Maar kun je mij ook de ontbinding in priemgetallen van het getal 47477 vertellen? Zelfs met een rekenmachientje kom je daar waarschijnlijk niet zo snel uit.

Om RSA te gebruiken, heb je twee heel grote priemgetallen nodig. Alleen de ontvanger van het bericht (in het geval van de pinpasbetaling is dat de bank) kent deze twee priemgetallen. Alle andere mensen kennen het product van de twee priemgetallen, maar niet de priemgetallen zelf. De verzender van het bericht (bijvoorbeeld de pinautomaat in de winkel) heeft dat product nodig om het bericht te beveiligen. Als het eenmaal beveiligd is, kun je het alleen nog lezen als je de twee priemgetallen kent waaruit het product is opgebouwd. Het is ontzettend moeilijk om zo'n groot product te ontbinden, dus niemand kan die priemgetallen zelf vinden. De enige die het bericht kan lezen is dus degene die de priemgetallen al had, in ons voorbeeld de bank.

Geen opmerkingen:

Een reactie posten