RSA — matematikken bag public-key-kryptering
RSA er en af de mest kendte og udbredte metoder til asymmetrisk kryptering, opkaldt efter de tre forskere, der offentliggjorde den i 1977: Ron Rivest, Adi Shamir og Leonard Adleman. Metoden er et konkret eksempel på, hvordan en simpel matematisk idé kan blive til et af de vigtigste værktøjer i digital sikkerhed.
Let at gange, svært at faktorisere
Kernen i RSA er et matematisk problem, alle kan forstå princippet i, selvom detaljerne er komplekse: det er hurtigt for en computer at gange to meget store primtal sammen og få et endnu større tal. Men den modsatte opgave — at tage det store tal og finde ud af, hvilke to primtal det oprindeligt blev ganget sammen af — er enormt tidskrævende, hvis tallene er store nok. Det kaldes faktorisering, og der findes i dag ingen kendt hurtig metode til at gøre det for tilstrækkeligt store tal.
Sådan bygges nøgleparret
Ved oprettelsen af et RSA-nøglepar vælges to store primtal, som ganges sammen til ét stort tal. Det store tal indgår i den offentlige nøgle, mens de to oprindelige primtal holdes hemmelige og bruges til at udregne den private nøgle. Fordi det er så svært at faktorisere det store tal igen, kan den offentlige nøgle deles frit, uden at nogen i praksis kan regne sig frem til de hemmelige primtal og dermed den private nøgle.
Bruges typisk til nøgleudveksling og signaturer
I praksis bruges RSA sjældent til at kryptere store mængder data direkte, fordi det er langsommere end symmetriske metoder som AES. I stedet bruges RSA typisk til at udveksle en kortvarig symmetrisk nøgle sikkert, eller til at skabe digitale signaturer, som vi ser nærmere på senere i denne pakke.
Den vigtigste pointe
RSA viser, hvordan et rent matematisk problem — hvor svært det er at faktorisere store tal — kan omsættes til et praktisk værktøj, der beskytter kommunikation for milliarder af mennesker. Den samme grundtanke om nøglepar går igen i en teknologi, du sandsynligvis bruger dagligt uden at tænke over det: ende-til-ende-krypterede beskedapps.