Les 10 Diffie, Hellman en Merkle
Inhoud van les 10: Diffie, Hellman en Merkle
10.1 Diffie, Hellman en Merkle en het sleuteldistributiesysteem
10.2 Sokken en schoenen
10.3 Sokken en schoenen in de wiskunde
10.4 De eenwegfunctie modulo(m)
10.5 Het algoritme van Diffie, Hellman en Merkle
10.6 Alice en Bob en Excel
10.7 Man in the Middle
10.1 Diffie, Hellman en Merkle en het sleuteldistributiesysteem
Lees eerst wikipedia Whitfield Diffie.
Whitfield Diffie is nu Chief Security Officer bij Sun Microsystems. Hij studeerde aan het MIT in Massachusetts en interesseerde zich vooral in het probleem van de sleuteldistributie. In 1969 ontstond het Advanced Research Projects Agency netwerk (ARPANET), bedoeld om militaire netwerken met elkaar te verbinden. Ook wetenschappelijke instituten, universiteiten, werden erop aangesloten en in 1982 evolueerde het netwerk tot het tegenwoordige internet. Diffie voorzag dat het netwerk zich uit zou breidden en dat de behoefte aan veilige communicatie steeds groter zou worden. Hij was zich bewust van het probleem van de sleuteldistributie en probeerde daar een oplossing voor te bedenken.
Ook Martin Hellman, hoogleraar aan de Stanford University in Californië tot 1996, hield zich met dit probleem bezig en toen Whitfield Diffie daarvan hoorde besloot hij Hellman op te zoeken. Samen sloten ze een verbond om het distributieprobleem op te lossen. Na enige tijd sloot ook Ralph Merklezich aan bij het duo. Hieronder zie je een afbeelding van dit drietal, dat zou zorgen voor een revolutie in de cryptografie.
Om beter zicht te krijgen op het sleuteldistributieprobleem introduceren we Alice, Bob en Eve. Zij worden in de literatuur over cryptografie steeds als voorbeeld gekozen bij het uitwisselen van berichten. Alice stuurt Bob een vercijferd bericht, maar staat steeds voor het probleem dat ze ervoor moet zorgen dat Bob de sleutel krijgt voor de ontcijfering van het bericht. Eve is de persoon die de communicatie tussen Alice en Bob af probeert te luisteren (in het Engels betekent 'evedropping' afluisteren).
Om veilig te kunnen communiceren zouden ze af en toe bij elkaar kunnen komen om sleutels uit te wisselen. In lang niet alle gevallen is dat echter een praktische oplossing. Ze zouden een koerier in kunnen huren om de sleutels te laten brengen, maar dat is duur en wellicht niet zo veilig. Er moest een manier te bedenken zijn om sleutels uit te wisselen zonder dat daar iemand tussen kon komen.
10.2 Sokken en schoenen
Diffie, Hellman en Merkle bedachten de volgende metafoor om zich de oplossing voor het sleuteldistributieprobleem voor te stellen. Het veilig overbrengen van de sleutel zou zo kunnen gaan:
Alice stopt haar boodschap in een schatkistje, hangt daar een hangslot omheen en stuurt het naar Bob.
Bob hangt zijn eigen hangslot om het schatkistje en stuurt het terug naar Alice.
Alice verwijdert haar eigen slot en stuurt het opnieuw aan Bob.
Bob haalt zijn eigen slot van het schatkistje en kan nu de boodschap in ontvangst nemen.
Het distributieprobleem lijkt opgelost en onderweg heeft Eve kans gehad het kistje te bekijken, maar niet om het kistje te openen. Het trio toog aan het werk om volgens dit principe een oplossing te vinden voor het distributieprobleem. Ze stuitten echter op het hardnekkige probleem dat de volgorde van encrypten en decrypten in de regel vastligt. Dat wat het laatst wordt uitgevoerd moet het eerst ongedaan gemaakt worden. Het was zoeken naar een manier om eerst je sokken uit te trekken en daarna je schoenen en het leek een hopeloze zoektocht te gaan worden. Denk aan een eenvoudige functie in de wiskunde waarvan de structuur hiernaast is afgebeeld: kies een getal, vermenigvuldig het met 5 en trek er 10 vanaf. De uitkomt is 20, welk getal is er gekozen? Om antwoord te vinden op de vraag tel je eerst het getal 10 weer op en het antwoord deel je door 5: het antwoord is 6. Eerst delen door 5 en daarna verminderen met 10 levert het verkeerde antwoord, namelijk 20/5+10= 14. Zie ook de reflectieopgave.
In het voorbeeld van de schatkist van Alice en Bob vermenigvuldigt Alice ieder getal in de klare tekst met 5 en stuurt het naar Bob. Bob trekt van ieder getal 10 af en stuurt het weer terug. Alice deelt alles door 5 en stuurt het weer naar Bob. Bob telt er overal 10 bij op en krijgt ...
Reflectie
Neem het genoemde voorbeeld:
Alice wil het woord "hallo" versturen naar Bob. Daartoe zet ze eerst de letters om in ASCII-code. Vervolgens vermenigvuldigt ze de code met 5 en stuurt het naar Bob. Bob trekt er 10 vanaf en stuurt het terug. Alice deelt door 5 en stuurt het weer naar Bob. Bob telt er weer 10 bij op en zet de code om in tekens.
Maak gebruik van een werkblad zoals Excel om na te gaan dat de ontsleutelde tekst niet de tekst is die Alice had willen sturen.
TIP: Excel kent de functies CODE(tekst) en TEKEN(getal) waarmee je de bewerkingen snel en eenvoudig kunt uitvoeren. Het zet de letters van het klare alfabet om naar de waarden in de ASCII-tabel en vice versa.
Klik hier
10.3 Sokken en schoenen in de wiskunde
De oplossing zou echter gevonden worden volgens dezelfde wiskundige principes. Een eenvoudig voorbeeld vinden we in de volgorde van optellen en aftrekken, zoals een eenvoudig getallenvoorbeeld laat zien. De uitkomst is onafhankelijk van de volgorde waarin we de bewerkingen uitvoeren. Neem een getal in gedachten, tel er 6 bij op, trek er 8 vanaf, tel er -3 bij op en trek er -2 vanaf: de uitkomst is 22. Om er achter te komen welk getal we in gedachten namen moeten we in de een of andere volgorde de 6 en de -3 er weer vanaf trekken en de 8 en -2 er weer bij optellen. In alle gevallen is de uitkomst hetzelfde: 25
De enige encryptiemethode die gebruik maakt van 'optellen en aftrekken' is het schuifsysteem van de Caesar-encryptie. Het tweemaal verschuiven van een tekst was echter niet de opossing waarop het trio direct zat te wachten. Hetzelfde is echter ook te bereiken met iets ingewikkelder functies zoals het vermenigvuldigen en delen en zoals het machtsverheffen en worteltrekken wanneer je het beperkt tot positieve getallen.
Opgave 1
Bedenk een getallenvoorbeeld waarmee je laat zien dat de volgorde van de bewerkingen bij vermenigvuldigen en delen niet van belang is voor het antwoord en gebruik dit om een eenvoudige boodschap uit te wisselen. Maak gebruik van een werkblad zoals Excel waarmee je de bewerkingen snel eenvoudig kunt uitvoeren. Lees voor het gebruik van het werkblad de reflectie hiervoor.
In het voorbeeld wat we gekozen hebben op de antwoordpagina van les 10, zien we dat er tussen Alice en Bob de volgende berichten heen en weer gestuurd worden:
Alice |
3640 |
3395 |
3780 |
3780 |
3885 |
3430 |
4095 |
4095 |
3990 |
4130 |
3990 |
3885 |
4095 |
4165 |
Bob |
152880 |
142590 |
158760 |
158760 |
163170 |
144060 |
171990 |
171990 |
167580 |
173460 |
167580 |
163170 |
171990 |
174930 |
Alice |
4368 |
4074 |
4536 |
4536 |
4662 |
4116 |
4914 |
4914 |
4788 |
4956 |
4788 |
4662 |
4914 |
4998 |
Opgave 2
Eve is er in geslaagd het berichtenverkeer af te luisteren tussen Alice en Bob. Hoe moeilijk is het nu voor Eve om de code te kraken? Probeer het zelf eens uit.
Uit de berekeningen van opgave 2 volgt wel dat de encryptiemethode die we daar bedacht hebben niet zo geweldig is. Ook herhaald machtsverheffen is verwisselbaar maar leidt niet tot een beter resultaat. Het enige wat je hiermee bereikt is dat de getallen snel groter worden, maar hier heeft een computer niet veel last van. Zie het rekenvoorbeeld hieronder waarin we de getallen eerst verheffen tot de vijfde macht en daarna tot de derde macht. Vervolgens nemen we in dezelfde volgorde (!) eerst de vijfdemachts wortel en daarna de derdemachts wortel. In de eerste kolom doen we dit met het getal 2 als eenvoudig rekenvoorbeeld:
|
h |
a |
l |
l |
o |
b |
2 |
104 |
97 |
108 |
108 |
111 |
98 |
2^5=32 |
12166529024 |
8587340257 |
14693280768 |
14693280768 |
16850581551 |
9039207968 |
32^3=32768 |
1,80094E+30 |
6,33251E+29 |
3,17217E+30 |
3,17217E+30 |
4,78459E+30 |
7,38569E+29 |
32768^(1/5)=8 |
1124864 |
912673 |
1259712 |
1259712 |
1367631 |
941192 |
8^(1/3)=2 |
104 |
97 |
108 |
108 |
111 |
98 |
u |
u |
r |
117 |
117 |
114 |
21924480357 |
21924480357 |
19254145824 |
1,05387E+31 |
1,05387E+31 |
7,13794E+30 |
1601613 |
1601613 |
1481544 |
117 |
117 |
114 |
De conclusie uit deze opdracht moet zijn dat het mogelijk is om de volgorde van inpakken en uitpakken te verwisselen zolang de bewerkingen gelijkwaardig zijn, zoals optellen en aftrekken of vermenigvuldigen en delen of machtsverheffen en worteltrekken ...
10.4 De eenwegfunctie modulo(m)
Wat bovenstaande berekeningen allemaal gemeen hebben is, dat het voor Eve niet zo moeilijk is te bedenken wat Alice en Bob voor sleutels gebruiken als ze de berichten allemaal kan afluisteren. Alice en Bob gebruiken zogenaamde tweewegfuncties, die makkelijk omkeerbaar zijn. Waar het trio naar op zoek ging was een eenwegfunctie. Dit soort functies wordt ook wel Humpty Dumpty functies genoemd, vernoemd naar een beroemd Engels rijmpje waarin Humpty Dumpty onherstelbaar in duigen valt en niemand in staat is om Humpty Dumpty weer in elkaar te zetten. Een ander voorbeeld van een eenwegfunctie is het mengen van verschillende kleuren vla. Als je de ene vla en de andere door elkaar roert zal het je nooit meer lukken de soorten nog uit elkaar te halen.
Het grootste probleem dat de cryptograaf parten speelt bij tweewegfuncties is, dat het origineel redelijk voorspelbaar is als je de functie kent en de uitkomst kunt zien. Ook voor functies die niet zo gemakkelijk om te keren zijn is dat zo. Als we bijvoorbeeld weten dat we met de functie f(x)=5x te maken hebben en we hebben het getal 51 als antwoord, dan kunnen we door te proberen er al snel achter komen dat het getal x tussen de 2 en de 3 moet liggen omdat 52=25 en 53=125 en 51 tussen die grenzen in ligt. Ook is te berekenen dat 52.446 en 52.556 is. Door verder te proberen worden we gestuurd in de richting van het getal 2,443 wat een aardige benadering is van x. Met een computer is het zeer eenvoudig om het getal x zeer nauwkeurig te benaderen.
Dit wordt echter in een klap verstoord door een functie die we al gezien hebben in les 1 bij de Caesar-encryptie en in les 2 bij de affiene versleuteling. Bij de Caesar-encryptie schoven alle letters 3 plaatsen op in het alfabet, maar de Z schoof door naar de C, de Y naar de B en de X naar de A. Zoals op een schijf draait alles drie plaatsen verder. Bij de affiene versleuteling hebben we geleerd modulo 26 te rekenen. Letters werden eerst omgezet in getallen van 0 t/m 25 en daarna werd er een functie zoals E(5,6)(x)=REST((5x+6):26) op losgelaten. Ieder getal werd met 5 vermenigvuldigd en vervolgens werd er 6 bij opgeteld, maar daarna werd de uitkomst teruggebracht tot een getal van 0 t/m 25 door de REST-functie.
In de volgende tabel zien we nog eens wat dit doet met de getallen van 0 t/m 25:
GETAL |
0 |
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 |
GETAL*5+6 |
6 |
11 |
16 |
21 |
26 |
31 |
36 |
41 |
46 |
51 |
56 |
61 |
66 |
71 |
76 |
81 |
86 |
91 |
96 |
101 |
106 |
111 |
116 |
121 |
126 |
131 |
REST(GETAL*5+6;26) |
6 |
11 |
16 |
21 |
0 |
5 |
10 |
15 |
20 |
25 |
4 |
9 |
14 |
19 |
24 |
3 |
8 |
13 |
18 |
23 |
2 |
7 |
12 |
17 |
22 |
1 |
We noemen de REST-functie de modulofunctie of klokfunctie. We zien dat het de volgorde van de getallen door elkaar schudt waardoor het een stuk lastiger wordt om terug te rekenen. Stel dat je het getal 3 onderschept terwijl je de functie kent. Het enige dat goed werkt is bovenstaande tabel op te stellen en op te zoeken waar het getal 3 de uitkomst is. Blijkbaar is het origineel 15, maar uitrekenen is lastig. Trek er 6 vanaf en dan? Als we de klok terugdraaien krijgen we 3-6=23(mod26), maar 23 is niet deelbaar door 5. Blijkbaar moeten we nog meer rondjes terug (namelijk nóg 2 om het getal 23+2*26=75 te vinden ) voordat we een getal vinden, dat deelbaar is door 5. We vinden 75/5=15.
Het zou nog veel erger zijn als we de sleutelfunctie niet kenden en alleen het getal 3 zouden onderscheppen. Het is onmogelijk om alle modulofuncties af te gaan omdat er daar oneindig veel van zijn. We zouden in bovenstaande geval dan weer terug moeten vallen op de frequentienanalyse.
In les 2 hebben we een aantal opgaven uitgevoerd met een berekening modulo 26. De gebruikte notatie voor het rekenen modulo 26 is (mod26)
Opgave 3
Bereken:
a. 235(mod35)
b. 402(mod51)
c. 75(mod18)
Als we kijken naar een eenvoudige modulo-functie zoals 5x (mod 7), dan geven de uitkomsten ons geen enkele aanwijzing voor het vinden van x. In onderstaande tabel wordt dat duidelijk.
x |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
5x(mod7) |
5 |
4 |
6 |
2 |
3 |
1 |
5 |
4 |
6 |
2 |
3 |
1 |
De getallen lijken in willekeurige volgorde om beurten hoger en lager te zijn en bovendien herhalen ze zich.
Je kunt je voorstellen dat het bijna ondoenlijk is om uit te vinden wat x zou zijn als 5787 de uitkomst zou zijn van de berekening 453x(mod 21997). De enige mogelijkheid is het opstellen van een tabel van de functie f(x)=453x.
In onderstaande tabel is te zien dat in een poging om dit te doen Excel het bij x=5 al opgeeft. We zullen dus over een goed computerprogramma moeten beschikken om de tabel te kunnen maken.
x |
0 |
1 |
2 |
3 |
4 |
5 |
453x |
1 |
453 |
205209 |
92959677 |
42110733681 |
1,90762*1013 |
REST(453x;21997) |
1 |
453 |
7236 |
355 |
6836 |
#GETAL! |
Hiermee hebben we een eenwegfunctie gevonden die zo goed als niet omkeerbaar is én de eigenschap heeft dat de volgorde van de bewerkingen niet uitmaakt. De waarden van de functie 453xvoor hele waarden van x liggen zóver uiteen dat al bij x=2 de modulo-functie zijn werk doet.
10.5 Het algoritme van Diffie, Hellman en Merkle
Het was uiteindelijk Hellman die op het idee kwam om dit soort functies te gebruiken als eenwegfunctie. Om het een en ander duidelijk te maken beperken we ons tot voorbeelden met kleine getallen. In werkelijkheid gebruikte het trio grote getallen, waardoor het ondoenlijk werd om bij die getallen een tabel op te stellen.
Alice en Bob spreken over de telefoonlijn de getallen 43 en 79 af en bouwen daarmee hun eigen sleutelfabriek:
f(x)=43xmod(79)
We zullen in een later stadium zien dat eigenlijk elk tweetal getallen goed is zolang het grondtal (43 in dit voorbeeld) maar kleiner is dan de deler (in dit voorbeeld 79) en de deler maar een priemgetal is. Priemgetallen zijn getallen die niet te ontbinden zijn in factoren en dus alleen maar deelbaar zijn door 1 en door zichzelf.
Het gaat nu verder als volgt:
Alice kiest een getal onder de 79 en noemt dit a |
Bob kiest een getal onder de 79 en noemt dit b |
Alice berekent 43a=c en stuurt de uitkomst cnaar Bob |
Bob berekent 43b=d en stuurt de uitkomst d naar Alice |
Alice berekent da |
Bob berekent cb |
Het lijkt allemaal niet zo voor de hand liggend maar als we de waarden van c en d substitueren dan vinden we
da=(43b)a en cb=(43a)b
Reflectie
Het is een van de rekenregels die bekend verondersteld wordt in de wiskundelessen, die zegt dat
(ab)c = abc = (ac)b
Licht deze regel toe met een eenvoudig getallenvoorbeeld.
klik hier
De tabel van Alice en Bob laat zien dat Alice en Bob over hetzelfde getal beschikken, namelijk 43ab.
We bekijken het voorbeeld nogmaals maar nu met gekozen waarden voor a en b.
Alice kiest een getal onder de 79 en kiest 7 |
Bob kiest een getal onder de 79 en kiest 11 |
Alice berekent 437 en stuurt het naar Bob |
Bob berekent 4311 en stuurt het naar Alice |
Alice berekent (4311)7=4377 |
Bob berekent (437)11 = 4377 |
Alice en Bob beschikken nu over hetzelfde getal: 4377
Eve luistert voortdurend mee met Alice en Bob. Als de bovenstaande uitwisseling echt plaatsvindt zoals hierboven dan zal het Alice en Bob weinig voordeel opleveren. Als Eve het grondtal 43 kent kan ze eenvoudig berekenen dat Alice het getal 7 gekozen heeft en Bob het getal 11 door de machten van 43 na te lopen. Bovendien worden de getallen 437, 4311 en 4377 een beetje bezwaarlijk. 437 is bijvoorbeeld al gelijk aan 271.818.611.107 en 4311 is al gelijk aan 929.293.739.471.223.000.
Maar, ... als Alice en Bob de (mod 79)-functie gebruiken bij het doorsturen van hun getallen dan blijven de getallen kleiner dan 79 en bovendien worden de getallen voor Eve onherkenbaar:
Alice kiest een getal onder de 79 en kiest 7 |
Bob kiest een getal onder de 79 en kiest 11 |
Alice berekent 437(mod 79)=59 en stuurt het naar Bob |
Bob berekent 4311=60 en stuurt het naar Alice |
Alice berekent 607(mod 79)=68 |
Bob berekent 5911(mod 79)=68 |
Conclusie:
Alice en Bob beschikken nu allebei over het geheime getal 68. En Eve? Eve ziet de getallen 59 en 60 passeren. Als ze de afspraak van Alice en Bob kent kan ze een tabel maken van alle machten van43(mod 79) . Voor grondtal 43 en modus 79 is dat nog te doen, want de berekening die het filmpje en de afbeelding van het Excel-werkblad op de volgende pagina laten zien kan Eve ook maken. Doe je dit met een modus van tenminste 300 cijfers en de geheime waarden voor a en b van tenminste 100 cijfers dan is het wel mogelijk voor Alice en Bob om de enkele uitkomsten te berekenen die ze nodig hebben, maar voor Eve is het onmogelijk de complete tabel op te stellen en langs te lopen tot ze de juiste waarden heeft gevonden al had ze de rekenkracht van alle computers ter wereld tot haar beschikking. Opmerkelijk is dat het grondtal helemaal geen groot getal maar bijvoorbeeld 2 of 5 zou kunnen zijn. In les 14 op de subpagina Euler en Fermat krijg je een idee hoe je met de stellingen van Euler en Fermat machten met grote exponenten kunt berekenen. Zie hiervoor de Stelling van Euler.
10.6 Alice en Bob en Excel
Voorlopig beperken we ons tot het eenvoudige voorbeeld. In de onderstaande tabel is te zien hoe met een rekenblad zoals Excel de waarden van de (mod 79)-functie op de machten van 43 berekend kunnen worden: In de eerste kolom begin je met het getal 43 (zie veld A3). In de volgende rijen vermenigvuldig je de uitkomst van het veld erboven met 43(mod79). De berekeningen in kolom B, D en E zijn analoog aan die in kolom A.
Zie ook de toelichting in bijgaand filmpje.
Opgave 4
Bekijk als je wilt eerst bovenstaand filmpje en bereken met een rekenblad het geheime getal van Alice en Bob. Noteer ook de getallen die Eve ziet passeren en vul de onderstaande tabel in:
grondtal |
deler |
Alice kiest |
Alice verstuurt naar Bob |
Bob kiest |
Bob verstuurt naar Alice |
Het geheime getal |
43 |
79 |
7 |
59 |
11 |
60 |
68 |
17 |
127 |
10 |
|
6 |
|
|
85 |
211 |
12 |
|
13 |
|
|
64 |
149 |
18 |
|
22 |
|
|
Diffie, Hellman en Merkle demonsteerden hun vondst op de nationale computerconferentie in juni 1976. Het jaar erna vroegen ze er patent op aan. Dankzij hun ontdekking zijn Alice en Bob nu in staat om zonder veel moeite met elkaar een geheim getal af te spreken waar Eve enorm veel moeite moet doen om de sleutel te breken. Merk op dat de sleutel nog altijd een symmetrische sleutel is maar dat het sleuteldistributieprobleem er wel mee opgelost is. Alleen als Alice en Bob het grondtal en de deler geheim willen houden is er een noodzaak om deze met elkaar uit te wisselen, maar in feite is dat niet echt nodig zolang ze het grondtal g en de deler d maar groot kiezen zodat Eve niet in staat is een tabel van alle machten van g(mod d) op te stellen.
10.7 Man in the Middle
Hiermee lijken de problemen voor Alice en Bob voorlopig opgelost. Eve zint echter op een tegenzet en bedenkt het volgende: ze luistert alle gesprekken van Alice en Bob af en ze kent dus het grondtal aen de deler d. Zodra Alice haar getal naar Bob verstuurt vangt Eve het getal af en stuurt een eigen gekozen waarde naar Alice terug. Zodra Bob zijn getal verstuurt naar Alice vangt Eve het getal af en stuurt een eigen gekozen waarde naar Bob terug. Alice denkt nu dat ze een geheime sleutel heeft met Bob maar in feite heeft ze een geheime sleutel met Eve. Hetzelfde geldt voor Bob. Als Alice en Bob nu hun geheimen uit gaan wisselen zit Eve daar triomfantelijk tussen. Het enige wat ze hoeft te doen is de boodschap van Alice te decrypten met de sleutel die ze met Alice heeft afgesproken en opnieuw te encrypten met de sleutel die ze met Bob heeft afgesproken. Het antwoord van Bob moet ze evenzo decrypten met de sleutel die ze met Bob heeft afgesproken en opnieuw encrypten met de sleutel die ze met Alice heeft afgesproken.
Onderstaande tabel illustreert dit voor een eenvoudig getallenvoorbeeld.
Alice en Bob spreken af a=14 en b=23.
Alice kiest het getal 6 en Bob kiest het getal 5. Eve kiest het getal 4, zowel voor het geheime getal met Alice als met Bob.
Eve vangt het bericht 3 van Alice af en stuurt een 6 door naar Bob. Bob stuurt het getal 15 naar Alice, maar Eve vangt dit af en stuurt het getal 6 door naar Alice.
Alice en Eve berekenen het geheime getal 12, Bob en Eve berekenen het geheime getal 2. Zonder dat Alice en Bob er iets van merken zijn ze door Eve gefopt. Hoe gevaarlijk het is als Alice en Bob denken een veilige sleutel te hebben, hebben we gezien in het geval van Mary Stuart!
De manier waarop Eve tussen de communicatie van Alice en Bob kruipt wordt "man in the middle" genoemd en is in het tegenwoordige berichtenverkeer een serieuze bedreiging. Alice en Bob hebben nu opnieuw een probleem: hoe kan Alice zeker weten dat ze de boodschap van Bob ontvangt en hoe kan Bob weten dat de boodschap van Alice afkomstig is? In les 14 zullen we een manier vinden om ook dit probleem weer op te lossen met een digitale handtekening.