Encryptie
RSA
Carl Reinehr
Kontich, januari
2003
Encryptie
RSA
Auteur School Studentnummer Studierichting Module Docent Datum
datacommunicatie: RSA
: : : : : : :
Carl Reinehr CVO Antwerpen-Zuid 176 HTL Informatica Netwerkbeheer Datacommunicatie Marc Rosseau 06-01-03
2
Carl Reinehr
Inhoudsopgave 1 Inleiding 1.1 Wat is cryptografie? 1.2 Het nu van cryptografie
5 5
2 Terminologie 2.1 Plaintext 2.2 Encryption 2.3 Ciphertext 2.4 Decryption 2.5 Key 2.6 Cryptanalysis 2.7 Cryptology 2.8 Algoritmes 2.9 Public Key Cryptosystems 2.10 Secret Key Cryptosystems
6 6 6 6 6 6 6 6 7 7
3 Geschiedenis van de crytografie 3.1 Het begin 3.2 Monoalfabetisch substitutie system 3.3 Polyalfabetische encryptie 3.4 Vigenère-cijfer 3.5 Mechanisatie van encryptie 3.6 Navajo 3.7 Publieke sleutels 3.8 DES 3.9 RSA 3.10 Andere algoritmen 3.11 AES Rijndael 3.12 Quantummechanica 3.12.1 Quantummechanica voor decryptie 3.12.2 Quantummechanica voor encryptie
8 8 9 10 11 13 13 15 15 15 16 16 16 16
4 Encryptie 4.1 4.2 4.3 4.4 4.5 4.6
17 18 18 18 19 19
nu National Security Agency Cryptografie en de wet Legaliteit van cryptografie Legaliteit van export Verplichting tot ontsleutelen Cryptografische berichten en briefgeheim
5 RSA 5.1 5.2
5.3
5.4 5.5 5.6
Inleiding Getaltheorie die gebruikt wordt in RSA 5.2.1 Klokrekenen 5.2.2 Deler, veelvoud en gemeenschappelijke factor 5.2.3 Priemgetallen 5.2.4 Stelling van Fermat 5.2.5 Eulerfuntie 5.2.6 Stelling van Euler Voorbereiding 5.3.1 Keuze van de priemgetallen 5.3.2 Keuze van de vercijferingsexponent 5.3.3 Algoritme van Euclides 5.3.4 Berekening van de ontcijferingsexponent 5.3.5 Bekendmaking van n en e Boodschappen versturen: vercijfering Afluisteren Boodschappen lezen: ontcijfering
datacommunicatie: RSA
3
20 21 22 23 23 24 25 26 26 27 28 28 28 29 29
Carl Reinehr
5.7
Kraken van RSA 5.7.1 Hoe veilig is een RSA sleutel? 5.7.2 RSA kraken 5.7.2.1 Private key berekenen 5.7.2.2 Brute-force hacking
6 Toepassingen 6.1 Digicash 6.2 PGP 6.2.1 Geschiedenis van PGP 6.2.2 Werking PGP 6.2.2.1 Gebruik 6.2.2.2 Algoritmen 6.2.2.3 Versleutelen 6.2.2.4 Signeren 6.2.2.5 Andere mogelijkheden 6.2.3 Veiligheid 6.2.3.1 Computer 6.2.3.2 Implementatie 6.2.3.2.1 Software algemeen 6.2.3.2.2 Private signature key 6.2.3.3 Algoritmen 6.2.3.3.1 Asymmetrische algoritmen 6.2.3.3.2 Symmetrische algoritmen 6.2.3.3.3 Random number generators 6.2.3.4 Uitwisselen public keys 6.2.3.4.1 Achtergrond 6.2.3.4.2 Certificaten 6.2.3.4.3 Keys splitsen 6.2.3.4.4 Conclusie 7 Bronnen 8 Bijlage 8.1
30 30 31 31
32 32 34 35 35 36 38 38 38 38 38 38 39 39 39 40 41 41 42
Lijst met priemgetallen
datacommunicatie: RSA
43
4
Carl Reinehr
1.1 Wat is cryptografie? Cryptografie is letterlijk de kunst van het verborgen schrijven. Vroeger gebeurde dat door de tekst zelf te verbergen of te vervangen door geheime symbolen, maar tegenwoordig zijn vooral wiskundige technieken populair. Door middel van een cryptografisch algoritme en een sleutel kan een tekst (de "brontekst") worden getransformeerd tot een onleesbare brij tekens (de "codetekst"). De ontvanger moet opnieuw het algoritme en een sleutel gebruiken om de brontekst weer terug te krijgen. Er zijn twee soorten cryptografie: Geheime-sleutel cryptografie, waarbij zender en ontvanger dezelfde sleutel gebruiken.
Publieke-sleutel cryptografie, waarbij twee verschillende sleutels nodig zijn. De ene sleutel (de publieke) mag aan iedereen bekend worden gemaakt, de andere (de geheime) moet de ontvanger strikt geheim houden. Met de publieke sleutel kan de zender de brontekst omzetten in de codetekst, en met de geheime sleutel kan de ontvanger de brontekst weer terugkrijgen. Normaal gebruiken zender en ontvanger van een bericht dezelfde sleutel, die ze vooraf samen afspreken. Zij kunnen dan met behulp van geheime-sleutel cryptografie het bericht versleutelen en ontsleutelen. Dat is echter niet altijd praktisch, bijvoorbeeld wanneer zij elkaar alleen via Internet kennen. In zo'n geval is publieke-sleutelcryptografie handig. De ontvanger creëert twee sleutels, een publieke en een geheime. De eerste kan hij overal publiceren (bijvoorbeeld op zijn homepage of in een openbare key-server), zodat iedereen die hem een bericht wil sturen, deze op kan vragen. De tweede moet hij strikt geheim houden. Berichten die anderen met zijn publieke sleutel versleutelen, kan alleen hij met zijn geheime sleutel weer terugvertalen in de brontekst.
1.2 Het nut van cryptografie Het Internet is nog onveiliger dan de telegraaf van vroeger. Wereldwijde communicatielijnen zijn met een kleine moeite af te tappen, en een emailtje kan maar al te gemakkelijk bij de verkeerde persoon in het adresboek terechtkomen. Vervelend in het geval van een heftige liefdesbrief, kostbaar in het geval van een offerte of een bedrijfsgeheim document dat bij een concurrent terechtkomt, en levensgevaarlijk als het gaat om communicatie met een politie-informant. Maar cryptografie is niet alleen nuttig voor grote bedrijven en overheden. Ook voor de gewone burger is het van belang. Wie bestelt er nooit eens iets bij een online boekhandel of veilinghuis? Het is dan wel prettig dat een hacker er niet met je credit-card gegevens vandoor kan gaan.
datacommunicatie: RSA
5
Carl Reinehr
2 Terminologie Bij een ingewikkeld onderwerp als cryptografie horen vanzelfsprekend ook een hoop ingewikkelde termen. Ik zal de belangrijkste hier even kort bespreken. Hierbij zal ik de Engelse termen aanhouden, omdat die toch praktisch altijd gebruikt worden.
2.1 Plaintext
Het ongecodeerde bericht. Dit is de belangrijke boodschap die niet in verkeerde handen mag komen.
2.2 Encryption
Met encryption wordt de codering van de plaintext bedoeld. Via deze stap wordt ervoor gezorgd dat de
2.3 Ciphertext
Dit is de uiteindelijke tekst, in versleutelde vorm. Bij een goed gecodeerde tekst is de ciphertext een onbegrijpelijke boodschap, waaruit onbevoegden praktisch onmogelijk de plaintext kunnen halen.
2.4 Decryption
De decryption (het decoderen) is de stap die de ontvanger uitvoert om het originele bericht weer uit de ciphertext te halen. Dit gebeurt via een key.
2.5 Key
De key is zoals het woord al zegt de sleutel die je nodig hebt om een ciphertext te decoderen. Weet je de key, dan is het ontcijferen van de boodschap een fluitje van een cent. Zonder sleutel is dit bij een goed gecodeerde tekst bijna niet mogelijk.
2.6 Cryptanalysis
Dit begrip houdt het kraken van een gecodeerde tekst in. De echte cryptanalysten bedenkten hier ingenieuze manieren voor, zodat snel een code gekraakt kan worden.
2.7 Cryptology
Cryptologie is een net iets minder ruim begrip dan Cryptografie. Bij cryptologie wordt namelijk alleen de wiskundige kant van de cryptografie bestudeerd.
2.8 Algoritmes Om iets te versleutelen heb je altijd een algoritme nodig. Hiermee wordt de manier bedoeld, waarop informatie veranderd (gecodeerd) wordt. Algoritmes zijn er van enorm eenvoudig, tot zeer complex; zo kent iedereen waarschijnlijk wel het algoritme dat kleine kinderen soms gebruiken om 'geheimschrift' te maken. Hierbij tel je bij elke letter er eentje op, zodat een onleesbaar woord ontstaat. In 'computertaal' komt dit op het volgende neer:
datacommunicatie: RSA
6
Carl Reinehr
c = chr$(asc(m) + 1) m = chr$(asc(c) - 1) De ciphertext (c) is dus de plainplain (m) waarbij 1 letter is opgeteld. Zo wordt een a een b (a + 1 = b), en krijg je de originele boodschap weer terug door het algoritme om te keren: b - 1 = a. Aangezien je natuurlijk reëel gezien niet een getal bij een letter kan optellen, wordt er met ASCII-codes gewerkt. Zet de letter om in een code, tel daar 1 bij op en verander dan die code weer terug in een letter. Uiteraard worden er bij professionele cryptografie wel wat ingewikkeldere algoritmes gebruikt. De belangrijkste algoritmes zijn onder te verdelen in twee categorieën:
2.9 Public Key Cryptosystems (Asymmetrische Cryptosystemen) Deze vorm van cryptografie is al in de jaren 70 uitgevonden. Hierbij wordt gebruik gemaakt van een publieke sleutel voor het coderen en een geheime sleutel voor het decoderen. Een voorbeeld van Public Key Cryptosystems is de RSA-beveiliging. Er wordt gebruik gemaakt van wiskundige zaken zoals priemgetallen, logaritmes en vermenigvuldigingen. De precieze werking verschilt uiteraard per beveiliging.
2.10 Symmetrische Cryptosystemen Bij deze vorm van cryptografie is er maar één sleutel: de geheime key. Deze sleutel wordt gebruikt voor het coderen en ook voor het decoderen (of in ieder geval is de decodeer-sleutel eenvoudig af te leiden van de codeersleutel). Het grote nadeel hiervan is dus dat de sleutel van de zender aan de ontvanger moet worden doorgegeven. Hierbij kan onderschepping van de communicatie voorkomen, waardoor de beveiliging steeds minder gebruikt wordt. De 'kindercryptografie' waar ik het eerder over had behoort tot deze categorie.
datacommunicatie: RSA
7
Carl Reinehr
3 Geschiedenis van de cryptografie 3.1 Het begin De kindercryptografie werd door Julius Caesar eigenlijk ook al gebruikt. Alleen in een wat andere vorm. Een nog simpelere vorm zelfs. Hij schoof het alfabet als het ware een eindje op, als hij het bijvoorbeeld 1 letter opschoof dan werd de a een b, de b een c enzovoorts. Een bericht als HALLO CAESAR HOE GAAT HET MET JOU werd dan IBMMP DBFTBS IPF HBBU IFU NFU KPV En dat was eigenlijk voor een buitenstaander een rare reeks letters, vooral omdat Caesar het gewoon achter elkaar plakte: HALLOCAESARHOEGAATHETMETJOU werd dan IBMMPDBFTBSIPFHBBUIFUNFUKPV En dat zag er helemaal onbegrijpelijk uit. Voor die tijd was deze truc veilig genoeg, er waren nog niet veel slimmeriken die dit relatief simpele puzzeltje op kunnen lossen. Eenmaal terugschuiven in het alfabet was immers voldoende om de oorspronkelijke reeks weer terug te krijgen. Een beroemd voorbeeld van deze techniek tegenwoordig is uitgevoerd door Arthur Clarke in “A space Odyssey”. De hoofdspeler in dat boek is de computer HAL, die menselijk gedrag vertoont. Zoals je in de ongecodeerde tekst en codeerde tekst kunt zien, wordt HAL, IBM (een van de grootste computer fabriekanten) als je het decodeerde op Caesars manier. Maar goed, op den duur werd deze truc ontdekt. En werd het tijd om iets beters te verzinnen. Bijvoorbeeld dat de verzender en ontvanger afspraken hoeveel letters er werd opgeschoven, dus niet altijd 1 of altijd 7, steeds wisselend, het was dan al wat lastiger om de berichten te ontcijferen. Hoewel deze berichten heel simpel te coderen, en decoderen zijn werken ze wel om een bericht snel onleesbaar te maken. Een andere techniek voor encryptie is het volgende: De verzender en ontvanger hebben en stok of balk, de balk is van dezelfde dikte. De ontvanger windt een stuk papier om de balk en schrijft het bericht op het papier, dan windt hij het papier er af en verstuurt het naar de ander, deze windt het papier er weer om en kan zo het bericht weer lezen. Als iemand het bericht onderschept en om een andere balk wind, die een andere dikte heeft worden de letters niet op de goede manier naast elkaar gezet, en is er nog niks van te begrijpen.
3.2 Monoalfabetisch-substitutie systeem Als je elke letter door een andere letter gaat vervangen, bijvoorbeeld een a wordt een n een b wordt een z etc. Dan spreken we over een monalfabetisch-substitutie systeem. Stel we onderscheppen de volgende cijfertekst:
datacommunicatie: RSA
8
Carl Reinehr
LCOP KGXJXWXXV, VYO DOVMJOPVO VOWO VMYWOPV OP OOP PXABLOPXXPECPYPD KGXJYXJ VJYO WCPOP BXV DOKABCPEOP DOJOOV QXK SOL BXXJ RXXLKLO DOKABYVOPYK, QYOJF WYG WYAB XXP WYGP NCOLOP OP KFJXE: ‘C, DJCLO BOOIJ OP ECPYPD, VMYWOPV OP OOP PXABLOP BOZ YE M VO IXZORK OP RODOPVOP NXP NJCODOJO ECPYPDOP NOJBXXRV. PM KSOOE YE M SYG LCO LO KLXXP OOP DMPKL LO NJXDOP!’ OFYRCCD, NOJBXROP MYL VO VMYWOPV OP OOP PXABL Op het eerste gezicht is hier natuurlijk absoluut niks van te maken. Maar, welke letters komen er het meest voor in het alfabet? De e, n en a. Na analyse van een lange Nederlandse tekst kun je deze tabel maken: Letter A B C D E F G
% 7,5 1,4 1,4 6,0 18,6 0,8 3,3
Letter h i j k l m n
% 2,7 6,8 1,6 2,2 3,6 2,2 10,1
Letter o p q r s t u
% 5,7 1,4 0,0 6,4 4,1 6,5 1,9
Letter v w x y z
% 2,6 1,5 0,0 0,1 1,4
Als je de tabel vergelijkt met de tekst, kan je de volgende conclusie maken: O = E, X = A en P = N (vermits veel woorden in de Nederlandse taal eindigen op N) Als je dan verder voort puzzelt en elimineert, kun je de tekst decoderen.
3.2 Polyalfabetische encryptie In 1466 werd door de Italiaan Leon Battista Alberti het eerste polyalfabetische cryptosysteem ontwikkeld. Een polyalfabetisch systeem lijkt heel veel op het in hierboven besproken alfabetische systeem, het verschil is dat de tabel verandert tijdens het versleutelen. Verzender en ontvanger spreken af om na een vast afgesproken aantal (bijvoorbeeld 8) tekens de letters van de onderste rij eentje naar rechts op te schuiven. Alberti maakte twee koperen platen met daarop de letters van het alfabet. De middelste van de twee kan vrij bewegen. Er wordt door de verzender en ontvanger een beginstand afgesproken, en ook na hoeveel letters de middelste plaat verdraaid moet worden. Het systeem van Alberti is pas in de 18e eeuw gekraakt. Gewone statistische analyse was niet mogelijk, maar toch bleken er analyses te zijn die deze manier van encryptie relatief snel kunnen kraken.
datacommunicatie: RSA
9
Carl Reinehr
codewiel Alberti
Blaise de Vigenère
3.4 Het Vigenère-cijfer Vigenère was de bedenker van het Vigenère vierkant, een nieuwe en betere manier om een tekst te coderen. Dit is het vierkant:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
a B C D E F G H I J K L M N O P Q R S T U V W X Y Z A
b C D E F G H I J K L M N O P Q R S T U V W X Y Z A B
c D E F G H I J K L M N O P Q R S T U V W X Y Z A B C
d E F G H I J K L M N O P Q R S T U V W X Y Z A B C D
e F G H I J K L M N O P Q R S T U V W X Y Z A B C D E
f G H I J K L M N O P Q R S T U V W X Y Z A B C D E F
g H I J K L M N O P Q R S T U V W X Y Z A B C D E F G
h I J K L M N O P Q R S T U V W X Y Z A B C D E F G H
i J K L M N O P Q R S T U V W X Y Z A B C D E F G H I
j K L M N O P Q R S T U V W X Y Z A B C D E F G H I J
k L M N O P Q R S T U V W X Y Z A B C D E F G H I J K
l M N O P Q R S T U V W X Y Z A B C D E F G H I J K L
m N O P Q R S T U V W X Y Z A B C D E F G H I J K L M
n O P Q R S T U V W X Y Z A B C D E F G H I J K L M N
o P Q R S T U V W X Y Z A B C D E F G H I J K L M N O
p Q R S T U V W X Y Z A B C D E F G H I J K L M N O P
q R S T U V W X Y Z A B C D E F G H I J K L M N O P Q
r S T U V W X Y Z A B C D E F G H I J K L M N O P Q R
s T U V W X Y Z A B C D E F G H I J K L M N O P Q R S
t U V W X Y Z A B C D E F G H I J K L M N O P Q R S T
u V W X Y Z A B C D E F G H I J K L M N O P Q R S T U
v W X Y Z A B C D E F G H I J K L M N O P Q R S T U V
w X Y Z A B C D E F G H I J K L M N O P Q R S T U V W
x Y Z A B C D E F G H I J K L M N O P Q R S T U V W X
En werkt als volgt. Je bedenkt een sleutelwoord, bijvoorbeeld ‘crypt’. En je wil de volgende zin coderen: “Jan en Mien liepen door het bos” Dan kijk je voor de eerste letter in de verticale rij, bij de ‘j’ en in de horizontale rijen bij de ‘c’ (eerste letter van crypt):
datacommunicatie: RSA
10
Carl Reinehr
y Z A B C D E F G H I J K L M N O P Q R S T U V W X Y
z A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
1
a b B C
c D
d E
e F
f G
g H
h I
i J
2
C D
E
F
G
H
I
J
K
j
k L
l M
m N
n O
o P
p Q
q R
r S
s T
t U
u V
v W
w X
x Y
y Z
z A
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
A
B
N O P Q R S T U V W X Y Z A B C D E F G H I J K
O P Q R S T U V W X Y Z A B C D E F G H I J K L
P Q R S T U V W X Y Z A B C D E F G H I J K L M
Q R S T U V W X Y Z A B C D E F G H I J K L M N
R S T U V W X Y Z A B C D E F G H I J K L M N O
S T U V W X Y Z A B C D E F G H I J K L M N O P
T U V W X Y Z A B C D E F G H I J K L M N O P Q
U V W X Y Z A B C D E F G H I J K L M N O P Q R
V W X Y Z A B C D E F G H I J K L M N O P Q R S
W X Y Z A B C D E F G H I J K L M N O P Q R S T
X Y Z A B C D E F G H I J K L M N O P Q R S T U
Y Z A B C D E F G H I J K L M N O P Q R S T U V
Z A B C D E F G H I J K L M N O P Q R S T U V W
A B C D E F G H I J K L M N O P Q R S T U V W X
B C D E F G H I J K L M N O P Q R S T U V W X Y
C D E F G H I J K L M N O P Q R S T U V W X Y Z
K L 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
D E F G H I J K L M N O P Q R S T U V W X Y Z A
E F G H I J K L M N O P Q R S T U V W X Y Z A B
F G H I J K L M N O P Q R S T U V W X Y Z A B C
G H I J K L M N O P Q R S T U V W X Y Z A B C D
H I J K L M N O P Q R S T U V W X Y Z A B C D E
I J K L M N O P Q R S T U V W X Y Z A B C D E F
J K L M N O P Q R S T U V W X Y Z A B C D E F G
K L M N O P Q R S T U V W X Y Z A B C D E F G H
L M N O P Q R S T U V W X Y Z A B C D E F G H I
M N O P Q R S T U V W X Y Z A B C D E F G H I J
Zoals je ziet wordt de eerste letter een ‘L’. Als je zo door gaat krijg je dit: Tekst: janenmienliependoorhetbos Sleutel: CRYPTCRYPTCRYPTCRYPTCRYPT Gecodeerd: LRLTGOZCEEKVNTGFFMGAGKZDL
3.5 Het mechaniseren van encryptie Aan het eind van de 19e eeuw werd de radio uitgevonden. Naar verloop van tijd gingen ook militairen de radio gebruiken om te communiceren. Maar tijdens oorlogen werd al snel duidelijk dat ook dit niet veilig was, immers de vijand kon gewoon meeluisteren. Er moest dus een goede encryptie methode gevonden worden, maar helaas die bleef uit. Er kwamen wel een paar encryptie systemen, maar die bleken niet veilig genoeg. In 1918 kwam Arthur Scherbius met zijn Enigma machine. Het coderingsprincipe is niet erg ingewikkeld. Hieronder zie je een heel simpele versie van de enigma machine. Links is het toetsenbord, hier druk je op een van de letters. Een stroompje gaat lopen door de (draaibare scrambler), en komt uit op een andere letter.
datacommunicatie: RSA
11
Carl Reinehr
Zo wordt in deze stand van de scrambler de a een B, de b een A, de c een D etc.
Afhankelijk van hoe je de scrambler draait, krijg je een andere vercijferde letter. Maar nu zetten we een stuk of vier scramblers achter elkaar. In een echt enigma zitten op zo’n toetsenbord natuurlijk 26 letters. En er zaten 3 scramblers achter elkaar:
Daardoor werd het aantal verschillende mogelijkheden om te coderen al 26*26*26 = 17.576. Het was ook nog mogelijk, om de (niet identieke scramblers) van plaats te wisselen. De mogelijkheden zijn 123, 132, 213, 231, 312, 321 en dat zijn dus 6 mogelijkheden. Als extra mogelijkheid zat er ook nog een schakelbord tussen. Hiermee konden maximaal 6 letters verwisseld worden. Het aantal mogelijkheden om dit te doen is heel groot: 100.391.791.500 Het totaal aantal mogelijkheden komt daarmee op: 17.576 * 6 * 100.391.791.500 = 10.000.000.000.000.000 mogelijkheden. Redelijk veilig dus. Om het bericht te coderen zou men een boek moeten maken, met daarin per dag de instellingen van het schakelbord en de 3 scramblers. Om het te ontcijferen is er echter nog een probleem. Want dan zou je een omgekeerde machine moeten maken. Da’s lastig, dus werd er aan het eind van de scramblers een reflector geplaatst, die ervoor zorgde dat het geheel weer terugkwam. Om nu te decoderen, zette je de scramblers en schakelbord in de goede stand, en toetste je één voor één de codeletters in, en de gedecodeerde letter kwam er uit.
datacommunicatie: RSA
12
Carl Reinehr
3.6 Het Navajo Een heel mooi voorbeeld van encryptie is wel taal. Als je als een rus kan praten, kun je wel iets geheim houden. Helaas is er veel Russisch geschreven, en zijn er genoeg plaatsen waar je het kunt leren. Voor absolute geheimhouding is het niet geschikt. In Amerika was er echter een stam die Navajo heette. En had als unieke kenmerk dat ze vrijwel niet schreven, en als enige niet belaagd waren door toeristen en onderzoekers die wat van de taal wilden oppikken. Kortom, de Navajo taal was de enige taal die alleen gesproken werd door die stam. Hier wilden de Amerikanen gebruik van maken. Eerst werden de Navajo stamleden onderworpen aan een stel cryptoanalisten en taalkundigen. Volgens hen was er niks van te volgen, omdat de woorden steeds in een andere volgorde andere dingen betekende, en dat sommige woorden zo erg op elkaar aansloten dat je niet wist of ze bij elkaar hoorden of niet. Na deze bevindingen werden groepen van Navajo-stamleden opgeleid. Ze leerden engels (wat natuurlijk nogal lastig was). De eersten slaagden voor hun diploma in 1942. Zij werden ingezet in de tweede wereld oorlog. Mensen die Navajo berichten onderschepte beschreven het als een zwerm oerwoudgeluiden zonder enige regelmaat. Navajo is nooit door iemand gebroken.
3.7 Publieke sleutels Whitfield Diffie en Martin Hellman zaten met een probleem. Ze wilden een manier verzinnen waarop het mogelijk was een bericht naar de ander te versturen, zonder dat ze van tevoren een sleutel hadden afgesproken. Want het probleem was natuurlijk, hoe spreek je een dergelijke sleutel af, via de telefoon kan het afgeluisterd worden, en via de post kan het onderschept worden. De enige veilige manier was het persoonlijk te vertellen, maar dan was de zin van het bericht opsturen ook weg. Toen bedachten ze dit: Als je nou het bericht in een metalen koffertje doet met een slot erop (waarvan jij de sleutel hebt). Dat stuur je op naar de ontvanger. De ontvanger kan het koffertje niet openen, want heeft de sleutel niet. Wat hij doet is zijn eigen slot er op zetten (waar hij het sleuteltje van heeft). Dit pakketje met die twee sloten stuurt hij weer terug naar jou. Jij haalt je eigen slot er af, en stuurt het terug naar hem. Hij haalt zijn slot er af, en hij kan er bij! Wat een vondst, zul je op het eerste gezicht denken. Maar helaas valt dat een beetje tegen. Want in de wiskunde is het zo, wat er als laatst op gaat, moet er als eerst af. Kijk maar: Sleutel van persoon 1: abcdefghijklmnopqrstuvwxyz HFSUGTAKVDEOYJBPNXWCQRIMZL Sleutel persoon 2: abcdefghijklmnopqrstuvwxyz CPMGATNOJEFWIQBURYHXSDZKLV Bericht Vercijferd Vercijferd Ontcijferd Ontcijferd uur moeten
met sleutel met sleutel met sleutel met sleutel staan)
1: 2: 1: 2:
morgen YBXAGJ LPKCNE zphtqk wbsfnx
twaalf CIHHOT MJOOBX xnllor tgyyhq
uur QQX RRK vvh zzs (hier had dus morgen twaalf
Zoals je ziet, werkt dit niet. We hebben hier namelijk niet te maken met een standaard rekensommetje. Het blijkt dus dat we hier niet te maken hebben met een tweewegsfunctie. Bij een tweewegsfunctie maakt het namelijk
datacommunicatie: RSA
13
Carl Reinehr
niet uit in welke volgorde je de vercijfering ongedaan maakt. Een voorbeeld is het vermenigvuldigen: 3 (sleutel 1) * 8 (te vercijferen ‘bericht’) = 24 (vercijfering 1) 2 (sleutel 2) * 24 (vercijfering 1) = 48 (vercijfering 2) 48 / 3 (sleutel 1) = 16 (ontcijfering stap 1) 16 / 2 (sleutel 2) = 8 (= te vercijferen bericht) de laatste twee stappen kun je ook andersom doen, het maakt niet uit: 48 / 2 (sleutel 2) = 24 (ontcijfering stap 1) 24 / 3 (sleutel 1) = 8 (= te vercijferen bericht) Conclusie, een vermenigvuldiging kun je wel omkeren. En de volgorde waarop maakt niet uit. Maar wat kun je dan niet omkeren? Een modulaire functie kun je niet omkeren. Modulair rekenen leerde je eigenlijk al op de basisschool. Je moest delen, en soms hield je wat over. Dat noemde je dan ‘rest’. Die rest is eigenlijk de uitkomst van zulke modulaire berekening. Modulair rekenen doen we met de % operator (soms wordt ook MOD gebruikt) 7 / 3 = 2 rest 1 7 % 3 = 1 Stel nu weet je die 3 en die 1. Het is nu onmogelijk te achterhalen wat dat andere cijfer is. Namelijk 7 % 3 = 1 maar ook 16 % 3 = 1 en zo zijn er nog veel meer mogelijkheden. Na twee jaar lang proberen vond Hellman een oplossing voor dit probleem. Persoon 1 en persoon 2 spreken twee getallen af: Y en P. P is een priemgetal (alleen zonder rest deelbaar door zichzelf en 1, voorbeeld 3 en 11) en Y moest kleiner zijn dan P. Beide waarden zijn niet geheim. Dus persoon 1 belt persoon 2 op en ze spreken af Y = 7 en P = 11). 1. Nu kiest persoon 1 een willekeurig getal, bijvoorbeeld 3 en houdt dat geheim. We noemen dat getal A. Persoon 2 kiest ook een willekeurig getal, bijvoorbeeld 6 en houdt dat geheim, we noemen het getal B. 2. Persoon 1 rekent het volgende uit: Y^A % P = hier 7^3 % 11 = 2 we noemen dit a. En persoon 1 verstuurt dit getal naar persoon 2. Persoon 2 doet precies hetzelfde: Y^B % P = 7^6 % 11 = 4 noemen we b. Persoon 2 stuurt deze uitkomst naar persoon 1. 3. Persoon 1 berekent b(getal persoon 2)^A % 11 = 4^3 % 11 = 9 Persoon 2 berekent a(getal persoon 1)^B % 11 = 2^6 % 11 = 9 Beide personen hebben nu hetzelfde getal in handen: de sleutel. Een een of andere afluisteraar kan deze waarde niet achterhalen. Stel hij/zij vangt alle waarden op die afgesproken en verteld zijn via de telefoon, dan nog weet die persoon niet welke waarde hij/zij in stap 2 moet nemen voor A of B. Later gingen Ronal Rivest, Adi Shamir en Leonard Adleman hierop door. En ontwikkelde het RSA Algoritme. Waar het op neer komt is dit: Persoon 1 kiest p en q allebei priemgetallen. Bijvoorbeeld p = 17.159 en q = 10.247: als je deze twee met elkaar vermenigvuldigt dan krijg je de publieke sleutel van deze persoon N. N=175.828.273 Bedenk hierbij dat niemand kan achterhalen uit welke twee getallen deze publieke sleutel is ontstaan. Dit bericht werd gecodeerd met behulp van de eenwegfunctie die Rivest ontworpen heeft. Rivest ontwierp een eenwegfunctie zodat het mogelijk was om, als je de waarden van p en q weet, het bericht te decoderen. Het RSA algoritme was geboren.
datacommunicatie: RSA
14
Carl Reinehr
Ook deze code is te breken. Je zou namelijk alle mogelijkheden van p en q kunnen nagaan en kijken of je uit de cijfertekst weer zinnige tekst kunt maken. Om een beeld te geven van hoe lang dit duurt. Er is ooit een wedstrijd uitgeschreven in de Scientific American, waar een publieke sleutel en een cijfertekst werd afgedrukt. De publieke sleutel: 114.381.625.757.888.867.669.235.779.976.146.612.010.218.296.721.242.362.562 .561.842.935.706.935.245.733.897.830.597.123.563.958.705.058.989.075.147.59 9.290.026.879.543.541 Het duurde 17 jaar voor dit getal in factoren werd ontbonden, door een groep van 600 vrijwilligers, die als de computers op hun werk en thuis niks te doen hadden, hieraan aan het rekenen waren. Het is technisch uitvoerbaar om een bericht te vercijferen met een voldoende grote waarde van N (publieke sleutel), zodat alle computers op de planeet het cijferschrift niet zouden kunnen breken binnen de leeftijd van het universum.
3.8 DES Het als ‘DES’ bekende algoritme is gebaseerd op een systeem van IBM dat in 1970 ontwikkeld werd: ‘LUCIFER’. Toen er door de Amerikaanse NBS (National Bureau of Standards) een oproep gedaan werd voor encryptie-algoritmen werd LUCIFER door IBM ingestuurd. Na evaluatie door de NSA (National Security Agency) werd het tot nationale standaard verheven: Digital Encryption Standard. DES is een zogenaamd ‘symmetrisch’ algoritme: voor het encrypten en decrypten wordt dezelfde sleutel gebruikt. Daarom moeten de verzender en ontvanger beide dezelfde sleutel gebruiken. Het DES algoritme is gebaseerd op operaties die gemakkelijk door hardware uit te voeren zijn, zoals het verschuiven van bits. Samen met het feit dat het een standaard was, werd DES binnen minimum van tijd vrijwel overal gebruikt waar symmetrische encryptie nodig was. Aan het eind van de jaren ’90 werd duidelijk dat DES toch niet zo veilig was als men altijd gedacht had. Allereerst werd duidelijk dat de NSA een grote vinger in de pap had gehad bij het ontwikkelen van het algoritme, maar belangrijker was het feit dat computers dermate snel werden dat de 56bits sleutels relatief snel gekraakt konden worden. In 1998 werd er door de Electric Frontier Foundation een werkende DES kraker gedemonstreerd. Tegenwoordig wordt DES vrijwel niet meer gebruikt, hoewel de variant 3DES (DES drievoudig toegepast) nog wel in veel cryptografische software gebruikt wordt.
3.9 RSA RSA wordt later in dit werkje gedetailleerd uitgewerkt.
3.10 Andere algoritmen Andere bekende algoritmen die gebruik maken van public en private keys zijn: Elgamal, Rabin,Diffie-Hellman, DSS/DSA, LUC en XTR. Aangezien er voor encrypten en decrypten verschillende sleutels gebruikt worden, worden deze algoritmen ook wel ‘asymmetrisch’ genoemd. Een groot nadeel van bovenstaande asymmetrische algoritmen is dat ze gebaseerd zijn op het rekenen met grote getallen. Dit is de reden dat algoritmen als RSA over het algemeen veel trager zijn (over het algemeen wordt een factor 1000 als vuistregel genomen) dan symmetrische algoritmen als DES en IDEA.
datacommunicatie: RSA
15
Carl Reinehr
3.11 AES Rijndael Toen in de jaren ’90 duidelijk werd dat DES geen veilige standaard meer was werd er door het NIST (National Institute of Standards and Technology, de opvolger van het NBS) een nieuwe vraag uitgeschreven voor symmetrische cryptografische algoritmen, waarvan er een de nieuwe standaard zou worden: ‘AES’ ofwel ‘Advanced Encrption Standard’. In totaal werden 15 algoritmen ingestuurd, waaronder het door de Belgen Joan Daemen en Vincent Rijmen ontwikkelde symmetrische algoritme‘Rijndael’. In de laatste selectieronde bleven er 5 algoritmen over (waar bijvoorbeeld ook RC6 bij zat, een algoritme dat ontworpen was door Rivest, een van de bedenkers van RSA) en uiteindelijk is Rijndael als winnaar uit de bus gekomen. Het bleek dat Rijndael namelijk gemakkelijk in kleine hardware te implementeren was (bijvoorbeeld smartcards) omdat het algoritme weinig geheugenruimte gebruikt en dit gaf voor het NIST de doorslag. Andere eigenschappen van Rijndael zorgen er voor dat het praktisch gezien moeilijk is om een kraker te bouwen. Er zijn twee bekende soorten aanvallen op hardwareimplementaties van cryptografische algortime: ‘timing’ en ‘power’ aanvallen. Bij dit soort aanvallen wordt de tijd gemeten die het kost om iets te versleutelen, of de opgenomen hoeveelheid stroom. Rijndael blijkt bijzonder goed bestand tegen allebei deze aanvallen.
3.12 Quantummechanica Veel cryptografie experts zijn er van overtuigd dat de toekomst van de cryptografie in de quantummechanica ligt. Hiervoor zijn twee toepassingsgebieden
3.13 Quantummechanica voor decryptie Er zijn aanwijzingen dat bestaande asymmetrische algoritmen met behulp van quantummechanica-technieken te kraken zouden zijn. Met de huidige stand van technologie is het nog niet mogelijk om daadwerkelijk machines te bouwen die dit kunnen, maar het is niet onmogelijk dat dit in de nabije toekomst wordt gerealiseerd. In augustus 2000 is er door een team van IBM een belangrijke stap gezet voor het kraken van encryptie met behulp van quantum technieken. Een quote: “This result gives us a great deal of confidence in understanding how quantum computing can evolve into a future technology," Chuang said. "It reinforces the growing realization that quantum computers may someday be able to live up to their potential of solving, in remarkably short times, problems that are so complex that the most powerful supercomputers couldn't calculate the answers even if they worked on them for millions of years.”
3.14 Quantummechanica voor encryptie Quantummechanica kan er dus voor zorgen dat alle huidige encryptie waardeloos wordt, maar gelukkig komt de oplossing ook uit deze hoek. Een van de basisstellingen van de quantummechanica is de onzekerheidsrelatie van Heisenberg. Deze houdt in dat van een klein deeltje (bijvoorbeeld een foton) de locatie en snelheid onbekend (en zelfs onbepaald) zijn totdat het deeltje bekeken wordt. Op het moment dat een foton bekeken wordt veranderen zijn snelheid en richting. Als Alice een tekst naar Bob wil sturen maakt ze een reeks fotonen en ze geeft deze een polarisatie. Bob kan op basis van deze polarisatie het bericht terughalen. Als Oscar nu de communicatie afluistert zal hij de fotonen op moeten vangen, maar zodra
datacommunicatie: RSA
16
Carl Reinehr
hij ze bekijkt verandert hij ze. De basis van quantum-encryptie is dat Oscar deze fotonen niet 100% kan reconstrueren om door te sturen naar Bob. Bob ontvangt dan een verandert bericht en kan met behulp van een checksum controleren of het bericht intact is. Als dit niet zo is weet Bob dat de communicatie afgeluisterd wordt.
4 Encryptie nu
4.1 National Security Agency Hoewel je het misschien niet zou vermoeden, is encryptie nog steeds ontzettend belangrijk. Het speelt vooral erg in Amerika, en al helemaal omdat het internet zo aan het opkomen is. In de Amerikaanse wet staat namelijk dat er geen gecodeerde berichten naar buiten de Verenigde Staten gestuurd mogen worden, als dezen niet gedecodeerd kunnen worden door het NSA (National Security Agency). Het NSA is het bedrijf dat 80% van de computerkracht ter wereld in handen heeft. Het enige wat ze er de hele dag doen is codes kraken. Misschien heb je ooit gehoord van Carnivore. Carnivore is een programma van de FBI, die e-mail scant die hij binnenkrijgt.
De ISPs (Internet Service Providers, bv internet aanbieders) scannen eerst zelf de post, en post die niet vertrouwd wordt sturen ze door naar de FBI. Een kopie van die e-mail gaat dan door een filter die scant op woorden op woorden als ‘kill’, ‘president’, ‘bomb’ en andere dergelijke termen. Als iets verdachts gevonden wordt, wordt de e-mail gelezen en gekeken of het gevaarlijke informatie bevat. Als het bericht gecodeerd is, gaat hij door naar het NSA waar altijd wel een computertje de tijd heeft om de code te breken waarmee het bericht gecodeerd is. Op deze manier probeert de Amerikaanse regering criminelen via internet op te pakken. Er is nog zo’n spionagenetwerk ook wel Echelon genoemd, er is nog niet veel
datacommunicatie: RSA
17
Carl Reinehr
over bekend, want de betrokken landen (de Verenigde Staten, GrootBrittannië, Canada, Australië en Nieuw-Zeeland) ontkennen nog steeds alles. Echelon is een bedreiging voor zowel de individuele vrijheid als voor de privacy van commerciële bedrijven, zo luidt een van de conclusies van de Fransen. Meer dan 55.000 Amerikaanse en Britse rechercheurs zouden toegang hebben tot de gegevens van de 120 spionagesatellieten van Echelon. Het systeem is in staat om elke minuut zo'n 3 miljoen elektronische berichten te verwerken, aldus de onderzoekers. "Het doel van Echelon is elke elektronische boodschap in de wereld te monitoren", aldus onderzoeksleider Arhur Paecht tegenover de Guardian. "Het is niet onaannemelijk dat de verzamelde informatie wordt gebruikt voor politieke en economische doeleinden, zelfs tegen bepaalde NAVO-leden", zo vervolgt Paecht. Paecht wil dat de EU snel met richtlijnen komt om netwerken als Echelon onder strikte regelgeving te plaatsen. Het Europarlement onderzoekt Echelon momenteel. Het Nederlandse parlement ziet tot nu toe geen enkele reden om Echelon nader te bekijken. Dit heeft tot scherpe kritiek van privacyvoorvechters geleid.
4.2 Cryptografie en de wet Cryptografie is van oudsher een militair hulpmiddel. In de Tweede Wereldoorlog bleek cryptografie van groot belang, en ook in de Koude Oorlog daarna gebruikten geheime diensten cryptografie om met hun agenten aan "de andere kant" te kunnen communiceren. Het is dan ook geen verrassing dat er in een aantal landen nogal wat beperkingen zijn aan het bezit en gebruik van cryptografische hard- en software.
4.3 De legaliteit van cryptografie In de Benelux zijn er geen wettelijke beperkingen aan het gebruik van cryptografische hard- of software. In een aantal landen, zoals Rusland, China en tot een aantal jaren geleden Frankrijk, is het verplicht om eerst een vergunning aan te vragen. Deze vergunning wordt meestal alleen verstrekt als de desbetreffende geheime dienst de berichten kan lezen. Af en toe worden er voorstellen gedaan om het gebruik van cryptografie aan banden te leggen, bijvoorbeeld door de sleutellengte te beperken of door afgifte van de geheime sleutel bij een overheidsinstelling te eisen. Dergelijke eisen lijken nauwelijks haalbaar; criminelen en spionnen (tegen wie deze voorstellen gericht zijn) zullen dit nooit doen, en de kans op misbruik is erg groot. Wel zijn er de nodige beperkingen aan de im- en export van cryptografische software.
4.4 De legaliteit van export De Verenigde Staten, waar de meeste cryptografische software vandaan komt, beschouwt cryptografische software als strategische militaire goederen (net als tanks, munitie en atoombommen) en heeft de export hiervan aan
datacommunicatie: RSA
18
Carl Reinehr
beperkingen onderworpen. Een Amerikaans bedrijf krijgt alleen een exportvergunning als de cryptografische software kraakbaar is door de NSA of er een achterdeur in zit. Om deze reden bestaat veel software in twee versies: een met sterke encryptie, alleen voor gebruik in de VS, en een met zwakke encryptie, voor de rest van de wereld. In de Benelux is de export van cryptografische software alleen aan beperkingen onderworpen als de software uit de VS komt, of als de export naar een "vijandig" land als Libië of Irak zou gaan. De Amerikaanse wetgeving heeft nog een leuk addertje: de export van software (op een CD-ROM of floppy) is aan regels gebonden, maar broncode in boekvorm niet (vanwege de vrijheid van meningsuiting). De nieuwste versies van PGP worden daarom in boekvorm gepubliceerd. Buitenlandse vrijwilligers kopen het boek, scannen het in (de tekst is gedrukt in een gemakkelijk te scannen lettertype) en produceren zo een volstrekt legaal geëxporteerde versie met dezelfde sterkte als de "binnenlandse" editie.
4.5 Verplichting tot ontsleutelen van cryptografische bestanden Het kan gebeuren dat er bij een strafrechtelijk onderzoek versleutelde bestanden worden aangetroffen. Als het vermoeden bestaat dat hierin bewijsmateriaal zit, kan de politie eisen dat deze worden ontsleuteld. Wie de sleutel weet, of weet hoe de gegevens anders kunnen worden achterhaald, is verplicht zijn medewerking te geven. Een uitzondering wordt gemaakt voor de verdachte. Uitgaande van het principe dat niemand mee hoeft te werken aan zijn eigen veroordeling, hoeft de verdachte dus ook zijn sleutel niet af te geven of te vertellen. Dit betekent dus dat politie-experts zelf moeten proberen de bestanden te ontsleutelen. Gelukkig voor hen kiezen de meeste mensen eenvoudig te raden wachtwoorden, of gebruiken ze onveilige cryptografische software. Zelfs een met PGP versleuteld bestand is te "kraken" als de gebruiker de passphrase ergens opgeschreven heeft.
4.6 Cryptografische berichten en het briefgeheim Momenteel heeft e-mail niet dezelfde juridische status als een papieren brief. Er is dus geen wettelijk "mailgeheim". Het lezen van andermans email kan onder computervredebreuk vallen, als daarbij een wachtwoord geraden of gekraakt wordt. Een systeembeheerder die de mail van zijn gebruikers leest, is echter niet zonder meer strafbaar bezig. In 1998 werd voorgesteld e-mail onder artikel 13 Grondwet (briefgeheim) te laten vallen. Dit voorstel heeft het echter niet gehaald. Momenteel wordt gewerkt aan een nieuw voorstel, waarin persoonlijke e-mail ook zonder gebruik van cryptografie bescherming geniet. In de nieuwe Wet Computercriminaliteit worden diverse nieuwe wetsartikelen voorgesteld om het lezen en onderscheppen van e-mail strafbaar te stellen. Wanneer dit wetsvoorstel behandeld wordt, is nog onduidelijk.
datacommunicatie: RSA
19
Carl Reinehr
5 RSA 5.1 Inleiding
In een openbaar-sleutelsysteem (public key system) is er steeds sprake van twee sleutels, een sleutel voor het vercijferen van van de informatie en een tweede sleutel voor het ontcijferen. De vercijfersleutel is in principe openbaar; dat wil zeggen, dat een ieder ervan kan kennisnemen en de sleutel kan gebruiken voor vercijfering van boodschappen. Het basisidee van openbare-sleutelsytemen bestaat nu hierin, dat weliswaar iedereen een boodschap kan vercijferen, maar dat niet iedereen de aldus verkregen cijfertekst kan ontcijferen. Er wordt namelijk voor gezorgd, dat het ondoenlijk is (of althans bijna ondoenlijk) de ontcijfersleutel af te leiden uit de vercijfersleutel. Een van de bekendste en meest gebruikte openbare-sleutelsystemen is het RSA-systeem. Het ontleent zijn naam aan de eerste letters van de achternamen van degenen die het systeem ontworpen hebben: Ron L. Rivest, Adi Shamir en Len Adleman van het Massachusetts Institute of Technologie (MIT).
van links naar rechts: Shamir, Rivest en Adleman Dat RSA inderdaad goed werkt, is gelegen in het feit, dat het eenvoudig is een product van twee priemgetallen te berekenen, maar dat het een stuk moeilijker is (en bijzonder tijdrovend, en daardoor soms zelfs onmogelijk) om uit dat product de oorspronkelijke priemgetallen weer te bepalen (ontbinden in factoren). Als we een groot geheel getal bekend maken dat slechts twee grote priemfactoren heeft, dan is de kans groot, dat een willekeurig iemand niet in staat zal zijn dat getal in factoren te ontbinden. In de volgende voorbeelden zijn de priemgetallen bewust kleiner gehouden dan in werkelijkheid gebruikelijk zou zijn (daar worden producten van
datacommunicatie: RSA
20
Carl Reinehr
priemgetallen gebruikt die liggen in de orde van 10100; ze bestaan dus uit ongeveer 100 cijfers). Een PC met een 100 Mhz Pentium processor zou, met de laatst bekende methode op het terrein van ontbinden van grote getallen, zo'n 18 jaar nodig hebben voor het ontbinden van een dergelijk getal.
5.2 Getaltheorie die gebruikt wordt in RSA Het RSA-cryptosysteem is een geheimschrift waarin een aantal rekenmethoden en oude stellingen uit de wiskunde gebruikt worden. Als je RSA wilt doorgronden dan moet je eerst iets weten over de begrippen deler en veelvoud, klokrekenen, priemgetallen en de stellingen van Fermat en Euler. 5.2.1 Klokrekenen Bij veel geheimschriften wordt gebruik gemaakt van een soort "klokberekening". Stel je een klok voor met de getallen 0, 1, 2, ... 25.
Je ziet dan de letter a als 0, de letter b als 1, enzovoort, dus de letter z als 25. Met deze klok kun je nu rekenen: c + 7 bijvoorbeeld levert dan 2 + 7 = 9, en dat stelt de letter j voor. Evenzo levert x + 7 de letter e, want 23 + 7 = 30 en dat is gelijk aan 4 op deze klok. In de wiskunde heet klokrekenen modulo rekenen. Rekenen modulo 26 houdt in dat we alleen werken met de getallen 0 , 1, 2, ... 25. Als je bij je berekeningen antwoorden krijgt die buiten de verzameling {0 , 1, 2, ... 25} liggen, moet je bij het antwoord net zolang 26 erbij tellen of eraf trekken tot het antwoord weer in {0 , 1, 2, ... 25} zit. We schrijven “ ? ” in plaats van = om in de gaten te houden dat we aan het klokrekenen zijn. Op het einde van de regel schrijven we "(mod 26)" om de modulus (in dit geval 26) te onthouden. Voorbeelden: 20 + 10 ? 4 (mod 26) want 30 en 4 zijn hetzelfde modulo 26, 6*6 ? 10 (mod 26) want 36 en 10 zijn hetzelfde modulo 26, 26 ? 12 (mod 26) want 64 en 12 zijn hetzelfde modulo 26.
datacommunicatie: RSA
21
Carl Reinehr
Je kunt ook zeggen dat 26 ? 12 (mod 26) omdat 26 = 64 en 12 een veelvoud van 26 verschillen. Op de cirkel zijn ze hetzelfde. Nog een andere manier om hetzelfde te zeggen, is dat je van elke berekening het antwoord deelt door 26 en dat je de rest neemt. We noemen dit ook wel reduceren modulo 26. Je kunt natuurlijk ook een ander klokgetal kiezen. De koppeling met de letters a, b, ... z gaat dan verloren. Voorbeelden: 180 + 1110 = 1290 ? 291 (mod 999) 5*18 = 90 ? 12 (mod 13) 27 = 128 ? 58 (mod 70) Met geschikte software kun je ook voor zeer grote grote getallen moduloberekeningen maken, bijvoorbeeld 2123 (mod 123456).
Voorbeelden: Mathematica: Mod[2^123 , 123456] resultaat 57920 Maple: 2&^123 mod 123456 resultaat 57920
5.2.2 Deler, veelvoud en (grootste) gemeenschappelijke factor Een natuurlijk getal b is een deler (engels divisor) van een positief natuurlijk getal a als er een natuurlijk getal k bestaat zodanig dat a = k.b. Het getal a noem je een veelvoud van b. Als b geen deler is van a dan zeg je dat a niet deelbaar is door b Voorbeelden: 3 is een deler van 12 want 12 = 4.3 13 is een deler van 260 want 260 = 20.13 3 is geen deler van 14 want er bestaat geen geheel getal k waarvoor geldt 14 = k.3 1 en 11 zijn delers van 11 want 11 = 11.1 Als twee natuurlijke getallen een gemeenschappelijke deler hebben dan zijn zeg je ook wel dat ze een factor gemeen hebben. Voorbeelden: 21 en 70 hebben 7 als gemeenschappelijke deler 13 en 32 hebben geen gemeenschappelijke factor 8 en 100 hebben 2 als gemeenschappelijke factor In het laatste voorbeeld is ook 4 een gemeenschappelijke deler van 8 en 100. Omdat er geen grotere gemeenschappelijke factor bestaat noem je 4 de grootste gemene deler van 8 en 100. Dat noteer je met ggd(8 , 100) = 4. Voorbeelden: ggd(100, 75) = 25 ggd(13, 101) = 1 ggd(p , p2) = p
In het Engels wordt de grootste gemene deler afgekort met gcd (greatest common dealer).
datacommunicatie: RSA
22
Carl Reinehr
5.2.3 Priemgetallen In moderne geheimschriften wordt vaak modulo een priemgetal gerekend. De reden daarvoor zal verderop duidelijk worden. Priemgetallen zijn positieve, gehele getallen die niet te schrijven zijn als het product van twee kleinere positieve, gehele getallen. Bijvoorbeeld 15 is niet priem, want 15 = 3*5 maar 11 is wel priem. Je kunt ook zeggen dat een priemgetal precies twee positieve delers heeft, namelijk 1 en zichzelf. Er bestaan oneindig veel priemgetallen en met computers kost het weinig moeite om grote priemgetallen te bepalen. Een lijst met de eerste 10.000 priemgetallen vindt je achteraan dit werkje. Voorbeelden: het eerste priemgetal groter dan 1050 resultaat: 100000000000000000000000000000000000000000000000151 Een random priemgetal met 100 cijfers resultaat: 489512459635143927965358047183100468602231708246457100627502840433903832927 9377976381756089823338641
5.2.4 De (kleine) stelling van Fermat De Franse wiskundige Fermat (1601-1665) ontdekte een mooie wetmatigheid als je modulo een priemgetal werkt. De Franse wiskundige Pierre de Fermat werd geboren op 17 augustus 1601 in Beaumon-de-Lomagne als Pierre Fermat. Zijn vader was een vermogend handelaar in leder en tweede consul van Beaumont-de-Lomagne. In zijn jeugd studeerde hij aan de universiteit van Toulouse. In de tweede helft van de jaren 1620 verhuisde hij naar Bordeaux, waar hij zijn eerste grote stappen zette in onderzoek in de wiskunde. Fermat ging vervolgens naar Orléans waar hij rechten studeerde. Hij verkreeg een graad in het burgerlijk recht en werd staatsambtenaar in Toulouse. Vanwege zijn positie veranderde hij zijn naam in Pierre de Fermat. Hij was dus in eerste plaats jurist. Wiskunde was voor hem slechts een hobby. Fermat is het meest gekend voor zijn theorema in de getallenleer dat stelt dat de volgende formule geen oplossing heeft verschillend van 0 voor waarden van n groter dan 2: xn + yn = zn Fermat beweerde een bewijs te hebben voor dit theorema, maar men is nooit zeker geweest over de juistheid, laat staan het bestaan ervan. In een tijdspanne van 300 jaar probeerde men het theorema te bewijzen, echter zonder succes. Dit leidde tot meerdere ontdekkingen in de wiskunde. Het theorema werd uiteindelijk bewezen door de Britse wiskundige Andrew Wiles in november 1994. Fermat correspondeerde veel met de bekende filosoof en wiskundige Descartes. Ook met andere bekende wiskundigen onderhield hij contacten.
datacommunicatie: RSA
23
Carl Reinehr
Zijn grote interesse in getallenleer en de moeilijke problemen die hij daarin aanhaalde, maakte hem echter niet steeds geliefd. Ook met Christiaan Huygens had hij contact vanaf 1656, dat gegroeid was uit de interesse van Huyghens voor de waarschijnlijkheidsleer. Fermat trachtte echter de communicatie tussen hen beiden in de richting van de getallenleer te sturen. Dit onderwerp interesseerde Huyghens echter niet. Om deze laatste te winnen voor dit onderwerp onthulde Fermat meer van zijn theorieën dan hij ooit aan anderen had bekendgemaakt. Fermat stierf op 12 januari 1665 in Castres, Frankrijk. Als p een priemgetal is en a een getal dat niet door p deelbaar is, dan geldt ap-1?
1 mod (p)
Met niet deelbaar wordt bedoeld dat p geen deler is van a. Voorbeeld: 26 = 64 = 9*7 + 1 ? 1 (mod 7) 192 = 361 = 20*18 + 1 ? 1 (mod 18) Het bewijs van de stelling is niet heel moeilijk. Je kunt het vinden via bewijs Fermat
5.2.5 De Eulerfunctie De volgende stelling gaat nog een stapje verder dan de stelling van Fermat, ook al is zij van oudere datum. We hebben eerst een notatie nodig. De Zwitser Leonhard Euler (1707-1783)was een wiskundige van de eerste grootte. Overal treft men zijn vondsten aan, in alle gebieden van de meetkunde, de algebra, de mechanica, de natuurkunde. Nog is, twee eeuwen na zijn leven en werken in Petersburg, zijn oeuvre niet geheel uitgegeven, waarmede de Russische Academie van Wetenschappen reeds vroeg een begin gemaakt heeft. Door keizerin Catharina I uit Basel naar de Russische hoofdstad geroepen en spoedig aan het hoofd gesteld van een laboratorium als professor in de theoretische en experimentele natuurkunde, heeft hij zich bezig gehouden met de studie van het geluid en daaraan een muzikale theorie vastgeknoopt, die in 1739 verscheen onder de titel Tentamen novae theoriae musicae. Definitie De functie ?(n) (spreek phi uit) van Euler telt voor elk natuurlijk getal n hoeveel kleinere positieve getallen er zijn die geen factor met n gemeen hebben. Voorbeelden: ?(7) = 6 want 1, 2, 3, 4, 5 en 6 hebben geen factor gemeenschappelijk met 7 ?(8) = 4 want 1, 3, 5 en 7 hebben geen factor gemeenschappelijk met 8 (2, 4
datacommunicatie: RSA
24
Carl Reinehr
en 6 wel) ?(10) = 4 want 1, 3, 7 en 9 hebben geen factor gemeenschappelijk met 10 (2, 4, 5, 6 en 8 wel) Als n een priemgetal is dan hoef je niet veel getallen te tellen. Bekijk bijvoorbeeld n = 29. De natuurlijke getallen 1, 2, 3, ... 28 zijn allen kleiner dan 29 en hebben geen gemeenschappelijke factor met 29 want dat is een priemgetal. In het algemeen geldt: Stelling Als p een priemgetal is dan geldt ?(p) = p-1 Voorbeeld: ?(101) = 100 want 101 is een priemgetal. Voor het product van twee priemgetallen ligt de zaak iets gecompliceerder. Toch kun je aan een eenvoudig getallenvoorbeeld een regel halen. Bekijk nogmaals m = 10 = 2*5 en schrap systematisch de getallen die een factor gemeenschappelijk hebben met 10. mogelijk
1
2
3
4
5-vouden weg
5
6
7
8
9 10
5
2-vouden weg
2
4
10 6
8
10
dubbel over
10 1
3
7
9
Het aantal is dus gelijk aan 10 - 2 - 5 + 1 = 4. Er geldt dus ? (10) = 4 Dit is eenvoudig te veralgemeniseren. Als m het product van twee priemgetallen is, n = p*q dan is ?(n) gelijk aan n - p - q +1. Er zijn immers q p-vouden en p q-vouden die je weg moet strepen. Omdat m zowel door p als door q deelbaar is schrap je dat getal twee keer door. Je moet er dus weer 1 bij optellen. Conclusie: Stelling Als p en q priemgetallen zijn dan geldt ?(p*q) = p*q - p - q + 1 = (p1)*(q-1) Voorbeeld: ?(77) = ?(7*11) = 6*10 = 60 want 7 en 11 zijn priemgetallen. Deze functie speelt een belangrijke rol in het RSA-systeem en hij komt ook tevoorschijn in de stelling van Euler. Deze stelling lijkt veel op de stelling van Fermat. 5.2.6 Stelling van Euler Als a geen factor gemeen heeft met n dan geldt dat
a? (n) ? 1 mod (n)
Voorbeeld: 1060 ? 1 (mod 77) 31000 ? (3 4)1000 ? 11000 (mod 10) ? 1
datacommunicatie: RSA
25
Carl Reinehr
Het bewijs van de Stelling van Euler verloopt precies hetzelfde als het bewijs van de Stelling van Fermat. Dit keer vermenigvuldig je de getallen die geen factor met m gemeen hebben. De bovenstaande begrippen en stellingen zijn vrij oud. Fermat (1601-1665) en Euler (1707-1783) zijn al meer dan 200 jaar dood. De werking van het systeem wordt het duidelijkst aan de hand van een concreet voorbeeld
5.3 Voorbereiding 5.3.1 Stap 1: Keuze van de priemgetallen Marc kiest twee verschillende priemgetallen, zeg p en q. voorbeeld: p = 99989 q = 99991 Marc rekent ook (met een computer) het product n = p*q uit voorbeeld n = p*q = 99989*99991 = 9998000099 5.3.2 Stap 2: Keuze van de vercijferingsexponent Marc kiest een willekeurige vercijferingsexponent e uit. Deze mag echter geen factor gemeen hebben met j(n). Dus de ggd (grootste gemene deler)van j(n) en e moet 1 zijn. voorbeeld: j(n) = j(p*q) = (p -1)* (q -1) = 99988*99990 = 9997800120 e = 11111357 Opmerking. Er bestaat een " zeer oud" algoritme waarmee je "snel" de ggd van twee getallen kunt bepalen. Met dat algoritme moet je controleren of de ggd (Engels gcd) van j(n) en e gelijk is aan 1. In de onderstaande tabel zie je de berekeningen in dit algoritme. Daar heeft een computer weinig moeite mee. 9997800120 = 11111357*899 + 8690177 11111357
= 8690177*1 + 2421180
8690177
= 2421180*3 + 1426637
2421180
= 1426637*1 + 994543
1426637
= 994543*1 + 432094
994543
= 432094*2 + 130355
432094
= 130355*3 + 41029
130355
= 41029*3 + 7268
41029
= 7268*5 + 4689
7268
= 4689*1 + 2579
4689
= 2579*1 + 2110
2579
= 2110*1 + 469
datacommunicatie: RSA
26
Carl Reinehr
2110
= 469*4 + 234
469
= 234*2 + 1
234
= 1*234 + 0
Het bovenstaande algoritme heet het algoritme van Euclides 5.3.3 Het algoritme van Euclides De ggd-berekening van 34 en 8 in het voorbeeld hierboven kan nog sneller. Je kunt namelijk meteen zoveel mogelijk keer 8 van 34 aftrekken: ggd(34 , 8) = ggd(34 - 4*8 , 8) = ggd(2 , 8) = 2. Deze methode wordt het algoritme van Euclides genoemd. Het algoritme wordt meestal als volgt opgeschreven 34
= 4*8 + 2 8
= 4*2 + 0
klaar de ggd = 2
Een voorbeeld met grotere getallen. Wat is de ggd van 210 en 57? Voorbeeld: 210 = 3*57 + 39 57 = 1*39 + 18 39 = 2*18 + 3 18 = 6*3 + 0
klaar de ggd = 2
Euclides Euclides werd ongeveer 365 voor Christus geboren in Alexandrië in Egypte, waar hij gedurende zijn leven ook les gaf. Hij is beroemd geworden door zijn boeken de 'Elementen' waarin hij alle meetkunde die toen bekend was heeft samengevat. Deze 'Elementen' bestaan uit 13 delen; in de eerste zes delen wordt vlakke meetkunde behandeld, delen 7 tot 9 behandelen getaltheorie, deel 10 bevat een verhandeling over irrationale getallen en de laatste drie boeken gaan over ruimtemeetkunde. In het laatste deel gaat hij in op de vijf regelmatige veelvlakken (Archimedische lichamen): het regelmatig viervlak (tetraëder), de kubus (hexaëder), het regelmatig achtvlak (octaëder),het regelmatig twaalfvlak (dodecaëder) en het regelmatig twintigvlak(icosaëder). Hij bewijst ook dat er niet meer regelmatige veelvlakken bestaan dan deze vijf. Naast meetkunde behandelt de Elementen ook elementaire getaltheorie, zoals de theorie van deelbaarheid, de grootste gemene deler en het algoritme van Euclides om het vast te stellen, en een bewijs van de oneindigheid van de priemgetallen. De boeken hebben een opbouw die ook in de moderne tijd gebruikelijk is. Euclides begint met axioma's en definities en bouwt die op formele wijze uit met stellingen. De formulering van zijn redeneringen is erg helder en goed te begrijpen. Het is dan ook niet verwonderlijk dat meer dan 1000 edities van zijn Elementen zijn gepubliceerd sinds 1482. Euclides heeft ook nog andere werken geschreven, maar die zijn voor het grootste deel verloren gegaan. Hij stierf rond het jaar 300 voor Christus.
datacommunicatie: RSA
27
Carl Reinehr
5.3.4 Stap 3:
Berekening van de ontcijferingsexponent
In de bovenstaande tabel kun je ook van beneden naar boven werken. Uit de voorlaatste regel volgt: 1 = 469 - 2*234. Je hebt 1 dan geschreven als een combinatie van 469 en 334. Uit de regel daarboven volgt 234 = 2110 - 4*469. Dat resultaat kun je invullen in 1 = 469 - 2*234. Je krijgt dan 1 = 469 - 2*234 = 469 - 2*( 2110 - 4*469) = - 2* 2110 + 9*469 Nu heb je 1 geschreven als een lineaire combinatie van 469 en 2110. Op deze manier kun je verder gaan tot je 1 geschreven hebt als een combinatie van e = 11111357 en j(n) = 9997800120. Een karweitje dat je beter kunt uitbesteden aan een computer. Het resultaat is: 1 = 42643373*11111357 + -47393*9997800120 Als je nu modulo j(n) gaat rekenen dan verschijnt er. 42643373*11111357
1
(mod 9997800120)
Het getal 42643373 is een belangrijk getal. Het is de ontcijferingsexponent d Omdat het produkt van dit getal met e gelijk is aan 1 (mod j(n) ) heet dit getal ook wel de inverse van e (modulo j(n) ). Dat getal heb je nodig voor het ontcijferen van geheimschriften. 5.3.5 Stap 4:
Bekendmaking van n en e
Marc maakt nu: n = 9998000099 en e = 11111357 algemeen bekend, maar houdt d = 42643373 geheim. Ook de priemgetallen p = 99989 en q = 99991 mogen niet bekend worden!!.
5.4 Boodschappen versturen: vercijfering Stel nu dat een andere persoon, bv Ilse, een boodschap naar Marc wil sturen. Voor het gemak is de boodschap het getal 101112. Als je afspreekt dat de 10 met de a correspondeert, de 11 met de b etc dan stelt 101112 het "woord" abc voor Overigens moet het getal wel kleiner zijn dan n want er wordt modulo n gerekend. Ilse zoekt de openbare waarden van Marc op: e = 11111357 en n = 9998000099. Vervolgens berekent ze met een computer: boodschape
(mod n) = 10111211111357 (mod 9998000099)
Ilse verheft dus de boodschap tot de openbare vercijferingsexponent van Marc, modulo de n van Marc en stuurt het antwoord naar Marc. Het vercijferde getal is gelijk aan m = 3316546434 (de m van message) Ook dat is een berekening die je aan een computerprogramma moet uitbesteden. Een machtsverheffing modulo n is daarmee "snel" uit te voeren.
datacommunicatie: RSA
28
Carl Reinehr
5.5 Afluisteren De afluisteraar (eavesdropper in het Engels), die Pamela Anderson heet, onderschept deze waarde m = 3316546434 . Zij kent ook de openbare waarden van Marc e = 11111357 en n = 9998000099 3316546434 = boodschap11111357 (mod
9998000099)
Er zit nu voor haar niet veel meer op dan voor de boodschap 1, 2, 3, 4, .... 9998000098 uit te proberen want er bestaat geen enkel computeralgoritme waarmee dat snel kan. Dit is niet leuk voor haar , maar zeker ondoenlijk als n en de boodschap getallen van zeg 200 cijfers lang zijn.
5.6 Boodschappen lezen: Ontcijfering
Marc kent als enige zijn geheime ontcijferingsexponent d = 42643373, en kan dus het volgende uitrekenen: 331654643442643373 (mod
9998000099)
En dat is nu gelijk aan 101112 = abc. De originele boodschap!!!!!. Dat dit werkt is eenvoudig het gevolg van de stelling van Euler. Immers md (mod n) (boodschap)e)d (mod boodschape* boodschap1 boodschap (mod n)
1
d
(mod
+ k* j (n)
zo heeft Ilse de boodschap m gemaakt
n)
regel machtsverheffen
n) (mod
n)
. (boodschap
j (n)
boodschap.1k (mod
n)
e en d zijn elkaars inverse mod j(n) )
k
regels machtsverheffen de stelling van Euler
boodschap Als Pamela Anderson d zou kennen dan kan ze die berekening ook kunnen uitvoeren. Maar d kan ze alleen berekenen als ze j(n) of p en q kent. Dus als ze n kan factoriseren kan ze het bericht ook kraken. Maar er bestaat geen snel algoritme voor het factoriseren van grote getallen. Als p en q uit 100 cijfers bestaan dan moet Pamela Anderson een getal met ongeveer 200 cijfers factoriseren. Onbegonnen werk!! Er bestaan namelijk ongeveer 10100 priemgetallen met 100 cijfers. De veiligheid van het RSA-systeem wordt bepaald door de stand van zaken op het gebied van factoriseren. De uitvinders van RSA suggereerden indertijd om n ongeveer 200 cijfers lang te nemen om het factoriseren van onmogelijk te maken. In september 1999 heeft een grote groep rekenaars, die via internet met elkaar verbonden waren, een getal van 512 bits ontbonden. Omgerekend is dit getal ongeveer 154 cijfers lang, want 2512 is ongeveer 10154 . Het RSA systeem met een modulus van 512 bits lang wordt momenteel op een aantal plaatsen in de wereld gebruikt, onder andere voor elektronische betalingen over internet. Dat is dus niet meer aan te raden.
datacommunicatie: RSA
29
Carl Reinehr
5.7 Kraken van RSA 5.7.1 Hoe veilig is een RSA sleutel?
RSA is zeer veilig, zolang maar gepaste sleutellengtes worden gebruikt. De tijd die nodig is om een modulus N te factoriseren is namelijk afhankelijk van de bitlengte van de priemgetallen waaruit N is opgebouwd. Traditioneel worden die steeds de helft zo lang genomen als de beoogde moduluslengte. Daar het aantal sleutels exponentieel (2 n ) groter wordt naargelang de lengte van de priemgetallen P en Q , stijgt de uitvoeringstijd van een typische RSA-kraak al gauw tot boven het “redelijk haalbare”.
Overigens is de snelheid ook afhankelijk van uw browser. De schatting voor een 64-bits sleutel blijkt in IE het dubbele te zijn tov. Opera, en dus wellicht ook netscape, die beiden een snellere Java Virtual Machine bezitten. http://studwww.rug.ac.be/~tdutre/project/Applets/applet3.html Op deze url kan men modulus n ontbinden
Je zal zien dat het ontbinden van een 56-bits modulus al enkele minuten duurt, en uit de schattingen voor 64- en 128-bits sleutels kunt u afleiden dat een extra bit de veiligheid van de RSA-sleutel gevoelig verhoogt. Je kan wellicht gemakkelijk aannemen dat een 1024-bits sleutel momenteel 100 % veilig is. De computertijd die nodig is om dergelijke modulus te ontbinden loopt in de triljoenen eeuwen …
5.7.2 RSA kraken Toch is het mogelijk bij RSA om een gecodeerde boodschap op meerdere manieren te kraken. De twee belangrijkste zijn:
datacommunicatie: RSA
30
Carl Reinehr
5.7.2.1 De private key berekenen Aangezien je via de d- en n-waardes een bericht kan decoderen en n al bekend is, zou je alleen nog maar d hoeven te berekenen om de plaintext terug te krijgen. Je zal dus de modulus n moeten ontbinden in de factoren p en q; de priemgetallen. Daarna kan eenvoudig via de andere publieke sleutel e de d-waarde berekend worden. Is dit eenmaal gelukt, kan de hacker voortaan alle berichten lezen die met dezelfde e- en n-waarde zijn gecodeerd en zelfs valse digitale handtekeningen maken. Dit is echter praktisch onmogelijk, aangezien het ontbinden van een enorm getal zoals bij RSA (in de orde van grootte van 264) in priemgetallen zeer lang duurt. Deze methode is dan ook niet bruikbaar bij RSA. 5.7.2.2 Brute-force hacking De manier die beter van toepassing is, is brute-force hacking. Hierbij worden geen lastige berekeningen uitgevoerd, maar probeert men eenvoudigweg zoals het woord het al zegt, met brute kracht alle mogelijkheden uit. Dit werkt zo: je neemt een random waarde voor m (de boodschap die dus ontcijferd moet worden) en codeert deze aan de hand van de publieke sleutels (c = me mod n). Controleer daarna of de gevonden ciphertext overeen komt met de werkelijke ciphertext. Is dit het geval, dan was de gegokte plaintext juist. Gezien het feit dat er ontelbaar veel mogelijkheid zijn, duurt ook de tweede kraak-manier zeer lang. Maar, de code zal eens gevonden worden, ook al kan het zeer lang duren.
datacommunicatie: RSA
31
Carl Reinehr
6 Toepassingen 6.1 Digicash David Chaum heeft met zijn bedrijf Digicash een methode ontwikkeld waarmee de digitale handtekening verbeterd kan worden en deze geïmplementeerd kan worden in het bankieren. Tot nu toe kleefden er aan de RSA versleuteling een aantal nadelen met betrekking tot bankieren. ?
Transacties tussen winkels en gebruikers kunnen worden achterhaald omdat deze met de private key van de winkel worden versleuteld. Dit is nodig omdat op deze manier de winkel niet kan ontkennen geld te hebben ontvangen van de gebruiker. Een nadeel hiervan is dat iedereen met behulp van de private key van een winkel de transacties kan nagaan.
?
Banken sturen geld op naar gebruikers. Dit coderen de banken ook met hun private key omdat ze dan niet kunnen ontkennen dat ze het geld hebben verstuurd aan gebruikers. Ook deze transacties kunnen worden afgeluisterd en vervolgens worden gecodeerd met de public key van de bank.
David Chaum heeft een methode bedacht: Blind Signatures. Dit garandeert zowel de veiligheid als de privacy van gebruikers. Deze methode komt op het volgende neer: Als een bank geld opstuurt naar een cliënt zet de bank onderaan de transactie een digitale handtekening met behulp van haar private key. Vervolgens wordt het complete bericht (transactie van geld en digitale handtekening) versleuteld met de public key van de klant. De klant is nu de enige die met behulp van zijn private key het complete bericht van de bank kan lezen. In dit bericht zit echter een stukje wat gecodeerd is met de private key van de bank (de digitale handtekening van de bank) en dat kan alleen met de public key van de bank worden ontcijferd. Als de transactie gelukt is kan de bank niet ontkennen het geld te hebben gestuurd aan de cliënt (digitale handtekening) en is ook de privacy van de cliënt gewaarborgd. 6.2 PGP 6.2.1 Geschiedenis van PGP Tussen 1991 en nu zijn er verschillende versies van PGP geweest. In dit hoofdstuk volgt een beschrijving van de verschillende versies, samen met de juridische problemen die vrijwel bij elke versie optraden. In 1991 werd door Philip R. Zimmerman de eerste versie van PGP geschreven. Hij gebruikte daarin het algoritme ‘RSA’ om berichten te versleutelen. Helaas was dit algoritme gepatenteerd, dus hij vroeg bij het bedrijf RSA Data Security een gratis licentie aan. Deze kreeg hij niet, met als gevolg dat hij nu twee mogelijkheden had. Hij kon natuurlijk gewoon een licentie kopen, maar dan kon hij het programma niet meer als open-source software verspreiden. Een andere optie was om geen licentie te kopen, maar dan zou het RSA algoritme illegaal gebruikt worden. Hij koos voor de tweede optie, en schreef in de gebruiksaanwijzing van het programma dat mensen die het gebruiken zelf een licentie moesten kopen voor het RSA algoritme. Philip Zimmerman heeft het programma nooit echt verspreid, hij had alleen kopies aan wat vrienden gegeven. Via het internet was het programma binnen
datacommunicatie: RSA
32
Carl Reinehr
een mum van tijd over de hele wereld verspreid. RSA Data Security dreigde met een rechtszaak tegen Zimmerman voor het gebruiken van het RSA algoritme zonder licentie, maar Zimmerman hield vol dat hij het programma niet verspreid had. Er werd uiteindelijk een overeenkomst gesloten: Zimmerman zou niet vervolgd worden als hij geen versies meer zou verspreiden. Aan PGP kleefde nog een ander juridisch probleem: in Amerika is het verboden om cryptografische software in digitale vorm naar het buitenland te exporteren. Zodra dingen op het internet worden gepubliceerd is dit natuurlijk moeilijk te reguleren, maar de eerste versies van PGP die buiten Amerika gebruikt werden waren illegaal. Redelijk snel na het uitbrengen van versie 1.0 bleek dat een van de algoritmes die door PGP gebruikt werd, Bass-O-Matic (ontworpen door Philip Zimmerman), niet veilig was. Dit algoritme werd dan ook vervangen door IDEA. Ook op dit algoritme rustte een patent, maar het was zonder licentie te gebruiken voor niet-commerciële software (PGP was nog steeds freeware). Aan PGP 2.0 werd door een internationaal team van gewerkt. Aangezien het niet illegaal was om cryptografische software naar Amerika te importeren kon er op deze manier toch in internationaal verband ontwikkeld worden. Na een serie bugfix-releases ontstond uiteindelijk de stabiele versie 2.3a. Deze werd in 1992 uitgebracht. Ook in PGP 2.3a werd nog steeds gebruik gemaakt van RSA zonder een licentie. Voor versie 2.4 sloot Zimmerman een overeenkomst met het bedrijf ViaCrypt. Deze hadden namelijk een licentie voor RSA, zodat in 1993 de eerste commerciële versie van PGP werd uitgebracht. In 1993 werd door RSA Data Security een toolkit uitgebracht die ‘RSAREF’ heette. De licentie voor deze toolkit was ‘vrij voor niet-commercieel gebruik’. Een aantal mensen van het MIT (Massachusetts Institute of Technoloog) gebruikte deze toolkit om een versie van PGP te bouwen die geen illegaal gebruik meer maakte van het RSA algoritme. Toen versie 2 van RSAREF uitgebracht werd in 1994 besloten Zimmerman en de ontwikkelaars van het MIT om een versie van PGP uit te brengen die van RSAREF gebruik maakte. Deze versie, 2.5, werd onder een striktere licentie uitgebracht: het mocht alleen gebruikt worden voor niet-commerciële toepassingen. Een nadeel was wel dat RSAREF beduidend trager was dan de originele routines, maar voor het eerst was er een legale versie van PGP. Versie 2.5, die gebruik maakte van RSAREF, was backward compatible met alle vorige versies van PGP. RSA Data Security was daar niet blij mee, aangezien al die versies als illegale software gezien werden. Ze claimden dat met versie 2.5 het gebruik van illegale software gestimuleerd werd. Om een juridische strijd te voorkomen werd twee weken na versie 2.5 een aangepaste versie (2.6) uitgebracht die incompatibel met alle voorgaande versies is. Na een aantal bugfixes werd uiteindelijk versie 2.6.3 gecreëerd, deze versie is lange tijd de ‘final’ versie van PGP geweest. ViaCrypt heeft versies 4.0 tot en met 4.5 ontwikkeld. Dit was commerciële software die in twee varianten verspreid werd: een ‘Personal’ versie en een meer uitgebreide ‘Business’ versie. Versie 3.0 is nooit ontwikkeld. Het kan zijn dat versie 3.0 later 5 .0 is geworden, maar echt duidelijke informatie over 3.0 is niet te vinden Na release 2.6.3 heeft Philip Zimmerman een bedrijf opgericht dat de nieuwe releases van PGP zou uitbrengen: PGP Incorporated. De eerste versie die op deze manier gedistribueerd is, is versie 5.0. Hiervan waren een aantal versies beschikbaar, waaronder een ‘Business’ versie en een ‘Personal’ versie. De sourcecode was nog steeds beschikbaar.
datacommunicatie: RSA
33
Carl Reinehr
Een grote verandering ten opzichte van de voorgaande versies is dat PGP vanaf versie 5.0 ook gebruik kan maken van andere cryptografische algoritmen dan RSA, namelijk Diffie-Hellman en Elgamal. In sommige versies van PGP 5.0 was RSA helemaal verwijdert, met als gevolg dat er eindelijk een einde was gemaakt aan alle juridische gevechten rondom de RSA licenties. Een andere nieuwe feature was de meegeleverde e-mail-plugins (voor de e-mail programma’s Eudora en Outlook). Versie 5.0 is de eerste versie die legaal naar het buitenland geëxporteerd is. De exportwetgeving van Amerika was nog steeds van kracht, maar die gelde alleen voor software in elektronische vorm. Sourcecode in boekvorm mag wél gewoon verscheept worden. Van deze maas in de wet werd dankbaar gebruik gemaakt: een team van 70 vrijwilligers heeft de sourcecode in boekvorm gegoten(10 boeken, 5000 pagina’s) en deze boeken werden naar Noorwegen verscheept. Daar heeft een team van vrijwilligers met behulp van OCR software de boeken ingescand. Vanaf dat moment was PGP ook legaal buiten Amerika te gebruiken. Samenvattend was versie 5.0 een doorbraak omdat dit de eerste versie is die compleet vrij was van juridische problemen. Alle versies na 5.5.3 zijn door Network Associates uitgebracht, dat in 1998 PGP Incorporated overnam. Deze versies introduceren vooral nieuwe mogelijkheden, zoals PGPNet (het versleutelen van netwerkverbindingen), PGPPhone (versleutelde internettelefonie) en PGPDisk (het versleutelen van delen van een hardeschijf). Van vrijwel alle releases zijn ook zogenaamde ‘guerilla’ versies verschenen: versies die niet door Philip Zimmerman of PGP Incorporated zijn verspreid. Aangezien de sourcecode van (vrijwel) alle versies van PGP vrij te verkrijgen was, werden er door verschillende groepen programmeurs onofficiële uitbreidingen gemaakt. De belangrijkste groep is de PGPi (‘PGP international’) groep, die de (in boekvorm) opgestuurde sourcecode inscande om zo PGP ook buiten Amerika legaal te kunnen verspreiden. Op hun website http://www.pgpi.org kunnen deze versies (vanaf 5.0, de eerste versie die op deze manier is verspreid) gedownload worden. Een andere belangrijke groep is de CKT, ‘Cyber Knights of Templar’. Deze groep maakteuitbreidingen op PGP die grotere keys (en zo sterkere encryptie) mogelijk maakte. Deze versies waren gebaseerd op de internationale versies van de PGPi groep.
6.2.2 Werking PGP 6.2.2.1 Gebruik PGP, afkorting voor ‘Pretty Good Privacy’, is software waarmee e-mail versleuteld en ondertekend kan worden. Het versleutelen van e-mail is gebaseerd op een asymmetrisch algoritme, wat inhoud dat het versleutelen van tekst anders gaat dan het decoderen. Het idee bij PGP is dat iedereen e-mail kan versleutelen (daarvoor moet de verzender de ‘public’ key kennen van degene waar hij e-mail naar wil sturen) en dat maar één persoon de versleutelde e-mail kan decoderen (met behulp van de ‘private’ key). Een ander onderdeel van PGP is de mogelijkheid om e-mail te signeren. Dit werkt als een handtekening: de ontvanger van de e-mail kan zien dat de email echt door de verzender verstuurd is en niet door iemand anders. Signeren heeft nog een toepassing: als iemand een gesigneerde e-mail krijgt kan de verzender nooit meer claimen dat hij die e-mail niet verstuurd had, zijn digitale handtekening verraad dat hij de e-mail echt zelf verzonden heeft (niemand anders had die signatuur namelijk kunnen zetten).
datacommunicatie: RSA
34
Carl Reinehr
6.2.2.2 Algoritmen Er bestaan, zoals eerder vermeld twee soorten cryptografische algoritmen: symmetrische en asymmetrische. Symmetrische algoritmen gebruiken dezelfde sleutel voor het encrypten en decrypten van een tekst. Bij een asymmetrisch algoritme wordt voor het encrypten een ‘public key’ gebruikt en voor het decrypten een ‘private key’. Zoals de naam al doet vermoeden kan een ‘public key’ door iedereen gebruikt worden (iedereen mag een bericht versleutelen) en is het ‘private key’ geheim (maar één persoon mag het bericht decrypten). In PGP worden zowel asymmetrische als symmetrische algoritmen gebruikt. Als asymmetrisch algoritme kan gekozen worden tussen RSA, Diffie-Hellman, DSS/DSA en Elgamal. Het symmetrische algoritme kan een zijn van IDEA, BLOWFISH en 3DES. De reden waarom ook een symmetrisch algoritme gebruikt wordt is omdat symmetrische algoritmen veel sneller zijn dan asymmetrische. Door een slimme combinatie van de twee kan de snelheid van de symmetrische algoritmen gebruikt worden, samen met de public/private key voordelen van de asymmetrische algoritmen. 6.2.2.3 Versleutelen Bij het versleutelen van een tekst is de public key nodig van degene waar de e-mail naar toe gestuurd moet worden. Voor het versleutelen van de tekst wordt een willekeurige ‘Session key’ gegenereerd, dit is een sleutel voor een symmetrisch algoritme. Met behulp van deze session key wordt de tekst versleuteld (dit gaat met het symmetrische algoritme, dus dat gaat behoorlijk snel). De session key wordt met behulp van een asymmetrisch algoritme versleuteld, maar omdat symmetrische keys over het algemeen vrij klein zijn neemt dit amper tijd in beslag. De versleutelde session key wordt samen met de versleutelde tekst in een email gestopt en deze wordt naar de ontvanger gestuurd. Dit proces is te zien in Figuur 4. Figuur 4
datacommunicatie: RSA
35
Carl Reinehr
Voor het decrypten wordt de e-mail eerst in twee delen gesplitst: de versleutelde session key en de versleutelde tekst. Met behulp van het private key wordt de session key teruggehaald (dit kan alleen gedaan worden door degene die de private key bezit), met behulp van die session key kan dan het versleutelde bericht teruggehaald worden. Dit proces is in Figuur 5 te zien. Figuur 5
6.2.2.4 Signeren Voor het signeren van e-mail is de private key nodig. Met behulp van deze private key kan een signatuur berekend worden van een bericht, deze wordt dan samen met het bericht verzonden. Helaas levert de wiskundige functie die een signatuur van een tekst berekent een signatuur op die (minstens) even groot is als het originele bericht. Voor kleine e-mail is dat niet erg, maar als je een e-mail van 10Mb verstuurt is het lastig als daar een ondertekening van ook 10Mb bij komt. Om dit probleem op te lossen wordt er eerst een hash-functie op de tekst losgelaten. Deze functie rekent een korte tekenreeks uit op basis van de karakters uit de tekst. Meer informatie over de eigenschappen waar zo’n hash-functie aan moet voldoen is te lezen in sectie [sectie]. Om een e-mail te signeren wordt nu eerst de hashwaarde van de e-mail uitgerekend. Dan wordt deze hashwaarde gesigneerd (met behulp van de private key) en meegestuurd met het bericht. De ontvanger splitst de e-mail in twee delen: de gesigneerde hashwaarde en de tekst. Eerst gebruikt hij de public key van de verzender om de hashwaarde die de verzender uitrekende terug te halen. Dan rekent hij zelf de hashwaarde van de tekst uit en vergelijkt hij de twee. Als ze gelijk zijn weet hij allereerst dat het bericht niet veranderd is tijdens het transport (anders was de hashwaarde van de tekst anders geweest) en dat de verzender ook daadwerkelijk de email heeft verzonden (hij is namelijk de enige die de private key heeft die nodig is voor het signeren).
datacommunicatie: RSA
36
Carl Reinehr
Het signeren van een e-mail is te zien in Figuur 6, het valideren van een signatuur in Figuur 7. Figuur 6
figuur 7
datacommunicatie: RSA
37
Carl Reinehr
6.2.2.5 Andere mogelijkheden Naast het versleutelen en signeren van berichten is het met PGP ook mogelijk om public keys te beheren en uit te wisselen. Hoe dit werkt wordt in één van de volgende paragrafen besproken 6.2.3 Veiligheid Het belangrijkste deel van deze scriptie is een analyse van de veiligheid van PGP. 6.2.3.1 Computer Voordat we naar de veiligheid van PGP kijken is het verstandig om eens bij de veiligheid van de computer stil te staan. We gaan er over het algemeen van uit dat dingen die we achter onze computer intikken alleen bij het programma terecht komen waar we mee werken. Helaas kan je daar niet altijd van uit gaan. Als je een computer van iemand anders gebruikt kan het zijn dat er een apparaat aan het toetsenbord hangt dat alle toetsaanslagen afvangt en opslaat. Verder is het niet onmogelijk dat je computer gehackt is en dat er op de achtergrond een programma draait die alles naar de hacker toe stuurt. 6.2.3.2 Implementatie 6.2.3.2.1 Software algemeen Van een groot aantal versies van PGP is de sourcecode vrij te downloaden. Iedereen kan dan zelf de code inspecteren om te kijken of er geen backdoors (verborgen functionaliteiten, zoals spy-ware) in aanwezig zijn. De sourcecode beslaat jammer genoeg wel meer dan 400.000 regels code. De commerciële varianten van PGP zijn alleen in gecompileerde vorm te krijgen, hier is het dus onmogelijk om te controleren of de software precies doet wat je verwacht. 6.2.3.2.2 Private signature key In maart 2001, werd er door een Tsjechisch team van beveiligingsexperts een fout ontdekt in de OpenPGP standaard. Deze standaard was in 1998 ontwikkeld om er voor te zorgen dat verschillende programma’s die op PGP gebaseerd waren met elkaar konden samenwerken. Via de OpenPGP standaard wordt de ‘private signature key’ (de private key die gebruikt wordt om berichten te ondertekenen) versleuteld op schijf opgeslagen met behulp van de passphrase. Als een aanvaller schrijftoegang heeft tot die schijf (bijvoorbeeld in het geval van een netwerkschijf), dan kan deze versleutelde private key veranderen. Als het een willekeurige mutatie zou zijn, zou PGP dit opmerken en aan de gebruiker mededelen. Helaas blijkt in deze controle van de integriteit van de private key een fout te zitten. Door een heel specifieke mutatie, in combinatie met een ondertekening die gemaakt was met de gemuteerde private key, is het mogelijk om de waarde van de private signature key te berekenen. Deze is dus achterhaald zonder dat de passphrase bekend is. Nu kan de aanvaller e-mail ondertekenen met de handtekening van het slachtoffer. 6.2.3.3 Algoritmen 6.2.3.3.1 Asymmetrische algoritmen Bij de commerciële versie van PGP is er keus tussen 2 asymmetrische algoritmen: RSA en Diffie-Hellman (de laatste gecombineerd met DSS). In de opensource variant ‘GnuPG’ is ook het Elgamal algoritme te gebruiken. Bovenstaande algoritmen stammen allemaal uit de jaren ’70 en zijn sindsdien door honderden experts onderzocht. De algoritmen zijn gebaseerd op
datacommunicatie: RSA
38
Carl Reinehr
wiskundige stellingen dat bepaalde berekeningen NP-lastig (classificatie van problemen) zijn. Asymmetrische keys zijn over het algemeen 2048 bits lang, deze worden nu als veilig beschouwd. Aangezien de snelheid van computers elke 18 maanden verdubbeld kan er echter wel vanuit gegaan worden dat deze sleutellengte over een aantal jaar gemakkelijk te kraken is. 6.2.3.3.2 Symmetrische algoritmen In de commerciële versies van PGP kan gekozen worden tussen 4 symmetrische encryptie algoritmen: CAST, IDEA, 3DES en Twofish. In GnuPG kunnen ook Blowfish en Rijndael gebruikt worden. Ook deze algoritmen zijn allemaal redelijk oud (op Rijndael na), ze worden door de meeste cryptografische experts als veilig gezien. De sleutellengte van symmetrische algoritmen zijn beduidend korter dan die van asymmetrische: 128 tot 192 bits. Het lijkt alsof 128 bits bijzonder kort is vergeleken met de 2048 bits van asymmetrische keys, maar omdat de algoritmes verschillend van aard zijn is dit gewoon het vergelijken van appels met peren. 6.2.3.3.3 Random number generators Een onderdeel van het versleutelen van berichten was het aanmaken van een willekeurige session key. Dit gebeurt met een zogenaamde ‘random number generator’, een routine die een willekeurig getal genereert. Het is erg belangrijk dat de willekeurig gegenereerde key ook daadwerkelijk willekeurig is. De in PGP gebruikte random number generator wordt ‘cryptografisch sterk’ genoemd, wat inhoud dat het niet mogelijk is om de volgende waarde te voorspellen. Als dat wel mogelijk zou zijn, dan hoeft de aanvaller helemaal niet de moeite te doen om de versleutelde session key te decoderen, hij kan gewoon zelf de session key genereren. Op dit moment zijn er nog geen implementatiefouten in de random number generator van PGP gevonden, maar het is wel een van de meest kwetsbare punten van het programma. De random number generator is namelijk nog niet zo uitgebreid getest als de genoemde symmetrische en asymmetrische algoritmen. 6.2.3.4 Uitwisselen public keys 6.2.3.4.1 Achtergrond In het voorbeeld van sectie 6.2.4.3 gingen we er van uit dat degene die een versleutelde tekst wil versturen de public key van de ontvanger al heeft. Dit is jammer genoeg nooit het geval (behalve als je e-mail naar jezelf toe stuurt): public keys moeten altijd uitgewisseld worden. Als Bob een versleutelde e-mail naar Alice wil sturen is de meest voor de hand liggende optie dat Alice haar public key naar Bob e-mailt. Helaas zit Oscar (die de communicatie van Alice en Bob wil lezen) er tussen. Oscar vangt de e-mail van Alice op en stuurt zijn eigen public key naar Bob toe. Bob denkt gewoon de public key van Alice te hebben gekregen, dus versleutelt een e-mail en stuurt deze op. Ook deze e-mail wordt door Oscar opgevangen en omdat hij versleuteld is met zijn public key, kan Oscar de mail decoderen met behulp van zijn eigen private key. Nadat hij de tekst heeft gelezen, versleutelt hij deze met de public key van Alice en verstuurt de e-mail. Alice ontvangt de e-mail en zowel Alice als Bob hebben helemaal niet door gehad dat Oscar alles gelezen heeft.
datacommunicatie: RSA
39
Carl Reinehr
Figuur 8
Dit probleem, grafisch geïllustreerd in Figuur 8, heet ook wel ‘Man in the middle attack’: een aanval van iemand die midden tussen de communicatie van twee personen zit. Een oplossing van dit probleem zou overduidelijk zijn als Alice de public key van Bob zou bezitten. In dat geval kan ze haar public key versleuteld naar bob toe sturen. Helaas werkt dit niet, want voor het versturen van de public key van Bob naar Alice hebben we hetzelfde probleem. De door PGP gebruikte oplossing is het introduceren van een vierde persoon: John. John is een kennis van Alice en van Bob en zowel Alice als Bob hebben zijn public key. Nu kan Alice haar public key versleuteld naar John opsturen. John pakt de public key uit en signeert deze. De gesigneerde public key verstuurt hij nu naar Bob. Oscar kan de public key van Alice nu niet meer veranderen, want dan zou de signatuur niet meer kloppen. Hij moet dus de gesigneerde public key gewoon doorlaten, en Bob kan met de public key van John de ondertekening valideren. Als deze klopt weet hij zeker dat hij de echte public key van Alice heeft. Figuur 9 geeft dit proces weer. Figuur 9
6.2.3.4.2 Certificaten Het in sectie 6.2.3.4.1 genoemde systeem van mensen die elkaars public key signeren wordt in PGP geïmplementeerd met behulp van certificaten. Een certificaat bevat een public key, een userid (bijvoorbeeld het e-mail adres van de certificaathouder) en een lijst met ondertekeningen. Als Bob van Alice een certificaat krijgt met daarin de ondertekening van John, dan moet Bob nog beslissen of hij de public key van Alice zomaar accepteert vanwege die ondertekening. In PGP worden 3 niveaus van vertrouwen onderscheiden:
datacommunicatie: RSA
40
Carl Reinehr
· Geen vertrouwen Als we een ondertekening tegenkomen van iemand waar we geen public key van hebben kunnen we deze niet valideren, dus ook niet vertrouwen · Volledig vertrouwen In het geval dat we 100% zeker zijn dat John alleen valide public keys ondertekent · Marginaal vertrouwen Tussenvorm, als we niet 100% zeker zijn van de integriteit van John. Als Bob een volledig vertrouwen heeft in John, dan zal hij de public key van Alice gelijk accepteren. In de andere twee gevallen zal hij in het certificaat kijken of er nog meer ondertekeningen staan. Als er een aantal marginaal te vertrouwen ondertekeningen in staan kan Bob alsnog beslissen om de public key van Alice te accepteren. De manier van vertrouwen wordt technisch gezien een ‘web of trust’ genoemd: mensen vertrouwen elkaar en op die manier wordt er een groot spinnenweb gemaakt van mensen die elkaars certificaten vertrouwen. Een certificaat heeft altijd een beperkte levensduur (in het certificaat wordt opgenomen tot wanneer het geldig is). Het kan echter zo zijn dat de eigenaar van het certificaat wil dat het eerder ongeldig wordt verklaard. Dat kan bijvoorbeeld zijn omdat zijn password bekend is geworden. Om dit te stroomlijnen worden er voor de opslag van certificaten over het algemeen speciale servers gebruikt: ‘certificate servers’. Zodra iemand wil dat zijn certificaat ongeldig wordt geeft hij dat aan bij de server, deze zet het certificaat dan in de ‘certificate revocation list’: CRL. Zodra iemand dan het certificaat bij de server opvraagt of verifieert zal hij merken dat het certificaat niet meer geldig is. 6.2.3.4.3 Keys splitsen Een mogelijkheid die niet in de gratis versies van PGP beschikbaar is (dus die niet door mij getest kon worden) is het splitsen van private keys. Soms kan het zo zijn dat binnen een bedrijf een aantal mensen moeten beslissen of een bepaalde e-mail verstuurd mag worden. In dat geval kan een private key gesplitst worden. Alle houders van een deel van de private key moeten dan hun deel samenvoegen met de rest om een e-mail te ondertekenen of om een versleutelde e-mail te lezen. Er zijn ook varianten waar de helft van het aantal delen nodig is om een werkende private key terug te krijgen. 6.2.3.4.4 Conclusie Er is binnen PGP een oplossing om er voor te zorgen dat public keys tussen mensen uitgewisseld kunnen worden, maar deze oplossing is niet perfect. Er is namelijk nog steeds een kip/ei probleem. Als ik als nieuwe gebruiker van PGP een public key genereer wil ik deze het liefst laten signeren door een aantal mensen. Helaas moet ik die public key wel ongesigneerd naar hen opsturen (want hij is net nieuw gegenereerd). De beste oplossing hiervoor zou zijn om het certificaat over een veilige infrastructuur te versturen, maar voor iemand die helemaal paranoïde is bestaat dat niet (e-mail kan veranderd worden, telefoonverkeer kan gemanipuleerd worden, een opgestuurde floppydisk kan onderschept worden). Vaak is e-mail ook de makkelijkste manier om certificaten te versturen. Om het leven iets makkelijker te maken heeft elk certificaat een vingerafdruk (‘fingerprint’). Dit is een hashwaarde van het certificaat en wordt in het certificaat opgenomen. Als een certificaat veranderd wordt tijdens het transport, verandert ook de fingerprint. Als twee mensen zeker willen zijn dat het certificaat goed overgekomen is kunnen ze beslissen om de fingerprints via een ander transportkanaal(bijvoorbeeld via de telefoon of een SMS bericht) te vergelijken. Dit is de meest haalbare (voor particulier gebruik) manier om certificaten te verifiëren.
datacommunicatie: RSA
41
Carl Reinehr
Van de door PGP gebruikte algoritmen kan uitgegaan worden dat ze de komende jaren nog veilig zijn. Over een jaar of 10 tot 20 is het echter best goed mogelijk dat er machines zijn die de huidige sleutels snel kunnen kraken. Voor informatie die langer veilig versleuteld moet blijven moet nu al een betere sleutel gebruikt worden. Als je echt paranoïde bent dan moet je de computer afschermen (zodat elektromagnetische straling niet door anderen opgevangen kan worden), public keys op cd uitwisselen (voorzien van een handmatige handtekening), sleutels van meer dan 20,000 bits nemen voor asymmetrische encryptie en sleutels van meer dan 1000 bits voor symmetrische encryptie. Verder moet je de 400.000 regels sourcecode van PGP allemaal gelezen hebben en geverifieerd dat het precies doet wat je verwacht. Voor alle andere mensen biedt PGP precies wat het belooft: ‘Pretty Good Privacy’.
7 Bronnen www.tweakers.net/revieuws www.pandd.demon.nl/rsa.htm www.verelst.net/writings/ www.hackers4hackers.org/reader.php www.pgp.com http://infolab.kub.nl/edu/telematica http://mediatheek.thinkquest.nl/ Microsoft Encarta 2000 Ct-magazines
datacommunicatie: RSA
42
Carl Reinehr
8 Bijlage 8.1 Lijst met priemgetallen 2 3 5 7 11 13 17 19 103 107 109 113 127 199 211 223 227 229 313 317 331 337 347 433 439 443 449 457 563 569 571 577 587 673 677 683 691 701 811 821 823 827 829 941 947 953 967 971 1051 1061 1063 1069 1163 1171 1181 1187 1279 1283 1289 1291 1399 1409 1423 1427 1489 1493 1499 1511 1601 1607 1609 1613 1709 1721 1723 1733 1831 1847 1861 1867 1951 1973 1979 1987 2069 2081 2083 2087 2179 2203 2207 2213 2297 2309 2311 2333 2399 2411 2417 2423 2543 2549 2551 2557 2671 2677 2683 2687 2753 2767 2777 2789 2879 2887 2897 2903 3011 3019 3023 3037 3163 3167 3169 3181 3271 3299 3301 3307 3389 3391 3407 3413 3527 3529 3533 3539 3623 3631 3637 3643 3739 3761 3767 3769 3877 3881 3889 3907 4003 4007 4013 4019 4127 4129 4133 4139 4243 4253 4259 4261 4373 4391 4397 4409 4513 4517 4519 4523 4643 4649 4651 4657 4783 4787 4789 4793 4919 4931 4933 4937 5011 5021 5023 5039 5153 5167 5171 5179 5297 5303 5309 5323 5431 5437 5441 5443 5531 5557 5563 5569 5669 5683 5689 5693 5807 5813 5821 5827 5903 5923 5927 5939 6073 6079 6089 6091 6203 6211 6217 6221 6317 6323 6329 6337 6449 6451 6469 6473
23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97 101 131 137 139 149 151 157 163 167 173 179 181 191 193 197 233 239 241 251 257 263 269 271 277 281 283 293 307 311 349 353 359 367 373 379 383 389 397 401 409 419 421 431 461 463 467 479 487 491 499 503 509 521 523 541 547 557 593 599 601 607 613 617 619 631 641 643 647 653 659 661 709 719 727 733 739 743 751 757 761 769 773 787 797 809 839 853 857 859 863 877 881 883 887 907 911 919 929 937 977 983 991 997 1009 1013 1019 1021 1031 1033 1039 1049 1087 1091 1093 1097 1103 1109 1117 1123 1129 1151 1153 1193 1201 1213 1217 1223 1229 1231 1237 1249 1259 1277 1297 1301 1303 1307 1319 1321 1327 1361 1367 1373 1381 1429 1433 1439 1447 1451 1453 1459 1471 1481 1483 1487 1523 1531 1543 1549 1553 1559 1567 1571 1579 1583 1597 1619 1621 1627 1637 1657 1663 1667 1669 1693 1697 1699 1741 1747 1753 1759 1777 1783 1787 1789 1801 1811 1823 1871 1873 1877 1879 1889 1901 1907 1913 1931 1933 1949 1993 1997 1999 2003 2011 2017 2027 2029 2039 2053 2063 2089 2099 2111 2113 2129 2131 2137 2141 2143 2153 2161 2221 2237 2239 2243 2251 2267 2269 2273 2281 2287 2293 2339 2341 2347 2351 2357 2371 2377 2381 2383 2389 2393 2437 2441 2447 2459 2467 2473 2477 2503 2521 2531 2539 2579 2591 2593 2609 2617 2621 2633 2647 2657 2659 2663 2689 2693 2699 2707 2711 2713 2719 2729 2731 2741 2749 2791 2797 2801 2803 2819 2833 2837 2843 2851 2857 2861 2909 2917 2927 2939 2953 2957 2963 2969 2971 2999 3001 3041 3049 3061 3067 3079 3083 3089 3109 3119 3121 3137 3187 3191 3203 3209 3217 3221 3229 3251 3253 3257 3259 3313 3319 3323 3329 3331 3343 3347 3359 3361 3371 3373 3433 3449 3457 3461 3463 3467 3469 3491 3499 3511 3517 3541 3547 3557 3559 3571 3581 3583 3593 3607 3613 3617 3659 3671 3673 3677 3691 3697 3701 3709 3719 3727 3733 3779 3793 3797 3803 3821 3823 3833 3847 3851 3853 3863 3911 3917 3919 3923 3929 3931 3943 3947 3967 3989 4001 4021 4027 4049 4051 4057 4073 4079 4091 4093 4099 4111 4153 4157 4159 4177 4201 4211 4217 4219 4229 4231 4241 4271 4273 4283 4289 4297 4327 4337 4339 4349 4357 4363 4421 4423 4441 4447 4451 4457 4463 4481 4483 4493 4507 4547 4549 4561 4567 4583 4591 4597 4603 4621 4637 4639 4663 4673 4679 4691 4703 4721 4723 4729 4733 4751 4759 4799 4801 4813 4817 4831 4861 4871 4877 4889 4903 4909 4943 4951 4957 4967 4969 4973 4987 4993 4999 5003 5009 5051 5059 5077 5081 5087 5099 5101 5107 5113 5119 5147 5189 5197 5209 5227 5231 5233 5237 5261 5273 5279 5281 5333 5347 5351 5381 5387 5393 5399 5407 5413 5417 5419 5449 5471 5477 5479 5483 5501 5503 5507 5519 5521 5527 5573 5581 5591 5623 5639 5641 5647 5651 5653 5657 5659 5701 5711 5717 5737 5741 5743 5749 5779 5783 5791 5801 5839 5843 5849 5851 5857 5861 5867 5869 5879 5881 5897 5953 5981 5987 6007 6011 6029 6037 6043 6047 6053 6067 6101 6113 6121 6131 6133 6143 6151 6163 6173 6197 6199 6229 6247 6257 6263 6269 6271 6277 6287 6299 6301 6311 6343 6353 6359 6361 6367 6373 6379 6389 6397 6421 6427 6481 6491 6521 6529 6547 6551 6553 6563 6569 6571 6577
datacommunicatie: RSA
43
Carl Reinehr
6581 6599 6607 6619 6637 6653 6659 6661 6673 6679 6689 6691 6701 6703 6709 6719 6733 6737 6761 6763 6779 6781 6791 6793 6803 6823 6827 6829 6833 6841 6857 6863 6869 6871 6883 6899 6907 6911 6917 6947 6949 6959 6961 6967 6971 6977 6983 6991 6997 7001 7013 7019 7027 7039 7043 7057 7069 7079 7103 7109 7121 7127 7129 7151 7159 7177 7187 7193 7207 7211 7213 7219 7229 7237 7243 7247 7253 7283 7297 7307 7309 7321 7331 7333 7349 7351 7369 7393 7411 7417 7433 7451 7457 7459 7477 7481 7487 7489 7499 7507 7517 7523 7529 7537 7541 7547 7549 7559 7561 7573 7577 7583 7589 7591 7603 7607 7621 7639 7643 7649 7669 7673 7681 7687 7691 7699 7703 7717 7723 7727 7741 7753 7757 7759 7789 7793 7817 7823 7829 7841 7853 7867 7873 7877 7879 7883 7901 7907 7919 7927 7933 7937 7949 7951 7963 7993 8009 8011 8017 8039 8053 8059 8069 8081 8087 8089 8093 8101 8111 8117 8123 8147 8161 8167 8171 8179 8191 8209 8219 8221 8231 8233 8237 8243 8263 8269 8273 8287 8291 8293 8297 8311 8317 8329 8353 8363 8369 8377 8387 8389 8419 8423 8429 8431 8443 8447 8461 8467 8501 8513 8521 8527 8537 8539 8543 8563 8573 8581 8597 8599 8609 8623 8627 8629 8641 8647 8663 8669 8677 8681 8689 8693 8699 8707 8713 8719 8731 8737 8741 8747 8753 8761 8779 8783 8803 8807 8819 8821 8831 8837 8839 8849 8861 8863 8867 8887 8893 8923 8929 8933 8941 8951 8963 8969 8971 8999 9001 9007 9011 9013 9029 9041 9043 9049 9059 9067 9091 9103 9109 9127 9133 9137 9151 9157 9161 9173 9181 9187 9199 9203 9209 9221 9227 9239 9241 9257 9277 9281 9283 9293 9311 9319 9323 9337 9341 9343 9349 9371 9377 9391 9397 9403 9413 9419 9421 9431 9433 9437 9439 9461 9463 9467 9473 9479 9491 9497 9511 9521 9533 9539 9547 9551 9587 9601 9613 9619 9623 9629 9631 9643 9649 9661 9677 9679 9689 9697 9719 9721 9733 9739 9743 9749 9767 9769 9781 9787 9791 9803 9811 9817 9829 9833 9839 9851 9857 9859 9871 9883 9887 9901 9907 9923 9929 9931 9941 9949 9967 9973 10007 10009 10037 10039 10061 10067 10069 10079 10091 10093 10099 10103 10111 10133 10139 10141 10151 10159 10163 10169 10177 10181 10193 10211 10223 10243 10247 10253 10259 10267 10271 10273 10289 10301 10303 10313 10321 10331 10333 10337 10343 10357 10369 10391 10399 10427 10429 10433 10453 10457 10459 10463 10477 10487 10499 10501 10513 10529 10531 10559 10567 10589 10597 10601 10607 10613 10627 10631 10639 10651 10657 10663 10667 10687 10691 10709 10711 10723 10729 10733 10739 10753 10771 10781 10789 10799 10831 10837 10847 10853 10859 10861 10867 10883 10889 10891 10903 10909 10937 10939 10949 10957 10973 10979 10987 10993 11003 11027 11047 11057 11059 11069 11071 11083 11087 11093 11113 11117 11119 11131 11149 11159 11161 11171 11173 11177 11197 11213 11239 11243 11251 11257 11261 11273 11279 11287 11299 11311 11317 11321 11329 11351 11353 11369 11383 11393 11399 11411 11423 11437 11443 11447 11467 11471 11483 11489 11491 11497 11503 11519 11527 11549 11551 11579 11587 11593 11597 11617 11621 11633 11657 11677 11681 11689 11699 11701 11717 11719 11731 11743 11777 11779 11783 11789 11801 11807 11813 11821 11827 11831 11833 11839 11863 11867 11887 11897 11903 11909 11923 11927 11933 11939 11941 11953 11959 11969 11971 11981 11987 12007 12011 12037 12041 12043 12049 12071 12073 12097 12101 12107 12109 12113 12119 12143 12149 12157 12161 12163 12197 12203 12211 12227 12239 12241 12251 12253 12263 12269 12277 12281 12289 12301 12323 12329 12343 12347 12373 12377 12379 12391 12401 12409 12413 12421 12433 12437 12451 12457 12473 12479 12487 12491 12497 12503 12511 12517 12527 12539 12541 12547 12553 12569 12577 12583 12589 12601 12611 12613 12619 12637 12641 12647 12653 12659 12671 12689 12697 12703 12713 12721 12739 12743 12757 12763 12781 12791 12799 12809 12821 12823 12829 12841 12853 12889 12893 12899 12907 12911 12917 12919 12923 12941 12953 12959 12967 12973 12979 12983 13001 13003 13007 13009 13033 13037 13043 13049 13063 13093 13099 13103 13109 13121 13127 13147 13151 13159 13163 13171 13177 13183 13187 13217 13219 13229 13241 13249 13259 13267 13291 13297 13309 13313 13327 13331 13337 13339 13367 13381 13397 13399 13411 13417 13421 13441 13451 13457 13463 13469 13477 13487 13499 13513 13523 13537 13553 13567 13577 13591 13597 13613 13619 13627 13633 13649 13669 13679 13681 13687 13691 13693 13697 13709 13711 13721 13723 13729 13751 13757 13759 13763 13781 13789 13799 13807 13829 13831 13841 13859 13873 13877 13879 13883 13901 13903 13907 13913 13921 13931 13933 13963 13967 13997 13999 14009 14011 14029 14033 14051 14057 14071
datacommunicatie: RSA
44
Carl Reinehr
14081 14221 14369 14461 14563 14699 14779 14887 15017 15137 15259 15331 15443 15569 15667 15773 15889 16007 16111 16249 16381 16493 16633 16747 16889 16993 17107 17231 17359 17467 17573 17683 17827 17929 18047 18143 18253 18367 18461 18593 18749 18913 19051 19183 19301 19423 19489 19603 19753 19867 19991 20101 20183 20333 20431 20551 20717 20809 20947 21059 21169
14083 14243 14387 14479 14591 14713 14783 14891 15031 15139 15263 15349 15451 15581 15671 15787 15901 16033 16127 16253 16411 16519 16649 16759 16901 17011 17117 17239 17377 17471 17579 17707 17837 17939 18049 18149 18257 18371 18481 18617 18757 18917 19069 19207 19309 19427 19501 19609 19759 19889 19993 20107 20201 20341 20441 20563 20719 20849 20959 21061 21179
14087 14249 14389 14489 14593 14717 14797 14897 15053 15149 15269 15359 15461 15583 15679 15791 15907 16057 16139 16267 16417 16529 16651 16763 16903 17021 17123 17257 17383 17477 17581 17713 17839 17957 18059 18169 18269 18379 18493 18637 18773 18919 19073 19211 19319 19429 19507 19661 19763 19891 19997 20113 20219 20347 20443 20593 20731 20857 20963 21067 21187
14107 14251 14401 14503 14621 14723 14813 14923 15061 15161 15271 15361 15467 15601 15683 15797 15913 16061 16141 16273 16421 16547 16657 16787 16921 17027 17137 17291 17387 17483 17597 17729 17851 17959 18061 18181 18287 18397 18503 18661 18787 18947 19079 19213 19333 19433 19531 19681 19777 19913 20011 20117 20231 20353 20477 20599 20743 20873 20981 21089 21191
datacommunicatie: RSA
14143 14281 14407 14519 14627 14731 14821 14929 15073 15173 15277 15373 15473 15607 15727 15803 15919 16063 16183 16301 16427 16553 16661 16811 16927 17029 17159 17293 17389 17489 17599 17737 17863 17971 18077 18191 18289 18401 18517 18671 18793 18959 19081 19219 19373 19441 19541 19687 19793 19919 20021 20123 20233 20357 20479 20611 20747 20879 20983 21101 21193
14149 14293 14411 14533 14629 14737 14827 14939 15077 15187 15287 15377 15493 15619 15731 15809 15923 16067 16187 16319 16433 16561 16673 16823 16931 17033 17167 17299 17393 17491 17609 17747 17881 17977 18089 18199 18301 18413 18521 18679 18797 18973 19087 19231 19379 19447 19543 19697 19801 19927 20023 20129 20249 20359 20483 20627 20749 20887 21001 21107 21211
14153 14303 14419 14537 14633 14741 14831 14947 15083 15193 15289 15383 15497 15629 15733 15817 15937 16069 16189 16333 16447 16567 16691 16829 16937 17041 17183 17317 17401 17497 17623 17749 17891 17981 18097 18211 18307 18427 18523 18691 18803 18979 19121 19237 19381 19457 19553 19699 19813 19937 20029 20143 20261 20369 20507 20639 20753 20897 21011 21121 21221
45
14159 14321 14423 14543 14639 14747 14843 14951 15091 15199 15299 15391 15511 15641 15737 15823 15959 16073 16193 16339 16451 16573 16693 16831 16943 17047 17189 17321 17417 17509 17627 17761 17903 17987 18119 18217 18311 18433 18539 18701 18839 19001 19139 19249 19387 19463 19559 19709 19819 19949 20047 20147 20269 20389 20509 20641 20759 20899 21013 21139 21227
14173 14323 14431 14549 14653 14753 14851 14957 15101 15217 15307 15401 15527 15643 15739 15859 15971 16087 16217 16349 16453 16603 16699 16843 16963 17053 17191 17327 17419 17519 17657 17783 17909 17989 18121 18223 18313 18439 18541 18713 18859 19009 19141 19259 19391 19469 19571 19717 19841 19961 20051 20149 20287 20393 20521 20663 20771 20903 21017 21143 21247
14177 14327 14437 14551 14657 14759 14867 14969 15107 15227 15313 15413 15541 15647 15749 15877 15973 16091 16223 16361 16477 16607 16703 16871 16979 17077 17203 17333 17431 17539 17659 17789 17911 18013 18127 18229 18329 18443 18553 18719 18869 19013 19157 19267 19403 19471 19577 19727 19843 19963 20063 20161 20297 20399 20533 20681 20773 20921 21019 21149 21269
14197 14341 14447 14557 14669 14767 14869 14983 15121 15233 15319 15427 15551 15649 15761 15881 15991 16097 16229 16363 16481 16619 16729 16879 16981 17093 17207 17341 17443 17551 17669 17791 17921 18041 18131 18233 18341 18451 18583 18731 18899 19031 19163 19273 19417 19477 19583 19739 19853 19973 20071 20173 20323 20407 20543 20693 20789 20929 21023 21157 21277
14207 14347 14449 14561 14683 14771 14879 15013 15131 15241 15329 15439 15559 15661 15767 15887 16001 16103 16231 16369 16487 16631 16741 16883 16987 17099 17209 17351 17449 17569 17681 17807 17923 18043 18133 18251 18353 18457 18587 18743 18911 19037 19181 19289 19421 19483 19597 19751 19861 19979 20089 20177 20327 20411 20549 20707 20807 20939 21031 21163 21283
Carl Reinehr
21313 21407 21523 21613 21751 21859 21997 22091 22189 22307 22453 22573 22699 22807 22943 23041 23159 23291 23417 23561 23663 23767 23879 23993 24091 24181 24359 24473 24623 24767 24907 25031 25153 25261 25391 25537 25639 25759 25889 25999 26119 26249 26357 26479 26633 26717 26839 26951 27067 27211 27361 27487 27647 27751 27827 27961 28087 28219 28387 28499 28597
21317 21419 21529 21617 21757 21863 22003 22093 22193 22343 22469 22613 22709 22811 22961 23053 23167 23293 23431 23563 23669 23773 23887 24001 24097 24197 24371 24481 24631 24781 24917 25033 25163 25301 25409 25541 25643 25763 25903 26003 26141 26251 26371 26489 26641 26723 26849 26953 27073 27239 27367 27509 27653 27763 27847 27967 28097 28229 28393 28513 28603
21319 21433 21557 21647 21767 21871 22013 22109 22229 22349 22481 22619 22717 22817 22963 23057 23173 23297 23447 23567 23671 23789 23893 24007 24103 24203 24373 24499 24659 24793 24919 25037 25169 25303 25411 25561 25657 25771 25913 26017 26153 26261 26387 26497 26647 26729 26861 26959 27077 27241 27397 27527 27673 27767 27851 27983 28099 28277 28403 28517 28607
21323 21467 21559 21649 21773 21881 22027 22111 22247 22367 22483 22621 22721 22853 22973 23059 23189 23311 23459 23581 23677 23801 23899 24019 24107 24223 24379 24509 24671 24799 24923 25057 25171 25307 25423 25577 25667 25793 25919 26021 26161 26263 26393 26501 26669 26731 26863 26981 27091 27253 27407 27529 27689 27773 27883 27997 28109 28279 28409 28537 28619
datacommunicatie: RSA
21341 21481 21563 21661 21787 21893 22031 22123 22259 22369 22501 22637 22727 22859 22993 23063 23197 23321 23473 23593 23687 23813 23909 24023 24109 24229 24391 24517 24677 24809 24943 25073 25183 25309 25439 25579 25673 25799 25931 26029 26171 26267 26399 26513 26681 26737 26879 26987 27103 27259 27409 27539 27691 27779 27893 28001 28111 28283 28411 28541 28621
21347 21487 21569 21673 21799 21911 22037 22129 22271 22381 22511 22639 22739 22861 23003 23071 23201 23327 23497 23599 23689 23819 23911 24029 24113 24239 24407 24527 24683 24821 24953 25087 25189 25321 25447 25583 25679 25801 25933 26041 26177 26293 26407 26539 26683 26759 26881 26993 27107 27271 27427 27541 27697 27791 27901 28019 28123 28289 28429 28547 28627
21377 21491 21577 21683 21803 21929 22039 22133 22273 22391 22531 22643 22741 22871 23011 23081 23203 23333 23509 23603 23719 23827 23917 24043 24121 24247 24413 24533 24691 24841 24967 25097 25219 25339 25453 25589 25693 25819 25939 26053 26183 26297 26417 26557 26687 26777 26891 27011 27109 27277 27431 27551 27701 27793 27917 28027 28151 28297 28433 28549 28631
46
21379 21493 21587 21701 21817 21937 22051 22147 22277 22397 22541 22651 22751 22877 23017 23087 23209 23339 23531 23609 23741 23831 23929 24049 24133 24251 24419 24547 24697 24847 24971 25111 25229 25343 25457 25601 25703 25841 25943 26083 26189 26309 26423 26561 26693 26783 26893 27017 27127 27281 27437 27581 27733 27799 27919 28031 28163 28307 28439 28559 28643
21383 21499 21589 21713 21821 21943 22063 22153 22279 22409 22543 22669 22769 22901 23021 23099 23227 23357 23537 23623 23743 23833 23957 24061 24137 24281 24421 24551 24709 24851 24977 25117 25237 25349 25463 25603 25717 25847 25951 26099 26203 26317 26431 26573 26699 26801 26903 27031 27143 27283 27449 27583 27737 27803 27941 28051 28181 28309 28447 28571 28649
21391 21503 21599 21727 21839 21961 22067 22157 22283 22433 22549 22679 22777 22907 23027 23117 23251 23369 23539 23627 23747 23857 23971 24071 24151 24317 24439 24571 24733 24859 24979 25121 25243 25357 25469 25609 25733 25849 25969 26107 26209 26321 26437 26591 26701 26813 26921 27043 27179 27299 27457 27611 27739 27809 27943 28057 28183 28319 28463 28573 28657
21397 21517 21601 21737 21841 21977 22073 22159 22291 22441 22567 22691 22783 22921 23029 23131 23269 23371 23549 23629 23753 23869 23977 24077 24169 24329 24443 24593 24749 24877 24989 25127 25247 25367 25471 25621 25741 25867 25981 26111 26227 26339 26449 26597 26711 26821 26927 27059 27191 27329 27479 27617 27743 27817 27947 28069 28201 28349 28477 28579 28661
21401 21521 21611 21739 21851 21991 22079 22171 22303 22447 22571 22697 22787 22937 23039 23143 23279 23399 23557 23633 23761 23873 23981 24083 24179 24337 24469 24611 24763 24889 25013 25147 25253 25373 25523 25633 25747 25873 25997 26113 26237 26347 26459 26627 26713 26833 26947 27061 27197 27337 27481 27631 27749 27823 27953 28081 28211 28351 28493 28591 28663
Carl Reinehr
28669 28793 28921 29059 29179 29303 29411 29567 29671 29837 29983 30109 30211 30341 30493 30637 30757 30859 30983 31123 31223 31321 31481 31601 31727 31873 32029 32141 32257 32363 32467 32573 32707 32831 32957 33053 33181 33329 33427 33563 33629 33767 33871 34031 34171 34297 34403 34513 34649 34757 34883 35053 35149 35291 35419 35533 35729 35839 35969 36073 36217
28687 28807 28927 29063 29191 29311 29423 29569 29683 29851 29989 30113 30223 30347 30497 30643 30763 30869 31013 31139 31231 31327 31489 31607 31729 31883 32051 32143 32261 32369 32479 32579 32713 32833 32969 33071 33191 33331 33457 33569 33637 33769 33889 34033 34183 34301 34421 34519 34651 34759 34897 35059 35153 35311 35423 35537 35731 35851 35977 36083 36229
28697 28813 28933 29077 29201 29327 29429 29573 29717 29863 30011 30119 30241 30367 30509 30649 30773 30871 31019 31147 31237 31333 31511 31627 31741 31891 32057 32159 32297 32371 32491 32587 32717 32839 32971 33073 33199 33343 33461 33577 33641 33773 33893 34039 34211 34303 34429 34537 34667 34763 34913 35069 35159 35317 35437 35543 35747 35863 35983 36097 36241
28703 28817 28949 29101 29207 29333 29437 29581 29723 29867 30013 30133 30253 30389 30517 30661 30781 30881 31033 31151 31247 31337 31513 31643 31751 31907 32059 32173 32299 32377 32497 32603 32719 32843 32983 33083 33203 33347 33469 33581 33647 33791 33911 34057 34213 34313 34439 34543 34673 34781 34919 35081 35171 35323 35447 35569 35753 35869 35993 36107 36251
datacommunicatie: RSA
28711 28837 28961 29123 29209 29339 29443 29587 29741 29873 30029 30137 30259 30391 30529 30671 30803 30893 31039 31153 31249 31357 31517 31649 31769 31957 32063 32183 32303 32381 32503 32609 32749 32869 32987 33091 33211 33349 33479 33587 33679 33797 33923 34061 34217 34319 34457 34549 34679 34807 34939 35083 35201 35327 35449 35573 35759 35879 35999 36109 36263
28723 28843 28979 29129 29221 29347 29453 29599 29753 29879 30047 30139 30269 30403 30539 30677 30809 30911 31051 31159 31253 31379 31531 31657 31771 31963 32069 32189 32309 32401 32507 32611 32771 32887 32993 33107 33223 33353 33487 33589 33703 33809 33931 34123 34231 34327 34469 34583 34687 34819 34949 35089 35221 35339 35461 35591 35771 35897 36007 36131 36269
28729 28859 29009 29131 29231 29363 29473 29611 29759 29881 30059 30161 30271 30427 30553 30689 30817 30931 31063 31177 31259 31387 31541 31663 31793 31973 32077 32191 32321 32411 32531 32621 32779 32909 32999 33113 33247 33359 33493 33599 33713 33811 33937 34127 34253 34337 34471 34589 34693 34841 34961 35099 35227 35353 35491 35593 35797 35899 36011 36137 36277
47
28751 28867 29017 29137 29243 29383 29483 29629 29761 29917 30071 30169 30293 30431 30557 30697 30829 30937 31069 31181 31267 31391 31543 31667 31799 31981 32083 32203 32323 32413 32533 32633 32783 32911 33013 33119 33287 33377 33503 33601 33721 33827 33941 34129 34259 34351 34483 34591 34703 34843 34963 35107 35251 35363 35507 35597 35801 35911 36013 36151 36293
28753 28871 29021 29147 29251 29387 29501 29633 29789 29921 30089 30181 30307 30449 30559 30703 30839 30941 31079 31183 31271 31393 31547 31687 31817 31991 32089 32213 32327 32423 32537 32647 32789 32917 33023 33149 33289 33391 33521 33613 33739 33829 33961 34141 34261 34361 34487 34603 34721 34847 34981 35111 35257 35381 35509 35603 35803 35923 36017 36161 36299
28759 28879 29023 29153 29269 29389 29527 29641 29803 29927 30091 30187 30313 30467 30577 30707 30841 30949 31081 31189 31277 31397 31567 31699 31847 32003 32099 32233 32341 32429 32561 32653 32797 32933 33029 33151 33301 33403 33529 33617 33749 33851 33967 34147 34267 34367 34499 34607 34729 34849 35023 35117 35267 35393 35521 35617 35809 35933 36037 36187 36307
28771 28901 29027 29167 29287 29399 29531 29663 29819 29947 30097 30197 30319 30469 30593 30713 30851 30971 31091 31193 31307 31469 31573 31721 31849 32009 32117 32237 32353 32441 32563 32687 32801 32939 33037 33161 33311 33409 33533 33619 33751 33857 33997 34157 34273 34369 34501 34613 34739 34871 35027 35129 35279 35401 35527 35671 35831 35951 36061 36191 36313
28789 28909 29033 29173 29297 29401 29537 29669 29833 29959 30103 30203 30323 30491 30631 30727 30853 30977 31121 31219 31319 31477 31583 31723 31859 32027 32119 32251 32359 32443 32569 32693 32803 32941 33049 33179 33317 33413 33547 33623 33757 33863 34019 34159 34283 34381 34511 34631 34747 34877 35051 35141 35281 35407 35531 35677 35837 35963 36067 36209 36319
Carl Reinehr
36341 36479 36587 36709 36809 36923 37039 37189 37321 37447 37549 37649 37813 37963 38113 38237 38333 38543 38653 38747 38873 39019 39133 39233 39367 39503 39631 39769 39869 40009 40129 40253 40433 40559 40709 40841 40949 41081 41201 41299 41453 41593 41669 41813 41941 42023 42179 42283 42397 42473 42641 42727 42841 42967 43103 43271 43427 43579 43691 43801 43973
36343 36493 36599 36713 36821 36929 37049 37199 37337 37463 37561 37657 37831 37967 38119 38239 38351 38557 38669 38749 38891 39023 39139 39239 39371 39509 39659 39779 39877 40013 40151 40277 40459 40577 40739 40847 40961 41113 41203 41333 41467 41597 41681 41843 41947 42043 42181 42293 42403 42487 42643 42737 42853 42979 43117 43283 43441 43591 43711 43853 43987
36353 36497 36607 36721 36833 36931 37057 37201 37339 37483 37567 37663 37847 37987 38149 38261 38371 38561 38671 38767 38903 39041 39157 39241 39373 39511 39667 39791 39883 40031 40153 40283 40471 40583 40751 40849 40973 41117 41213 41341 41479 41603 41687 41849 41953 42061 42187 42299 42407 42491 42649 42743 42859 42989 43133 43291 43451 43597 43717 43867 43991
36373 36523 36629 36739 36847 36943 37061 37217 37357 37489 37571 37691 37853 37991 38153 38273 38377 38567 38677 38783 38917 39043 39161 39251 39383 39521 39671 39799 39887 40037 40163 40289 40483 40591 40759 40853 40993 41131 41221 41351 41491 41609 41719 41851 41957 42071 42193 42307 42409 42499 42667 42751 42863 43003 43151 43313 43457 43607 43721 43889 43997
datacommunicatie: RSA
36383 36527 36637 36749 36857 36947 37087 37223 37361 37493 37573 37693 37861 37993 38167 38281 38393 38569 38693 38791 38921 39047 39163 39293 39397 39541 39679 39821 39901 40039 40169 40343 40487 40597 40763 40867 41011 41141 41227 41357 41507 41611 41729 41863 41959 42073 42197 42323 42433 42509 42677 42767 42899 43013 43159 43319 43481 43609 43753 43891 44017
36389 36529 36643 36761 36871 36973 37097 37243 37363 37501 37579 37699 37871 37997 38177 38287 38431 38593 38699 38803 38923 39079 39181 39301 39409 39551 39703 39827 39929 40063 40177 40351 40493 40609 40771 40879 41017 41143 41231 41381 41513 41617 41737 41879 41969 42083 42209 42331 42437 42533 42683 42773 42901 43019 43177 43321 43487 43613 43759 43913 44021
36433 36541 36653 36767 36877 36979 37117 37253 37369 37507 37589 37717 37879 38011 38183 38299 38447 38603 38707 38821 38933 39089 39191 39313 39419 39563 39709 39829 39937 40087 40189 40357 40499 40627 40787 40883 41023 41149 41233 41387 41519 41621 41759 41887 41981 42089 42221 42337 42443 42557 42689 42787 42923 43037 43189 43331 43499 43627 43777 43933 44027
48
36451 36551 36671 36779 36887 36997 37123 37273 37379 37511 37591 37747 37889 38039 38189 38303 38449 38609 38711 38833 38953 39097 39199 39317 39439 39569 39719 39839 39953 40093 40193 40361 40507 40637 40801 40897 41039 41161 41243 41389 41521 41627 41761 41893 41983 42101 42223 42349 42451 42569 42697 42793 42929 43049 43201 43391 43517 43633 43781 43943 44029
36457 36559 36677 36781 36899 37003 37139 37277 37397 37517 37607 37781 37897 38047 38197 38317 38453 38611 38713 38839 38959 39103 39209 39323 39443 39581 39727 39841 39971 40099 40213 40387 40519 40639 40813 40903 41047 41177 41257 41399 41539 41641 41771 41897 41999 42131 42227 42359 42457 42571 42701 42797 42937 43051 43207 43397 43541 43649 43783 43951 44041
36467 36563 36683 36787 36901 37013 37159 37307 37409 37529 37619 37783 37907 38053 38201 38321 38459 38629 38723 38851 38971 39107 39217 39341 39451 39607 39733 39847 39979 40111 40231 40423 40529 40693 40819 40927 41051 41179 41263 41411 41543 41647 41777 41903 42013 42139 42239 42373 42461 42577 42703 42821 42943 43063 43223 43399 43543 43651 43787 43961 44053
36469 36571 36691 36791 36913 37019 37171 37309 37423 37537 37633 37799 37951 38069 38219 38327 38461 38639 38729 38861 38977 39113 39227 39343 39461 39619 39749 39857 39983 40123 40237 40427 40531 40697 40823 40933 41057 41183 41269 41413 41549 41651 41801 41911 42017 42157 42257 42379 42463 42589 42709 42829 42953 43067 43237 43403 43573 43661 43789 43963 44059
36473 36583 36697 36793 36919 37021 37181 37313 37441 37547 37643 37811 37957 38083 38231 38329 38501 38651 38737 38867 38993 39119 39229 39359 39499 39623 39761 39863 39989 40127 40241 40429 40543 40699 40829 40939 41077 41189 41281 41443 41579 41659 41809 41927 42019 42169 42281 42391 42467 42611 42719 42839 42961 43093 43261 43411 43577 43669 43793 43969 44071
Carl Reinehr
44087 44201 44293 44497 44617 44711 44843 44963 45127 45263 45377 45533 45667 45817 45949 46091 46199 46337 46477 46601 46723 46831 47017 47143 47293 47407 47527 47653 47777 47903 48023 48179 48313 48463 48563 48679 48817 48953 49069 49193 49331 49433 49549 49697 49811 49939 50069 50159 50321 50441 50587 50753 50891 51031 51169 51287 51421 51511 51631 51767 51871
44089 44203 44351 44501 44621 44729 44851 44971 45131 45281 45389 45541 45673 45821 45953 46093 46219 46349 46489 46619 46727 46853 47041 47147 47297 47417 47533 47657 47779 47911 48029 48187 48337 48473 48571 48731 48821 48973 49081 49199 49333 49451 49559 49711 49823 49943 50077 50177 50329 50459 50591 50767 50893 51043 51193 51307 51427 51517 51637 51769 51893
44101 44207 44357 44507 44623 44741 44867 44983 45137 45289 45403 45553 45677 45823 45959 46099 46229 46351 46499 46633 46747 46861 47051 47149 47303 47419 47543 47659 47791 47917 48049 48193 48341 48479 48589 48733 48823 48989 49103 49201 49339 49459 49597 49727 49831 49957 50087 50207 50333 50461 50593 50773 50909 51047 51197 51329 51431 51521 51647 51787 51899
44111 44221 44371 44519 44633 44753 44879 44987 45139 45293 45413 45557 45691 45827 45971 46103 46237 46381 46507 46639 46751 46867 47057 47161 47309 47431 47563 47681 47797 47933 48073 48197 48353 48481 48593 48751 48847 48991 49109 49207 49363 49463 49603 49739 49843 49991 50093 50221 50341 50497 50599 50777 50923 51059 51199 51341 51437 51539 51659 51797 51907
datacommunicatie: RSA
44119 44249 44381 44531 44641 44771 44887 45007 45161 45307 45427 45569 45697 45833 45979 46133 46261 46399 46511 46643 46757 46877 47059 47189 47317 47441 47569 47699 47807 47939 48079 48221 48371 48487 48611 48757 48857 49003 49117 49211 49367 49477 49613 49741 49853 49993 50101 50227 50359 50503 50627 50789 50929 51061 51203 51343 51439 51551 51673 51803 51913
44123 44257 44383 44533 44647 44773 44893 45013 45179 45317 45433 45587 45707 45841 45989 46141 46271 46411 46523 46649 46769 46889 47087 47207 47339 47459 47581 47701 47809 47947 48091 48239 48383 48491 48619 48761 48859 49009 49121 49223 49369 49481 49627 49747 49871 49999 50111 50231 50363 50513 50647 50821 50951 51071 51217 51347 51449 51563 51679 51817 51929
44129 44263 44389 44537 44651 44777 44909 45053 45181 45319 45439 45589 45737 45853 46021 46147 46273 46439 46549 46663 46771 46901 47093 47221 47351 47491 47591 47711 47819 47951 48109 48247 48397 48497 48623 48767 48869 49019 49123 49253 49391 49499 49633 49757 49877 50021 50119 50261 50377 50527 50651 50833 50957 51109 51229 51349 51461 51577 51683 51827 51941
49
44131 44267 44417 44543 44657 44789 44917 45061 45191 45329 45481 45599 45751 45863 46027 46153 46279 46441 46559 46679 46807 46919 47111 47237 47353 47497 47599 47713 47837 47963 48119 48259 48407 48523 48647 48779 48871 49031 49139 49261 49393 49523 49639 49783 49891 50023 50123 50263 50383 50539 50671 50839 50969 51131 51239 51361 51473 51581 51691 51829 51949
44159 44269 44449 44549 44683 44797 44927 45077 45197 45337 45491 45613 45757 45869 46049 46171 46301 46447 46567 46681 46811 46933 47119 47251 47363 47501 47609 47717 47843 47969 48121 48271 48409 48527 48649 48781 48883 49033 49157 49277 49409 49529 49663 49787 49919 50033 50129 50273 50387 50543 50683 50849 50971 51133 51241 51383 51479 51593 51713 51839 51971
44171 44273 44453 44563 44687 44809 44939 45083 45233 45341 45497 45631 45763 45887 46051 46181 46307 46451 46573 46687 46817 46957 47123 47269 47381 47507 47623 47737 47857 47977 48131 48281 48413 48533 48661 48787 48889 49037 49169 49279 49411 49531 49667 49789 49921 50047 50131 50287 50411 50549 50707 50857 50989 51137 51257 51407 51481 51599 51719 51853 51973
44179 44279 44483 44579 44699 44819 44953 45119 45247 45343 45503 45641 45767 45893 46061 46183 46309 46457 46589 46691 46819 46993 47129 47279 47387 47513 47629 47741 47869 47981 48157 48299 48437 48539 48673 48799 48907 49043 49171 49297 49417 49537 49669 49801 49927 50051 50147 50291 50417 50551 50723 50867 50993 51151 51263 51413 51487 51607 51721 51859 51977
44189 44281 44491 44587 44701 44839 44959 45121 45259 45361 45523 45659 45779 45943 46073 46187 46327 46471 46591 46703 46829 46997 47137 47287 47389 47521 47639 47743 47881 48017 48163 48311 48449 48541 48677 48809 48947 49057 49177 49307 49429 49547 49681 49807 49937 50053 50153 50311 50423 50581 50741 50873 51001 51157 51283 51419 51503 51613 51749 51869 51991
Carl Reinehr
52009 52153 52267 52433 52567 52709 52837 52963 53089 53197 53327 53479 53617 53731 53881 53993 54139 54311 54413 54521 54629 54773 54919 55057 55207 55337 55487 55631 55721 55837 55949 56099 56237 56383 56489 56599 56731 56843 56951 57077 57191 57301 57457 57601 57727 57839 57977 58109 58211 58367 58453 58613 58757 58921 59029 59141 59243 59393 59497 59629 59747
52021 52163 52289 52453 52571 52711 52859 52967 53093 53201 53353 53503 53623 53759 53887 54001 54151 54319 54419 54539 54631 54779 54941 55061 55213 55339 55501 55633 55733 55843 55967 56101 56239 56393 56501 56611 56737 56857 56957 57089 57193 57329 57467 57637 57731 57847 57991 58111 58217 58369 58477 58631 58763 58937 59051 59149 59263 59399 59509 59651 59753
52027 52177 52291 52457 52579 52721 52861 52973 53101 53231 53359 53507 53629 53773 53891 54011 54163 54323 54421 54541 54647 54787 54949 55073 55217 55343 55511 55639 55763 55849 55987 56113 56249 56401 56503 56629 56747 56873 56963 57097 57203 57331 57487 57641 57737 57853 58013 58129 58229 58379 58481 58657 58771 58943 59053 59159 59273 59407 59513 59659 59771
52051 52181 52301 52489 52583 52727 52879 52981 53113 53233 53377 53527 53633 53777 53897 54013 54167 54331 54437 54547 54667 54799 54959 55079 55219 55351 55529 55661 55787 55871 55997 56123 56263 56417 56509 56633 56767 56891 56983 57107 57221 57347 57493 57649 57751 57859 58027 58147 58231 58391 58511 58661 58787 58963 59063 59167 59281 59417 59539 59663 59779
datacommunicatie: RSA
52057 52183 52313 52501 52609 52733 52883 52999 53117 53239 53381 53549 53639 53783 53899 54037 54181 54347 54443 54559 54673 54829 54973 55103 55229 55373 55541 55663 55793 55889 56003 56131 56267 56431 56519 56659 56773 56893 56989 57119 57223 57349 57503 57653 57773 57881 58031 58151 58237 58393 58537 58679 58789 58967 59069 59183 59333 59419 59557 59669 59791
52067 52189 52321 52511 52627 52747 52889 53003 53129 53267 53401 53551 53653 53791 53917 54049 54193 54361 54449 54563 54679 54833 54979 55109 55243 55381 55547 55667 55799 55897 56009 56149 56269 56437 56527 56663 56779 56897 56993 57131 57241 57367 57527 57667 57781 57899 58043 58153 58243 58403 58543 58687 58831 58979 59077 59197 59341 59441 59561 59671 59797
52069 52201 52361 52517 52631 52757 52901 53017 53147 53269 53407 53569 53657 53813 53923 54059 54217 54367 54469 54577 54709 54851 54983 55117 55249 55399 55579 55673 55807 55901 56039 56167 56299 56443 56531 56671 56783 56909 56999 57139 57251 57373 57529 57679 57787 57901 58049 58169 58271 58411 58549 58693 58889 58991 59083 59207 59351 59443 59567 59693 59809
50
52081 52223 52363 52529 52639 52769 52903 53047 53149 53279 53411 53591 53681 53819 53927 54083 54251 54371 54493 54581 54713 54869 55001 55127 55259 55411 55589 55681 55813 55903 56041 56171 56311 56453 56533 56681 56807 56911 57037 57143 57259 57383 57557 57689 57791 57917 58057 58171 58309 58417 58567 58699 58897 58997 59093 59209 59357 59447 59581 59699 59833
52103 52237 52369 52541 52667 52783 52919 53051 53161 53281 53419 53593 53693 53831 53939 54091 54269 54377 54497 54583 54721 54877 55009 55147 55291 55439 55603 55691 55817 55921 56053 56179 56333 56467 56543 56687 56809 56921 57041 57149 57269 57389 57559 57697 57793 57923 58061 58189 58313 58427 58573 58711 58901 59009 59107 59219 59359 59453 59611 59707 59863
52121 52249 52379 52543 52673 52807 52937 53069 53171 53299 53437 53597 53699 53849 53951 54101 54277 54401 54499 54601 54727 54881 55021 55163 55313 55441 55609 55697 55819 55927 56081 56197 56359 56473 56569 56701 56813 56923 57047 57163 57271 57397 57571 57709 57803 57943 58067 58193 58321 58439 58579 58727 58907 59011 59113 59221 59369 59467 59617 59723 59879
52127 52253 52387 52553 52691 52813 52951 53077 53173 53309 53441 53609 53717 53857 53959 54121 54287 54403 54503 54617 54751 54907 55049 55171 55331 55457 55619 55711 55823 55931 56087 56207 56369 56477 56591 56711 56821 56929 57059 57173 57283 57413 57587 57713 57809 57947 58073 58199 58337 58441 58601 58733 58909 59021 59119 59233 59377 59471 59621 59729 59887
52147 52259 52391 52561 52697 52817 52957 53087 53189 53323 53453 53611 53719 53861 53987 54133 54293 54409 54517 54623 54767 54917 55051 55201 55333 55469 55621 55717 55829 55933 56093 56209 56377 56479 56597 56713 56827 56941 57073 57179 57287 57427 57593 57719 57829 57973 58099 58207 58363 58451 58603 58741 58913 59023 59123 59239 59387 59473 59627 59743 59921
Carl Reinehr
59929 60083 60169 60337 60497 60637 60757 60899 61027 61169 61343 61483 61603 61687 61861 61991 62129 62233 62417 62549 62683 62827 62971 63103 63281 63389 63493 63607 63703 63809 63977 64123 64279 64439 64601 64717 64879 65027 65129 65267 65407 65539 65633 65729 65867 66029 66161 66347 66467 66593 66739 66877 67003 67139 67231 67399 67493 67601 67757 67867 67979
59951 60089 60209 60343 60509 60647 60761 60901 61031 61211 61357 61487 61609 61703 61871 62003 62131 62273 62423 62563 62687 62851 62981 63113 63299 63391 63499 63611 63709 63823 63997 64151 64283 64451 64609 64747 64891 65029 65141 65269 65413 65543 65647 65731 65881 66037 66169 66359 66491 66601 66749 66883 67021 67141 67247 67409 67499 67607 67759 67883 67987
59957 60091 60217 60353 60521 60649 60763 60913 61043 61223 61363 61493 61613 61717 61879 62011 62137 62297 62459 62581 62701 62861 62983 63127 63311 63397 63521 63617 63719 63839 64007 64153 64301 64453 64613 64763 64901 65033 65147 65287 65419 65551 65651 65761 65899 66041 66173 66361 66499 66617 66751 66889 67033 67153 67261 67411 67511 67619 67763 67891 67993
59971 60101 60223 60373 60527 60659 60773 60917 61051 61231 61379 61507 61627 61723 61909 62017 62141 62299 62467 62591 62723 62869 62987 63131 63313 63409 63527 63629 63727 63841 64013 64157 64303 64483 64621 64781 64919 65053 65167 65293 65423 65557 65657 65777 65921 66047 66179 66373 66509 66629 66763 66919 67043 67157 67271 67421 67523 67631 67777 67901 68023
datacommunicatie: RSA
59981 60103 60251 60383 60539 60661 60779 60919 61057 61253 61381 61511 61631 61729 61927 62039 62143 62303 62473 62597 62731 62873 62989 63149 63317 63419 63533 63647 63737 63853 64019 64171 64319 64489 64627 64783 64921 65063 65171 65309 65437 65563 65677 65789 65927 66067 66191 66377 66523 66643 66791 66923 67049 67169 67273 67427 67531 67651 67783 67927 68041
59999 60107 60257 60397 60589 60679 60793 60923 61091 61261 61403 61519 61637 61751 61933 62047 62171 62311 62477 62603 62743 62897 63029 63179 63331 63421 63541 63649 63743 63857 64033 64187 64327 64499 64633 64793 64927 65071 65173 65323 65447 65579 65687 65809 65929 66071 66221 66383 66529 66653 66797 66931 67057 67181 67289 67429 67537 67679 67789 67931 68053
60013 60127 60259 60413 60601 60689 60811 60937 61099 61283 61409 61543 61643 61757 61949 62053 62189 62323 62483 62617 62753 62903 63031 63197 63337 63439 63559 63659 63761 63863 64037 64189 64333 64513 64661 64811 64937 65089 65179 65327 65449 65581 65699 65827 65951 66083 66239 66403 66533 66683 66809 66943 67061 67187 67307 67433 67547 67699 67801 67933 68059
51
60017 60133 60271 60427 60607 60703 60821 60943 61121 61291 61417 61547 61651 61781 61961 62057 62191 62327 62497 62627 62761 62921 63059 63199 63347 63443 63577 63667 63773 63901 64063 64217 64373 64553 64663 64817 64951 65099 65183 65353 65479 65587 65701 65831 65957 66089 66271 66413 66541 66697 66821 66947 67073 67189 67339 67447 67559 67709 67807 67939 68071
60029 60139 60289 60443 60611 60719 60859 60953 61129 61297 61441 61553 61657 61813 61967 62071 62201 62347 62501 62633 62773 62927 63067 63211 63353 63463 63587 63671 63781 63907 64067 64223 64381 64567 64667 64849 64969 65101 65203 65357 65497 65599 65707 65837 65963 66103 66293 66431 66553 66701 66841 66949 67079 67211 67343 67453 67567 67723 67819 67943 68087
60037 60149 60293 60449 60617 60727 60869 60961 61141 61331 61463 61559 61667 61819 61979 62081 62207 62351 62507 62639 62791 62929 63073 63241 63361 63467 63589 63689 63793 63913 64081 64231 64399 64577 64679 64853 64997 65111 65213 65371 65519 65609 65713 65839 65981 66107 66301 66449 66569 66713 66851 66959 67103 67213 67349 67477 67577 67733 67829 67957 68099
60041 60161 60317 60457 60623 60733 60887 61001 61151 61333 61469 61561 61673 61837 61981 62099 62213 62383 62533 62653 62801 62939 63079 63247 63367 63473 63599 63691 63799 63929 64091 64237 64403 64579 64693 64871 65003 65119 65239 65381 65521 65617 65717 65843 65983 66109 66337 66457 66571 66721 66853 66973 67121 67217 67369 67481 67579 67741 67843 67961 68111
60077 60167 60331 60493 60631 60737 60889 61007 61153 61339 61471 61583 61681 61843 61987 62119 62219 62401 62539 62659 62819 62969 63097 63277 63377 63487 63601 63697 63803 63949 64109 64271 64433 64591 64709 64877 65011 65123 65257 65393 65537 65629 65719 65851 65993 66137 66343 66463 66587 66733 66863 66977 67129 67219 67391 67489 67589 67751 67853 67967 68113
Carl Reinehr
68141 68281 68477 68597 68737 68881 69011 69151 69263 69431 69557 69763 69899 70039 70157 70249 70393 70529 70657 70841 70937 71039 71171 71327 71411 71527 71693 71821 71933 72047 72169 72287 72467 72617 72719 72883 72973 73091 73303 73433 73571 73681 73847 73973 74131 74219 74363 74507 74611 74759 74873 75017 75181 75307 75407 75557 75683 75793 75979 76099 76249
68147 68311 68483 68611 68743 68891 69019 69163 69313 69439 69593 69767 69911 70051 70163 70271 70423 70537 70663 70843 70949 71059 71191 71329 71413 71537 71699 71837 71941 72053 72173 72307 72469 72623 72727 72889 72977 73121 73309 73453 73583 73693 73849 73999 74143 74231 74377 74509 74623 74761 74887 75029 75193 75323 75431 75571 75689 75797 75983 76103 76253
68161 68329 68489 68633 68749 68897 69029 69191 69317 69457 69623 69779 69929 70061 70177 70289 70429 70549 70667 70849 70951 71069 71209 71333 71419 71549 71707 71843 71947 72073 72211 72313 72481 72643 72733 72893 72997 73127 73327 73459 73589 73699 73859 74017 74149 74257 74381 74521 74653 74771 74891 75037 75209 75329 75437 75577 75703 75821 75989 76123 76259
68171 68351 68491 68639 68767 68899 69031 69193 69337 69463 69653 69809 69931 70067 70181 70297 70439 70571 70687 70853 70957 71081 71233 71339 71429 71551 71711 71849 71963 72077 72221 72337 72493 72647 72739 72901 73009 73133 73331 73471 73597 73709 73867 74021 74159 74279 74383 74527 74687 74779 74897 75041 75211 75337 75479 75583 75707 75833 75991 76129 76261
datacommunicatie: RSA
68207 68371 68501 68659 68771 68903 69061 69197 69341 69467 69661 69821 69941 70079 70183 70309 70451 70573 70709 70867 70969 71089 71237 71341 71437 71563 71713 71861 71971 72089 72223 72341 72497 72649 72763 72907 73013 73141 73351 73477 73607 73721 73877 74027 74161 74287 74411 74531 74699 74797 74903 75079 75217 75347 75503 75611 75709 75853 75997 76147 76283
68209 68389 68507 68669 68777 68909 69067 69203 69371 69473 69677 69827 69959 70099 70199 70313 70457 70583 70717 70877 70979 71119 71249 71347 71443 71569 71719 71867 71983 72091 72227 72353 72503 72661 72767 72911 73019 73181 73361 73483 73609 73727 73883 74047 74167 74293 74413 74551 74707 74821 74923 75083 75223 75353 75511 75617 75721 75869 76001 76157 76289
68213 68399 68521 68683 68791 68917 69073 69221 69379 69481 69691 69829 69991 70111 70201 70321 70459 70589 70729 70879 70981 71129 71257 71353 71453 71593 71741 71879 71987 72101 72229 72367 72533 72671 72797 72923 73037 73189 73363 73517 73613 73751 73897 74051 74177 74297 74419 74561 74713 74827 74929 75109 75227 75367 75521 75619 75731 75883 76003 76159 76303
52
68219 68437 68531 68687 68813 68927 69109 69233 69383 69491 69697 69833 69997 70117 70207 70327 70481 70607 70753 70891 70991 71143 71261 71359 71471 71597 71761 71881 71993 72103 72251 72379 72547 72673 72817 72931 73039 73237 73369 73523 73637 73757 73907 74071 74189 74311 74441 74567 74717 74831 74933 75133 75239 75377 75527 75629 75743 75913 76031 76163 76333
68227 68443 68539 68699 68819 68947 69119 69239 69389 69493 69709 69847 70001 70121 70223 70351 70487 70619 70769 70901 70997 71147 71263 71363 71473 71633 71777 71887 71999 72109 72253 72383 72551 72679 72823 72937 73043 73243 73379 73529 73643 73771 73939 74077 74197 74317 74449 74573 74719 74843 74941 75149 75253 75389 75533 75641 75767 75931 76039 76207 76343
68239 68447 68543 68711 68821 68963 69127 69247 69401 69497 69737 69857 70003 70123 70229 70373 70489 70621 70783 70913 70999 71153 71287 71387 71479 71647 71789 71899 72019 72139 72269 72421 72559 72689 72859 72949 73061 73259 73387 73547 73651 73783 73943 74093 74201 74323 74453 74587 74729 74857 74959 75161 75269 75391 75539 75653 75773 75937 76079 76213 76367
68261 68449 68567 68713 68863 68993 69143 69257 69403 69499 69739 69859 70009 70139 70237 70379 70501 70627 70793 70919 71011 71161 71293 71389 71483 71663 71807 71909 72031 72161 72271 72431 72577 72701 72869 72953 73063 73277 73417 73553 73673 73819 73951 74099 74203 74353 74471 74597 74731 74861 75011 75167 75277 75401 75541 75659 75781 75941 76081 76231 76369
68279 68473 68581 68729 68879 69001 69149 69259 69427 69539 69761 69877 70019 70141 70241 70381 70507 70639 70823 70921 71023 71167 71317 71399 71503 71671 71809 71917 72043 72167 72277 72461 72613 72707 72871 72959 73079 73291 73421 73561 73679 73823 73961 74101 74209 74357 74489 74609 74747 74869 75013 75169 75289 75403 75553 75679 75787 75967 76091 76243 76379
Carl Reinehr
76387 76519 76667 76819 76949 77093 77243 77351 77489 77573 77699 77801 77977 78137 78241 78427 78553 78697 78823 78977 79147 79273 79393 79549 79657 79813 79903 80051 80191 80309 80471 80621 80713 80831 80963 81071 81199 81349 81517 81637 81749 81901 82009 82153 82241 82393 82531 82651 82793 82963 83093 83243 83399 83497 83641 83813 83969 84127 84229 84389 84481
76403 76537 76673 76829 76961 77101 77249 77359 77491 77587 77711 77813 77983 78139 78259 78437 78569 78707 78839 78979 79151 79279 79397 79559 79669 79817 79907 80071 80207 80317 80473 80627 80737 80833 80989 81077 81203 81353 81527 81647 81761 81919 82013 82163 82261 82421 82549 82657 82799 82981 83101 83257 83401 83537 83653 83833 83983 84131 84239 84391 84499
76421 76541 76679 76831 76963 77137 77261 77369 77509 77591 77713 77839 77999 78157 78277 78439 78571 78713 78853 78989 79153 79283 79399 79561 79687 79823 79939 80077 80209 80329 80489 80629 80747 80849 81001 81083 81223 81359 81533 81649 81769 81929 82021 82171 82267 82457 82559 82699 82811 82997 83117 83267 83407 83557 83663 83843 83987 84137 84247 84401 84503
76423 76543 76697 76837 76991 77141 77263 77377 77513 77611 77719 77849 78007 78163 78283 78467 78577 78721 78857 79031 79159 79301 79411 79579 79691 79829 79943 80107 80221 80341 80491 80651 80749 80863 81013 81097 81233 81371 81547 81667 81773 81931 82031 82183 82279 82463 82561 82721 82813 83003 83137 83269 83417 83561 83689 83857 84011 84143 84263 84407 84509
datacommunicatie: RSA
76441 76561 76717 76847 77003 77153 77267 77383 77521 77617 77723 77863 78017 78167 78301 78479 78583 78737 78877 79039 79181 79309 79423 79589 79693 79841 79967 80111 80231 80347 80513 80657 80761 80897 81017 81101 81239 81373 81551 81671 81799 81937 82037 82189 82301 82469 82567 82723 82837 83009 83177 83273 83423 83563 83701 83869 84017 84163 84299 84421 84521
76463 76579 76733 76871 77017 77167 77269 77417 77527 77621 77731 77867 78031 78173 78307 78487 78593 78779 78887 79043 79187 79319 79427 79601 79697 79843 79973 80141 80233 80363 80527 80669 80777 80909 81019 81119 81281 81401 81553 81677 81817 81943 82039 82193 82307 82471 82571 82727 82847 83023 83203 83299 83431 83579 83717 83873 84047 84179 84307 84431 84523
76471 76597 76753 76873 77023 77171 77279 77419 77543 77641 77743 77893 78041 78179 78311 78497 78607 78781 78889 79063 79193 79333 79433 79609 79699 79847 79979 80147 80239 80369 80537 80671 80779 80911 81023 81131 81283 81409 81559 81689 81839 81953 82051 82207 82339 82483 82591 82729 82883 83047 83207 83311 83437 83591 83719 83891 84053 84181 84313 84437 84533
53
76481 76603 76757 76883 77029 77191 77291 77431 77549 77647 77747 77899 78049 78191 78317 78509 78623 78787 78893 79087 79201 79337 79451 79613 79757 79861 79987 80149 80251 80387 80557 80677 80783 80917 81031 81157 81293 81421 81563 81701 81847 81967 82067 82217 82349 82487 82601 82757 82889 83059 83219 83339 83443 83597 83737 83903 84059 84191 84317 84443 84551
76487 76607 76771 76907 77041 77201 77317 77447 77551 77659 77761 77929 78059 78193 78341 78511 78643 78791 78901 79103 79229 79349 79481 79621 79769 79867 79997 80153 80263 80407 80567 80681 80789 80923 81041 81163 81299 81439 81569 81703 81853 81971 82073 82219 82351 82493 82609 82759 82891 83063 83221 83341 83449 83609 83761 83911 84061 84199 84319 84449 84559
76493 76631 76777 76913 77047 77213 77323 77471 77557 77681 77773 77933 78079 78203 78347 78517 78649 78797 78919 79111 79231 79357 79493 79627 79777 79873 79999 80167 80273 80429 80599 80683 80803 80929 81043 81173 81307 81457 81611 81707 81869 81973 82129 82223 82361 82499 82613 82763 82903 83071 83227 83357 83459 83617 83773 83921 84067 84211 84347 84457 84589
76507 76649 76781 76919 77069 77237 77339 77477 77563 77687 77783 77951 78101 78229 78367 78539 78653 78803 78929 79133 79241 79367 79531 79631 79801 79889 80021 80173 80279 80447 80603 80687 80809 80933 81047 81181 81331 81463 81619 81727 81883 82003 82139 82231 82373 82507 82619 82781 82913 83077 83231 83383 83471 83621 83777 83933 84089 84221 84349 84463 84629
76511 76651 76801 76943 77081 77239 77347 77479 77569 77689 77797 77969 78121 78233 78401 78541 78691 78809 78941 79139 79259 79379 79537 79633 79811 79901 80039 80177 80287 80449 80611 80701 80819 80953 81049 81197 81343 81509 81629 81737 81899 82007 82141 82237 82387 82529 82633 82787 82939 83089 83233 83389 83477 83639 83791 83939 84121 84223 84377 84467 84631
Carl Reinehr
84649 84761 84947 85081 85201 85333 85469 85619 85733 85889 86077 86197 86297 86413 86539 86719 86861 87013 87151 87293 87433 87553 87649 87767 87917 88037 88259 88427 88609 88771 88861 89003 89107 89237 89393 89519 89627 89779 89899 90011 90121 90239 90397 90527 90677 90833 90977 91129 91243 91381 91499 91673 91813 91961 92111 92233 92363 92461 92623 92707 92821
84653 84787 84961 85087 85213 85361 85487 85621 85751 85903 86083 86201 86311 86423 86561 86729 86869 87037 87179 87299 87443 87557 87671 87793 87931 88069 88261 88463 88643 88789 88867 89009 89113 89261 89399 89521 89633 89783 89909 90017 90127 90247 90401 90529 90679 90841 90989 91139 91249 91387 91513 91691 91823 91967 92119 92237 92369 92467 92627 92717 92831
84659 84793 84967 85091 85223 85363 85513 85627 85781 85909 86111 86209 86323 86441 86573 86743 86923 87041 87181 87313 87473 87559 87679 87797 87943 88079 88289 88469 88651 88793 88873 89017 89119 89269 89413 89527 89653 89797 89917 90019 90149 90263 90403 90533 90697 90847 90997 91141 91253 91393 91529 91703 91837 91969 92143 92243 92377 92479 92639 92723 92849
84673 84809 84977 85093 85229 85369 85517 85639 85793 85931 86113 86239 86341 86453 86579 86753 86927 87049 87187 87317 87481 87583 87683 87803 87959 88093 88301 88471 88657 88799 88883 89021 89123 89273 89417 89533 89657 89809 89923 90023 90163 90271 90407 90547 90703 90863 91009 91151 91283 91397 91541 91711 91841 91997 92153 92251 92381 92489 92641 92737 92857
datacommunicatie: RSA
84691 84811 84979 85103 85237 85381 85523 85643 85817 85933 86117 86243 86351 86461 86587 86767 86929 87071 87211 87323 87491 87587 87691 87811 87961 88117 88321 88493 88661 88801 88897 89041 89137 89293 89431 89561 89659 89819 89939 90031 90173 90281 90437 90583 90709 90887 91019 91153 91291 91411 91571 91733 91867 92003 92173 92269 92383 92503 92647 92753 92861
84697 84827 84991 85109 85243 85411 85531 85661 85819 85991 86131 86249 86353 86467 86599 86771 86939 87083 87221 87337 87509 87589 87697 87833 87973 88129 88327 88499 88663 88807 88903 89051 89153 89303 89443 89563 89669 89821 89959 90053 90187 90289 90439 90599 90731 90901 91033 91159 91297 91423 91573 91753 91873 92009 92177 92297 92387 92507 92657 92761 92863
84701 84857 85009 85121 85247 85427 85549 85667 85829 85999 86137 86257 86357 86477 86627 86783 86951 87103 87223 87359 87511 87613 87701 87853 87977 88169 88337 88513 88667 88811 88919 89057 89189 89317 89449 89567 89671 89833 89963 90059 90191 90313 90469 90617 90749 90907 91079 91163 91303 91433 91577 91757 91909 92033 92179 92311 92399 92551 92669 92767 92867
54
84713 84859 85021 85133 85259 85429 85571 85669 85831 86011 86143 86263 86369 86491 86629 86813 86959 87107 87251 87383 87517 87623 87719 87869 87991 88177 88339 88523 88681 88813 88937 89069 89203 89329 89459 89591 89681 89839 89977 90067 90197 90353 90473 90619 90787 90911 91081 91183 91309 91453 91583 91771 91921 92041 92189 92317 92401 92557 92671 92779 92893
84719 84869 85027 85147 85297 85439 85577 85691 85837 86017 86161 86269 86371 86501 86677 86837 86969 87119 87253 87403 87523 87629 87721 87877 88001 88211 88379 88547 88721 88817 88951 89071 89209 89363 89477 89597 89689 89849 89983 90071 90199 90359 90481 90631 90793 90917 91097 91193 91331 91457 91591 91781 91939 92051 92203 92333 92413 92567 92681 92789 92899
84731 84871 85037 85159 85303 85447 85597 85703 85843 86027 86171 86287 86381 86509 86689 86843 86981 87121 87257 87407 87539 87631 87739 87881 88003 88223 88397 88589 88729 88819 88969 89083 89213 89371 89491 89599 89753 89867 89989 90073 90203 90371 90499 90641 90803 90931 91099 91199 91367 91459 91621 91801 91943 92077 92219 92347 92419 92569 92683 92791 92921
84737 84913 85049 85193 85313 85451 85601 85711 85847 86029 86179 86291 86389 86531 86693 86851 86993 87133 87277 87421 87541 87641 87743 87887 88007 88237 88411 88591 88741 88843 88993 89087 89227 89381 89501 89603 89759 89891 90001 90089 90217 90373 90511 90647 90821 90947 91121 91229 91369 91463 91631 91807 91951 92083 92221 92353 92431 92581 92693 92801 92927
84751 84919 85061 85199 85331 85453 85607 85717 85853 86069 86183 86293 86399 86533 86711 86857 87011 87149 87281 87427 87547 87643 87751 87911 88019 88241 88423 88607 88747 88853 88997 89101 89231 89387 89513 89611 89767 89897 90007 90107 90227 90379 90523 90659 90823 90971 91127 91237 91373 91493 91639 91811 91957 92107 92227 92357 92459 92593 92699 92809 92941
Carl Reinehr
92951 92957 92959 92987 92993 93001 93047 93053 93059 93077 93083 93089 93097 93103 93113 93131 93133 93139 93151 93169 93179 93187 93199 93229 93239 93241 93251 93253 93257 93263 93281 93283 93287 93307 93319 93323 93329 93337 93371 93377 93383 93407 93419 93427 93463 93479 93481 93487 93491 93493 93497 93503 93523 93529 93553 93557 93559 93563 93581 93601 93607 93629 93637 93683 93701 93703 93719 93739 93761 93763 93787 93809 93811 93827 93851 93871 93887 93889 93893 93901 93911 93913 93923 93937 93941 93949 93967 93971 93979 93983 93997 94007 94009 94033 94049 94057 94063 94079 94099 94109 94111 94117 94121 94151 94153 94169 94201 94207 94219 94229 94253 94261 94273 94291 94307 94309 94321 94327 94331 94343 94349 94351 94379 94397 94399 94421 94427 94433 94439 94441 94447 94463 94477 94483 94513 94529 94531 94541 94543 94547 94559 94561 94573 94583 94597 94603 94613 94621 94649 94651 94687 94693 94709 94723 94727 94747 94771 94777 94781 94789 94793 94811 94819 94823 94837 94841 94847 94849 94873 94889 94903 94907 94933 94949 94951 94961 94993 94999 95003 95009 95021 95027 95063 95071 95083 95087 95089 95093 95101 95107 95111 95131 95143 95153 95177 95189 95191 95203 95213 95219 95231 95233 95239 95257 95261 95267 95273 95279 95287 95311 95317 95327 95339 95369 95383 95393 95401 95413 95419 95429 95441 95443 95461 95467 95471 95479 95483 95507 95527 95531 95539 95549 95561 95569 95581 95597 95603 95617 95621 95629 95633 95651 95701 95707 95713 95717 95723 95731 95737 95747 95773 95783 95789 95791 95801 95803 95813 95819 95857 95869 95873 95881 95891 95911 95917 95923 95929 95947 95957 95959 95971 95987 95989 96001 96013 96017 96043 96053 96059 96079 96097 96137 96149 96157 96167 96179 96181 96199 96211 96221 96223 96233 96259 96263 96269 96281 96289 96293 96323 96329 96331 96337 96353 96377 96401 96419 96431 96443 96451 96457 96461 96469 96479 96487 96493 96497 96517 96527 96553 96557 96581 96587 96589 96601 96643 96661 96667 96671 96697 96703 96731 96737 96739 96749 96757 96763 96769 96779 96787 96797 96799 96821 96823 96827 96847 96851 96857 96893 96907 96911 96931 96953 96959 96973 96979 96989 96997 97001 97003 97007 97021 97039 97073 97081 97103 97117 97127 97151 97157 97159 97169 97171 97177 97187 97213 97231 97241 97259 97283 97301 97303 97327 97367 97369 97373 97379 97381 97387 97397 97423 97429 97441 97453 97459 97463 97499 97501 97511 97523 97547 97549 97553 97561 97571 97577 97579 97583 97607 97609 97613 97649 97651 97673 97687 97711 97729 97771 97777 97787 97789 97813 97829 97841 97843 97847 97849 97859 97861 97871 97879 97883 97919 97927 97931 97943 97961 97967 97973 97987 98009 98011 98017 98041 98047 98057 98081 98101 98123 98129 98143 98179 98207 98213 98221 98227 98251 98257 98269 98297 98299 98317 98321 98323 98327 98347 98369 98377 98387 98389 98407 98411 98419 98429 98443 98453 98459 98467 98473 98479 98491 98507 98519 98533 98543 98561 98563 98573 98597 98621 98627 98639 98641 98663 98669 98689 98711 98713 98717 98729 98731 98737 98773 98779 98801 98807 98809 98837 98849 98867 98869 98873 98887 98893 98897 98899 98909 98911 98927 98929 98939 98947 98953 98963 98981 98993 98999 99013 99017 99023 99041 99053 99079 99083 99089 99103 99109 99119 99131 99133 99137 99139 99149 99173 99181 99191 99223 99233 99241 99251 99257 99259 99277 99289 99317 99347 99349 99367 99371 99377 99391 99397 99401 99409 99431 99439 99469 99487 99497 99523 99527 99529 99551 99559 99563 99571 99577 99581 99607 99611 99623 99643 99661 99667 99679 99689 99707 99709 99713 99719 99721 99733 99761 99767 99787 99793 99809 99817 99823 99829 99833 99839 99859 99871 99877 99881 99901 99907 99923 99929 99961 99971 99989 99991 100003 100019 100043 100049 100057 100069 100103 100109 100129 100151 100153 100169 100183 100189 100193 100207 100213 100237 100267 100271 100279 100291 100297 100313 100333 100343 100357 100361 100363 100379 100391 100393 100403 100411 100417 100447 100459 100469 100483 100493 100501 100511 100517 100519 100523 100537 100547 100549 100559 100591 100609 100613 100621 100649 100669 100673 100693 100699 100703 100733 100741 100747 100769 100787 100799 100801 100811 100823 100829 100847 100853 100907 100913 100927 100931 100937 100943 100957 100981 100987 100999 101009 101021 101027 101051 101063 101081 101089 101107 101111 101113 101117 101119 101141 101149 101159 101161 101173 101183 101197
datacommunicatie: RSA
55
Carl Reinehr
101203 101323 101419 101527 101627 101741 101863 101963 102059 102149 102241 102359 102497 102587 102679 102859 102983 103093 103289 103399 103549 103643 103787 103913 103997 104107 104207 104323 104471 104561 104683
101207 101333 101429 101531 101641 101747 101869 101977 102061 102161 102251 102367 102499 102593 102701 102871 103001 103099 103291 103409 103553 103651 103801 103919 104003 104113 104231 104327 104473 104579 104693
101209 101341 101449 101533 101653 101749 101873 101987 102071 102181 102253 102397 102503 102607 102761 102877 103007 103123 103307 103421 103561 103657 103811 103951 104009 104119 104233 104347 104479 104593 104701
datacommunicatie: RSA
101221 101347 101467 101537 101663 101771 101879 101999 102077 102191 102259 102407 102523 102611 102763 102881 103043 103141 103319 103423 103567 103669 103813 103963 104021 104123 104239 104369 104491 104597 104707
101267 101359 101477 101561 101681 101789 101891 102001 102079 102197 102293 102409 102533 102643 102769 102911 103049 103171 103333 103451 103573 103681 103837 103967 104033 104147 104243 104381 104513 104623 104711
101273 101363 101483 101573 101693 101797 101917 102013 102101 102199 102299 102433 102539 102647 102793 102913 103067 103177 103349 103457 103577 103687 103841 103969 104047 104149 104281 104383 104527 104639 104717
56
101279 101377 101489 101581 101701 101807 101921 102019 102103 102203 102301 102437 102547 102653 102797 102929 103069 103183 103357 103471 103583 103699 103843 103979 104053 104161 104287 104393 104537 104651 104723
101281 101383 101501 101599 101719 101833 101929 102023 102107 102217 102317 102451 102551 102667 102811 102931 103079 103217 103387 103483 103591 103703 103867 103981 104059 104173 104297 104399 104543 104659 104729
101287 101399 101503 101603 101723 101837 101939 102031 102121 102229 102329 102461 102559 102673 102829 102953 103087 103231 103391 103511 103613 103723 103889 103991 104087 104179 104309 104417 104549 104677
101293 101411 101513 101611 101737 101839 101957 102043 102139 102233 102337 102481 102563 102677 102841 102967 103091 103237 103393 103529 103619 103769 103903 103993 104089 104183 104311 104459 104551 104681
Carl Reinehr