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

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

4.3 Et udførligt eksempel 87<br />

Alice sender nu <strong>den</strong>ne kryptotekst til Bob. Det første Bob gør er at<br />

bryde <strong>den</strong> op i blokke på fire cifre:<br />

0255 1391 1046 1733 1745 1554 1808.<br />

Bob skal nu bruge sin egen private nøgle, KD = (nB, dB), til at dekryptere<br />

beske<strong>den</strong> med. nB er selvfølgelig <strong>den</strong> samme værdi som i <strong>den</strong> offentlige<br />

nøgle, men lad os se hvordan Bob har bestemt værdien d.<br />

Den private nøgle d skal vælges således, at <strong>den</strong> er en invers af e = 23<br />

modulo φ(n) = 3120. Vi ved fra tidligere (jævnfør eksempel 3.14), at vi<br />

kan bestemme inverse ved at gå ‘baglæns’ gennem Euklids algoritme, <strong>og</strong><br />

derefter udtrykke <strong>den</strong> største fællesdivisor som en sum af de to heltal, i<br />

tilfældet her<br />

1 = s · e + t · φ(n),<br />

hvor s’et her er i<strong>den</strong>tisk med vores d-værdi. Men før vi kan gå baglæns i<br />

Euklids algoritme må vi nødvendigvis gå <strong>for</strong>læns først. Selvfølgelig ved vi<br />

allerede at sfd(e, φ(n)) = 1, <strong>for</strong> sådan er <strong>den</strong> jo valgt, men det hjælper os<br />

ikke, da det er mellemregningerne vi har brug <strong>for</strong>. Altså kører vi Euklids<br />

algoritme igennem <strong>for</strong> sfd(23, 3120):<br />

3120 = 23 · 135 + 15<br />

23 = 15 · 1 + 8<br />

15 = 8 · 1 + 7<br />

8 = 7 · 1 + 1<br />

7 = 1 · 7 + 0<br />

Vi finder som ventet sfd(23, 3120) = 1 <strong>og</strong> kan nu gå baglæns:<br />

1 = 8 − 7 · 1 = 1 · 8 + (−1) · 7<br />

= 1 · 8 + (−1) · (15 − 8 · 1) = (−1) · 15 + 2 · 8<br />

= (−1) · 15 + 2 · (23 − 15 · 1) = 2 · 23 + (−3) · 15<br />

= 2 · 23 + (−3) · (3120 − 23 · 135) = (−3) · 3120 + 407 · 23.<br />

Vi får således, at<br />

1 = −3 · φ(n) + 407 · e,<br />

hvilket betyder at d = 407.<br />

Altså har Bob <strong>den</strong> private dekrypteringsnøgle givet ved<br />

KD = (nB, dB) = (3233, 407).<br />

Den første udregning der skal udføres er der<strong>for</strong><br />

D(0255) ≡ 0255 407 (mod 3233).

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

Saved successfully!

Ooh no, something went wrong!