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.

1.4 Lidt om algoritmer 17<br />

Definition 1.3<br />

En algoritme er en endelig mængde af præcise instruktioner <strong>for</strong> udførelsen<br />

af en beregning eller løsningen af et problem.<br />

Generelt set opfylder algoritmer gerne en række egenskaber, eller man<br />

er i hvert fald interesseret i at de gør det, da brugbarhe<strong>den</strong> af dem ellers<br />

kan være diskutabel. Disse egenskaber er som følger:<br />

1. Inddata: En algoritme modtager værdier fra en nærmere specificeret<br />

mængde af inddata.<br />

2. Uddata: Fra hver mængde af inddata giver algoritmen uddata fra<br />

en nærmere specificeret mængde af sådanne. Uddata-værdierne er<br />

løsningerne til problemet.<br />

3. Præcision: Skridtene af en algoritme må være præcist defineret.<br />

4. Korrekthed: En algoritme må producere de korrekte uddata-værdier<br />

<strong>for</strong> hver mængde af inddata-værdier.<br />

5. Terminering: En algoritme må producere det ønskede uddata i løbet<br />

af et endeligt, omend eventuelt stort, antal skridt <strong>for</strong> en hvilken<br />

som helst mængde af inddata.<br />

6. Effektivitet: Det skal være muligt at udføre hvert skridt i algoritmen<br />

nøjagtigt som tiltænkt <strong>og</strong> in<strong>den</strong> <strong>for</strong> en endelig tidsperiode.<br />

7. Generalitet: Algoritmen bør kunne anvendes <strong>for</strong> alle problemer<br />

af <strong>den</strong> ønskede <strong>for</strong>m, ikke kun <strong>for</strong> en speciel mængde af inddataværdier.<br />

Lad os eksemplificere dette med udgangspunkt i Cæsar-kryptering.<br />

Eksempel 1.4<br />

For <strong>den</strong> ovenstående algoritme <strong>for</strong> Cæsar-kryptering udgør <strong>den</strong> besked der<br />

skal krypteres vores inddata-værdier. Den nærmere specificerede mængde,<br />

hvorfra inddata-værdierne kommer er vores alfabet bestående af 29<br />

b<strong>og</strong>staver. Algoritmen giver løsningen, det vil sige <strong>den</strong> krypterede besked,<br />

som uddata-værdier ligeledes bestående af b<strong>og</strong>staver fra alfabetet (<strong>den</strong><br />

specificerede mængde). Skridtene i algoritmen er præcist defineret; før<br />

afsendelse <strong>for</strong>etages kryptering, efter modtagelse <strong>for</strong>etages dekryptering.<br />

I hvert af disse skridt udskiftes b<strong>og</strong>staverne løbende med henholdsvis<br />

b<strong>og</strong>staverne tre pladser længere fremme eller tre pladser længere tilbage i<br />

alfabetet. Algoritmen giver en korrekt kryptering, hvis <strong>den</strong> er implementeret<br />

i overenstemmelse med <strong>for</strong>skrifterne, <strong>og</strong> i så fald <strong>og</strong>så en korrekt<br />

dekryptering. Hvis ellers beske<strong>den</strong> er endelig kan algoritmen <strong>og</strong>så udføres<br />

i et endeligt antal skridt; når vi når sidste b<strong>og</strong>stav i beske<strong>den</strong> terminerer<br />

algoritmen. Og i så fald kan algoritmen <strong>og</strong>så afsluttes in<strong>den</strong> <strong>for</strong> en endelig<br />

tidsperiode. Med hensyn til generalitet, så fungerer algoritmen på samtlige<br />

kombinationer af inddata fra alfabetet.<br />

Algoritmen kan faktisk <strong>og</strong>så være generel på an<strong>den</strong> vis, idet vi kan<br />

generalisere værdien 3 til at være k, hvor k er mindre end eller lig antallet<br />

af symboler i alfabetet. Men det er ikke <strong>den</strong>ne <strong>for</strong>m <strong>for</strong> generalitet som<br />

<strong>den</strong> syvende egenskab <strong>for</strong> algoritmer hentyder til. ⋄

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

Saved successfully!

Ooh no, something went wrong!