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.

84 <strong>RSA</strong>-algoritmen<br />

Da der <strong>for</strong> M i <strong>RSA</strong> er <strong>for</strong>udsat, at 0 < M < n har vi, at p <strong>og</strong> q ikke begge<br />

kan være faktorer i M, <strong>for</strong> i så fald ville M jo blive større end eller lig n.<br />

Altså har vi ifølge antagelsen om at q | M, at p ∤ M. Da p er et primtal<br />

følger heraf, at p <strong>og</strong> M er indbyrdes primiske. Men når sfd(p, M) = 1 har<br />

vi ifølge Fermats lille sætning, sætning 3.25, at<br />

C d ≡ M · (M (p−1) ) k(q−1) ≡ M · 1 k(q−1) ≡ M (mod p),<br />

<strong>og</strong> dermed er vi færdige.<br />

Vi har nu altså vist korrekthe<strong>den</strong> af <strong>RSA</strong>-algoritmen i de to tilfælde<br />

hvor n <strong>og</strong> M henholdsvis er <strong>og</strong> ikke er indbyrdes primiske, det vil sige at<br />

der altid vil gælde, at<br />

C d ≡ M (mod n).<br />

Lad os nu se et eksempel på en kryptering <strong>og</strong> en dekryptering ved brug<br />

af <strong>RSA</strong>-algoritmen.<br />

4.3 Et udførligt eksempel<br />

Vi skal her illustrere hvad sætning 4.2 <strong>for</strong>tæller os ved at vise hvordan<br />

et <strong>RSA</strong>-kryptosystem fungerer. For nemhe<strong>den</strong>s <strong>og</strong> illustrationens skyld<br />

vil vi operere med små tal. Igen kigger vi på <strong>den</strong> situation, hvor Alice<br />

vil sende en besked til Bob. Når Alice skal kryptere sin besked skal hun<br />

bruge nøglen, KE = (nB, eB), som Bob har offentliggjort. Alice kender<br />

kun talværdierne i dette nøglepar, hun ved ikke hvordan Bob er kommet<br />

frem til dem <strong>og</strong> hvilke primtal der gemmer sig bag.<br />

Selv om Alice ikke ved det kan vi jo selvfølgelig godt få det at vide.<br />

Bob har valgt de to primtal<br />

p = 53 <strong>og</strong> q = 61,<br />

hvilket har givet ham (<strong>og</strong> Alice) følgende heltal n:<br />

n = p · q = 53 · 61 = 3233.<br />

Dette er altså værdien nB i <strong>den</strong> offentlige nøgle, <strong>den</strong> an<strong>den</strong> værdi, eB,<br />

skal være et tal som er indbyrdes primisk med φ(n), hvilket jo er givet<br />

ved:<br />

φ(n) = (p − 1)(q − 1) = (53 − 1)(61 − 1) = 52 · 60 = 3120.<br />

Der skal altså bestemmes et tal e som opfylder, at<br />

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

<strong>og</strong> det kan man gøre ved at prøve sig frem. Hvis man vælger et primtal<br />

kan man gøre dette lidt nemmere <strong>for</strong> sig selv, idet man da blot behøver at<br />

teste om primtallet er en divisor i φ(n) <strong>og</strong> er det ikke det vil kravet være

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

Saved successfully!

Ooh no, something went wrong!