03.12.2012 Views

RSA og den heri anvendte matematiks historie - Institut for Natur ...

RSA og den heri anvendte matematiks historie - Institut for Natur ...

RSA og den heri anvendte matematiks historie - Institut for Natur ...

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

4.2 <strong>RSA</strong>-kryptering <strong>og</strong> dekryptering 81<br />

Det at begynde at tælle henholdsvis <strong>for</strong>fra <strong>og</strong> bagfra i alfabetet er nu lige<br />

pludselig ‘automatisk’ indlejret i <strong>den</strong> matematiske <strong>for</strong>mel som nu udgør<br />

Cærsars metode til kryptering. Brugen af modulo gør det <strong>og</strong>så meget<br />

lettere at opskrive Cæsar-kryptering <strong>og</strong> dekryptering som en algoritme<br />

(se opgave 57).<br />

Også <strong>RSA</strong>-kryptering gør brug af modulo-regning omend på en n<strong>og</strong>et<br />

mere sofistikeret vis, idet brugen af kongruenser her er indlejret i de i<br />

kapitel 3 præsenterede talteoretiske resultater. Det som gør <strong>RSA</strong> til så<br />

stærkt et system, i <strong>for</strong>hold til <strong>for</strong> eksempel Cæsar-kryptering, er, at det<br />

udover at være resistent over<strong>for</strong> simple angreb baseret på frekvensanalyse,<br />

bygger på et af matematikkens store (uløste) problemer; primfaktorisering<br />

af store heltal. Et problem hvor det er vældig nemt at gå <strong>den</strong> ene vej; at<br />

bestemme et stort heltal n ved at gange to eller flere store primtal sammen.<br />

Men hvor det <strong>for</strong> alle praktiske anvendelser er alt, alt <strong>for</strong> tidskrævende<br />

at gå <strong>den</strong> an<strong>den</strong> vej; at primfaktorisere n. Og netop <strong>den</strong>ne matematiske<br />

envejsfunktion udgør grundstenen i Rivests, Shamirs <strong>og</strong> Adlemans<br />

kryptosystem. Lad os se hvordan.<br />

4.2 <strong>RSA</strong>-kryptering <strong>og</strong> dekryptering<br />

<strong>RSA</strong>-kryptosystemet består af såvel en procedure til (ind)kryptering af en<br />

meddelelse som en procedure til dekryptering af <strong>den</strong>ne. Disse procedurer er<br />

fuldstændig fastlagt <strong>og</strong> der er der<strong>for</strong> tale om en algoritme: <strong>RSA</strong>-algoritmen.<br />

Ideen i <strong>RSA</strong> er at de to individer, Alice <strong>og</strong> Bob, der ønsker at udveksle<br />

en meddelelse på sikker vis begge er i besiddelse af en offentlig nøgle KE<br />

til kryptering af <strong>den</strong>ne (K står <strong>for</strong> ‘key’ <strong>og</strong> E <strong>for</strong> ‘encryption’). Nøglen<br />

består af to positive heltal n <strong>og</strong> e, vi skriver KE = (n, e). Her er<br />

n = p · q,<br />

hvor p <strong>og</strong> q er store primtal (eksempelvis på 200 cifre hver) <strong>og</strong> heltallet e<br />

er valgt på en sådan måde, at<br />

sfd(e, φ(n)) = 1.<br />

Ved hjælp af sætning 3.30 kan vi med det samme omskrive dette til<br />

sfd(e, (p − 1)(q − 1)) = 1.<br />

Primtallene p <strong>og</strong> q er hvad vi kan tænke på som ‘tilfældige’ primtal af en<br />

vis cifferlængde. Der findes metoder til at generere sådanne primtal, men<br />

det skal vi ikke komme nærmere ind på her. Pointen i <strong>RSA</strong> er at man<br />

ikke udsætter systemet <strong>for</strong> fare ved at gøre nøglen KE = (n, e) offentlig.<br />

Som vi skal se ne<strong>den</strong><strong>for</strong>, skal man <strong>for</strong> at være i stand til dekryptere<br />

meddelelsen kende n’s primfaktorisering pq, <strong>og</strong> som vi allerede har diskuteret<br />

i <strong>for</strong>bindelse med aritmetikkens fundamentalsætning er det at<br />

finde primfaktoriseringen <strong>for</strong> meget store heltal en så besværlig process,<br />

at det til dags dato i praksis ikke lader sig gøre. Hvor<strong>for</strong> vi netop vælger<br />

heltallet e som vi gør vil fremgå senere.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!