Sinds mensenheugenis versturen mensen berichten naar elkaar. Soms is het belangrijk dat de inhoud van het bericht niet door derden gelezen wordt. In het verleden had die geheimhouding meestal betrekking op staatszaken. Koningen en generaals vertrouwden op efficiënte communicatie om hun rijk en land te regeren en hun legers te commanderen. Om te voorkomen dat vijandige partijen berichten konden lezen, werden ze gecodeerd. Vandaag de dag is door de mogelijkheden die het internet biedt steeds meer behoefte aan de beveiliging van berichten, denk bijvoorbeeld aan bankieren via het internet.
In deze module wordt de cryptografie in drie fasen behandeld. De oudste vorm van cryptografie is de klassieke cryptografie waarbij berichten handmatig versleuteld worden. Bij de mechanische cryptografie wordt bij het versleutelen gebruik gemaakt van apparaten. Tenslotte is er de digitale cryptografie, waarbij het bericht met behulp van computers versleuteld wordt.
Leerdoelen
Na verwerking van deze module:
weet je wat steganografie is en kun je daar enkele voorbeelden van geven;
weet je wat cryptografie is;
weet je het verschil tussen cijfer en code;
weet je wat een transpositiecijfer en een substitutiecijfer is;
kun je de Caesarversleuteling uitleggen en toepassen;
kun je uitleggen dat Caesarversleuteling een vorm van modulorekening in zich heeft;
kun je de verbeterde versie van de Caesarversleuteling uitleggen en toepassen;
kun je frequentieanalyse uitleggen en toepassen;
weet je het verschil tussen monoalfabetische substitutie en polyalfabetische substitutie;
kun je de versleuteling van de Vigenère uitleggen en toepassen;
kun je de ontcijferingsmethode van de Babbage uitleggen en toepassen;
weet je voorbeelden van mechanische encryptie;
kun je het verband tussen nieuwe communicatiemiddelen en cryptografie uitleggen;
weet je voorbeelden van cryptografie uit de Eerste Wereldoorlog;
kun je de werking van de Enigma uitleggen;
kun je uitleggen hoe de Enigma gekraakt werd.
weet je de verschillen tussen traditionele cryptografie en digitale cryptografie;
kun je een XOR-versleuteling uitleggen en toepassen;
kun je DES uitleggen en aangeven waar de zwakte in zit;
weet je waarom AES een beter algoritme is dan DES;
weet je het verschil tussen symmetrische en asymmetrische cryptografie;
weet je hoe Diffie en Helmann het probleem van de sleuteldistributie oplosten;
weet je wat public key cryptografie inhoudt;
kun je het RSA-algoritme uitleggen;
weet je waarom RSA een populair algoritme is;
weet je hoe PGP is ontstaan;
kun je uitleggen hoe het PGP-algoritme werkt;
kun je uitleggen hoe de man-in-the-middle-attack-werkt;
weet je het verschil tussen een encryptiefunctie en een hashfunctie;
kun je toepassingen van hashfuncties noemen.
Zo werkt het
Je bent begonnen in de module cryptografie. Deze module bestaat uit meerdere onderdelen. In ieder onderdeel vind je, verdeeld over verschillende pagina's, informatie in de vorm van teksten, afbeeldingen en video's.
Daarnaast ga je zelf aan de slag. Onder het kopje "Aan de slag" vind je steeds toepassingsopdrachten. Deze opdrachten maak je alleen of met een klasgenoot.
Er zijn ook toetsen. Deze herken je aan de blauwe knop met daarop "Adaptieve Toets".
Een toets bestaat uit meerdere vragen. Dat kunnen gesloten vragen zijn, die door de computer worden nagekeken, of open vragen, die moet je zelf nakijken.
Bij een enkele vraag moet je een bestand uploaden.
Van de toetsen wordt, als je ingelogd bent, de voortgang bijgehouden.
Het resultaat vind je onder de knop "Voortgang". Deze voortgang is ook door je docent te bekijken.
Voor deze module maken leerlingen gebruik van het simulatieprogramma Enigma simulator. Klik op de links om het programma en de handleiding te downloaden.
De geschiedenis van het verbergen van berichten is al duizenden jaren oud. De Grieken maakten gebruik van met was bedekte houten planken om een bericht te schrijven. Het voordeel was dat deze schrijftabletten opnieuw gebruikt konden worden.
De Griekse schrijver Herodotus vertelt hoe Demeratos de Spartanen voor een aanval van de Perzische koning Xerxes wilde waarschuwen. Hij schraapte de was van de houten schrijftabletten en schreef het bericht over de aanvalsplannen van Xerxes rechtstreeks op het hout. Daarna liet hij er weer een gesmolten waslaag overheen lopen, waardoor de boodschap niet te lezen was.
Deze vorm van geheimschrift wordt steganografie genoemd, het verbergen van een bericht. Het begrip is afgeleid is van steganos en graphein. Steganos betekent ‘verborgen’ en graphein ‘schrijven’.
Een bekende vorm van steganografie is een bericht met onzichtbare inkt schrijven naast een onbeduidende tekst met zichtbare inkt. Dit gebeurt niet alleen in detectives, maar werd tot aan de Tweede Wereldoorlog veelvuldig gebruikt.
In 1941 onderschepte de Amerikaanse geheime dienst een brief van de Duitse ambassadeur naar Duitsland. Na een nauwgezette inspectie bleek een punt op de enveloppe in werkelijkheid een microfilm te zijn die belangrijke informatie bevatte. Het was de Duitse geheime dienst gelukt om een A4-tje volledig leesbaar te verkleinen tot een punt.
Een moderne toepassing van steganografie zijn de markeringen in de vorm van “gele puntjes” op een print. Met het blote oog zijn ze nauwelijks waar te nemen. Ze bevatten de informatie over de datum, de tijd en het serienummer van de printer waarmee geprint is. Fabrikanten van printers passen deze techniek toe op verzoek van overheden om te kunnen achterhalen waar een print vandaan komt.
Steganografie is door de eeuwen heen gebruikt als een methode om de informatie te verbergen in een ogenschijnlijk onbelangrijk bericht. Het grote voordeel van steganografie is dat het bestaan van het geheime bericht verborgen is. Anderen weten niet van het bestaan. Het nadeel is dat de ontvanger vooraf geïnformeerd moet worden over het bestaan van geheime berichten en op welke wijze zij verborgen zijn. Als deze informatie bekend wordt dan is de bericht eenvoudig te lezen. Om dit te voorkomen worden steganografische methode gecombineerd met versleutelingstechnieken.
★ Aan de slag 1
De onderstaande Engelse tekst in telegramstijl werd door een Duitse spion tijdens de Tweede Wereldoorlog verstuurd:
“Apparently neutral's protest is thoroughly discounted and ignored. Isman hard hit. Blockade issue affectes pretext for embargo on by-products, ejectig suets and vegetable oils.”
“Ogenschijnlijk worden neutrale protesten met de nodige voorzichtigheid verdisconteerd en genegeerd. Isman zwaar getroffen. Blokkade wordt gebruikt als voorwendsel voor embargo van bijprodukten uitgesloten talg en plantaardige oliën.”
De tweede letter in de opvolgende woorden vormen tezamen het bericht.
Welk bericht verstuurde de Duitse spion?
Is hier sprake van steganografie of versleuteling?
Leg je antwoord uit.
★ Aan de slag 2
Bekijk het filmpje over de rap van 2Pac.
Is hier sprake van steganografie of versleuteling?
Leg je antwoord uit.
★ Aan de slag 3
Een moderne vorm van steganografie is het verbergen van een bericht in een afbeelding.
In het filmpje wordt uitgelegd hoe een bericht wordt verborgen in een afbeelding.
Bekijk het filmpje.
Om informatie te verbergen wordt gebruik gemaakt van de twee minst significante bits. Welke bits in deze reeks zijn de twee minst significante bits: 01010011?
Waarom worden de twee minst significante bits gebruikt om de boodschap op te slaan en niet de twee meest significante bits?
Aan welke voorwaarden moet worden voldaan om het bericht veilig te versturen?
Welke tekst is opgeslagen in de foto van de boom?
Cryptografie
Omdat het verbergen van berichten maar een betrekkelijke veiligheid biedt, bedacht men ook een andere methode om berichten veilig te versturen: cryptografie.
Het begrip is samengesteld uit de twee oud-Griekse woorden kruptos en graphein, die samen ‘geheim schrijven’ betekenen. Je schrijft iets, maar de betekenis van wat je schrijft is geheim, is verborgen voor iemand die niet weet welke sleutel je hebt gebruikt om het onleesbaar te maken.
In de basis werken cryptografie modellen altijd op eenzelfde manier. Het oorspronkelijke bericht, dat klare tekst wordt genoemd, wordt versleuteld. Het resultaat daarvan is een geheime tekst die je niet meer kunt lezen. Om de tekst weer te kunnen lezen moet je de geheime tekst ontcijferen. Versleuteling (vercijfering) wordt ook encryptie genoemd. Ontcijfering wordt decryptie genoemd.
De termen cijfer(schrift) en code worden vaak door elkaar gebruikt, maar in de cryptografie is er een verschil.
Met een code vervang je een woord of zinsnede door een symbool, getal of woord. De code 007 kent iedereen als de aanduiding van de Britse geheim agent James Bond. De bedoeling van de code is om de ware identiteit te verhullen.
Het cijferschrift werkt op een elementairder niveau omdat er letters mee worden vervangen. Elke letter zou je kunnen vervangen door de volgende letter in het alfabet. ‘Enigma’ wordt dan ‘Fojhnb’.
★ Aan de slag 4
Wat is het verschil tussen steganografie en cryptografie?
Wat is het verschil tussen een cijferschrift en een code?
Cryptografie - 2
Cryptografie kan verdeeld worden in twee vormen: transpositie en substitutie.
Bij transpositie worden de letters van het bericht herschikt. Een simpel voorbeeld van transpositieversleuteling is de codeermachine uit de module visueel programmeren met Java. Bij deze versleuteling worden de letters van het bericht om en om opgeschreven. De twee letterreeksen vormen tezamen het gecodeerde bericht. informatica is het leukste vak
i f r a i a i e e k t a
n o m t c s h t l u s e v k
ifraiai e ekt anomtc shtlusevk
Een van de allereerste cryptografische technieken, de scytale, is een voorbeeld van transpositieversleuteling. Rond de scytale werd heel strak een lange reep leer of perkament gewikkeld. Vervolgens werd er in de lengterichting een boodschap op geschreven. Daarna werd de reep losgemaakt en aan een bode meegegeven. De ontvanger kon het bericht lezen door de strook om een scytale met dezelfde diameter te winden.
Vrijwel alle cryptografische technieken uit de oudere geschiedenis maken gebruik van substitutie.
Dat betekent dat een tekst versleuteld wordt door de letters vervangen worden door andere.
★ Aan de slag 5
Wat is het verschil tussen transpositie- en substitutieversleuteling?
Het rozenkruisersgeheimschrift is een versleutelingsmethode waarbij de letters van de platte tekst door middel van eenvoudig te onthouden diagrammen verborgen worden. Dit geheimschrift wordt toegeschreven aan de rozenkruisers, een geheim genootschap van wijsgeren.
Op welk vorm van cryptografie is deze methode gebaseerd?
Leg je antwoord uit.
Ontcijfer de volgende code:
Caesarversleuteling
Een van de bekendste methodes om een bericht geheim te maken, is de zogenaamde Caesarversleuteling of Caesarcijfer, die op substitutie gebaseerd is. Deze techniek is vernoemd naar Julius Caesar, die deze methode gebruikte om geheime opdrachten aan zijn legerleiders door te geven.
Vrijwel iedereen kent deze methode. Je spreekt met elkaar af dat de letters van het bericht een aantal plaatsen verschoven worden in het alfabet. Spreek je af dat die verschuiving +3 letters (posities) moet zijn, dan wordt de a een d, de m een p enz.
Het zinnetje IK HOU VAN JOU wordt op die manier LN KRX YDQ MRX.
Als de ontvanger weet dat de letters van de ontvangen boodschap 3 posities verschoven zijn dan hoeft hij of zij maar 3 posities terug te schuiven om de echte boodschap te kunnen lezen.
In de video van de Khan Academy wordt dit gedemonstreerd.
Bekijk de video.
★ Aan de slag 6
Als de ontvanger van het bericht niet weet welke Caesarverschuiving nodig is, hoeveel verschuivingen moet hij of zij maximaal controleren om de oorspronkelijke tekst te vinden?
Wat wordt het geheime bericht als je de boodschap BEGRIJP JE DIT met een Caesar-versleuteling van 10 versleutelt?
Modulorekening
Een probleem bij het verschuiven van de letters in de Caesarverschuiving is het gegeven dat je op een bepaald moment bij de 26e letter terecht komt en niet verder kunt. Je hebt inmiddels begrepen dat je dan verder moet bij de eerste letter van het alfabet. Net als bij een klok komt het eerste teken na het laatste. Bij het alfabet komt de A na de Z en bij de klok de 1 na de 12 (of na de 00 als je een digitale klok neemt). Hetzelfde doe je bij het klokkijken. Als je om 11 uur 's avonds naar bed gaat en je slaapt 8 uur, dan word je om 7 uur 's morgens wakker.
Bij klokrekenen geldt: 23 + 8 = 7.
Klokrekenen is een voorbeeld van modulorekenen. Klokrekenen is rekenen modulo 24. De uitkomst kan nooit groter dan 24 zijn.
Je schrijft: z = (x + y) (mod 24)
Hierin is x is de eerste tijd, y het aantal uur dat je erbij optelt en z de te vinden tijd. Als x gelijk is aan de eerste tijd, y aan de tijd die erbij opgeteld moet worden en z is de te vinden tijd, dan maak je dit probleem als volgt in een formule zichtbaar:
z = (x + y) (mod 24)
Ook moet je weten dat mod (afkorting van modulo) betekent: de rest die je krijgt als je het gedeelte vóór mod deelt door het getal achter mod; dat getal achter mod geeft altijd het deelgetal aan.
In Java heb je als eens gezien dat dit mod aangeduid wordt als %. Daar is de expressie 24 % 7 gelijk aan: wat is de rest als je 24 door 7 deelt. We gaan er bij al deze berekeningen vanuit dat er geen gebroken getallen gebruikt worden. Normaal is 14 gedeeld door 3 gelijk aan 4,6666… maar we maken hiervan 4 rest 2. Het is overigens gewoonte om bij cryptografie die met getallen werkt, uitsluitend van gehele getallen gebruik te maken.
★ Aan de slag 7
Een paar opdrachten om aan het modulorekenen te wennen.
de uitkomst van 123 (mod 12) =
(34 x 7 + 2) (mod 7) =
als a = 12, b = 15 en c = 5 dan is de uitkomst van (a x b) (mod c):
Caesar formule
De Caesarversleuteling is op deze wijze in een formule te vangen, namelijk:
E = (x + k) (mod 26)
In de formule staat E voor de positie van de versleutelde letter, x voor de positie van de letter in het alfabet en k voor de verschuiving.
Om een tekst te ontsleutelen gebruik je de formule:
D = (x – k) (mod 26)
In deze formule staat D voor de positie van de ontcijferde letter.
Het rekenbladprogramma MS Excel stelt je op eenvoudige wijze in staat de Caesar-versleuteling toe te passen. Hoe dat gaat, kun je zien door het bestand caesar.xlsx te downloaden en te openen.
In rij 3 van het spreadsheet wordt de tekst gezet die gecodeerd moet worden.
In rij 4 wordt de positie van de letter in het alfabet berekend. De functie CODE() geeft de ASCII-code van de letter. Omdat de ASCII-codes van de hoofdletters lopen van 65 tot en met 90, trekken we 64 af van de ASCII-code.
In rij 5 wordt de ASCII-code van de versleutelde letter berekend. De functie REST() is de modulo-functie in Excel: REST(getal:deler).
In rij 6 wordt met behulp van de functie TEKEN() de ASCII-code omgezet naar een letter.
★ Aan de slag 8
Geef een geheime boodschap door volgens de Caesarversleuteling door aan je buurman of –vrouw. Vraag die om de oorspronkelijke boodschap eruit te halen.
Maak gebruik van het spreadsheet Caesar bij het versleutelen en ontcijferen van de boodschap.
Caesar verbeterd
Zoals je hebt gezien, is een codering van een tekst met behulp van het Caesar-algoritme betrekkelijk zwak. Als het bericht onderschept wordt, dan volstaat het om de 25 mogelijkheden na te lopen.
Een verbetering van het systeem is dat je je niet beperkt tot alleen een verschuiving van de letters, maar dat ze ook door elkaar gehusseld mogen worden. In principe zijn er dan ruim 4x`10^(26)` ofwel 400.000.000.000.000.000.000.000.000 verschillende sleutels mogelijk. Het wordt nu onmogelijk om de code te breken door alle mogelijke sleutels na te lopen.
Een nadeel aan deze sleutel is dat je het door elkaar gehusselde alfabet niet zo makkelijk kunt onthouden. En als je de sleutel op gaat schrijven dan is er het risico dan het handen van onbevoegden valt. Wanneer je een geringe vermindering van het aantal sleutels accepteert kun je een sleutelwoord gebruiken.
We nemen als sleutelwoorden ENIGMA ONLINE. Als eerste schrappen we de spaties en de letters die vaker voorkomen in de woorden. Dit levert ENIGMAOL op. Dit sleutelwoord nemen we als begin op van het gehusselde alfabet. Vervolgens vullen we het alfabet aan met een verschuiving die begint waar het sleutelwoord ophoudt.
De versleutelingsmethodes die we tot nu toe behandeld hebben behoren tot de monoalfabetische substitutie, omdat er gebruik wordt gemaakt van één substitutie-alfabet om een letter te vervangen.
★ Aan de slag 9
Ook voor het versleutelen met een sleutelwoord maken we gebruik van het rekenbladprogramma MS Excel. Open daarvoor het bestand verbeterde caesar in Excel. Om de juiste bijbehorende letter te vinden, maken we gebruik van de functie horiz.zoeken(), waarmee je in een tabel op basis van een zoekwaarde uit een opgegeven rij een waarde (in dit geval een letter) kunt ophalen.
Geef een geheime boodschap door volgens de verbeterde Caesarversleuteling door aan je buurman of –vrouw. Vraag die om de oorspronkelijke boodschap eruit te halen.
Frequentie analyse
De techniek om een boodschap te ontcijferen wordt cryptoanalyse genoemd. Deze cryptoanalyse maakt daarbij geen gebruik van de sleutel. Degene die een boodschap versleutelt, maakt gebruik van de geheime sleutel (bijv. de Caesarverschuiving). De cryptoanalist bestudeert de geheime tekst om er zwakke plekken in te ontdekken of bepaalde regelmatigheden, die kunnen bijdragen aan de oplossing van het probleem.
Veel geleerden uit de oudheid meenden dat het substitutieschrift vanwege het gigantische aantal sleutels niet te breken was. Een lange tijd leek dat ook te kloppen. De doorbraak deed zich in de 9e eeuw voor in het oosten door de Arabieren.
In Bagdad werd veel gedaan aan de bestudering van allerlei talen, maar vooral ook aan de Hadith, waarin vele uitspraken stonden die de profeet Mohammed in zijn dagelijkse leven gedaan had. De geleerden gingen zelfs zover dat ze trachtten aan te tonen of bepaalde zinswendingen en woorden al dan niet consistent waren met bekende linguïstische patronen van de profeet. Met andere woorden: konden ze met het tellen van specifieke woorden en zinnen laten zien of een uitspraak inderdaad van de profeet afkomstig was?
Afgezien van de uitkomst daarvan was het voor de eerste keer dat taalgeleerden zich bezighielden met frequentieanalyse in taal. Zo kwamen zij erachter dat de letters 'a' en 'l' in het Arabisch tien keer zo vaak voorkwamen als de letter 'j'. De letters 'a' en 'l' kwamen immers voor in het zeer vaak gebruikte lidwoord al-.
Deze ontdekking lijkt nogal onbetekenend, maar ze is een grote doorbraak geweest voor de cryptoanalyse. In de 9e eeuw schreef de geleerde al-Kindi een handleiding voor het achterhalen van geheime boodschappen op basis van frequentieanalyse.
Handleiding Al-Kindi
Als we een taal kennen is een methode om een geheim bericht te ontcijferen, dat bericht te vergelijken met een bekende tekst in diezelfde taal. Deze tekst moet zeker een pagina lang zijn.
Vervolgens gaan we na hoe vaak elke letter in de bekende tekst voorkomt. De meest voorkomende letter krijgt in een tabel positie 1, de volgende positie 2 enzovoort, totdat we de frequentie van alle letters in kaart hebben gebracht.
Dan kijken we naar de geheime tekst en brengen daarvan ook de frequentie van de letters onder in een tabel.
Vervolgens zetten we de letters uit de twee verschillende tabellen met gelijke frequenties naast elkaar.
De letter op de eerste positie in de tabel met de geheime tekst wordt vervangen door de eerste letter in de tabel met de bekende tekst.
Op deze wijze kunnen we de geheime tekst ontcijferen.
Het basisprincipe van frequentieanalyse wordt aan de hand van een eenvoudige Caesarversleuteling in de video van de Khan Academy gedemonstreerd.
Bekijk de video.
★ Aan de slag 10
De onderstaande tekst is een monoalfabetische substitutie, waarbij gebruik is gemaakt van een sleutelwoord.
Monoalfabetische substitutie
TLTQX YVGQO WXRQI TTQ IM BGMO ZTQ IM PRIMVQM ERPSYXMV. IM HTWGW ZRRV FGJQ VRMP LMOIM NGJ PMX IM SYHLGETXGM ZTQ NMX TVXGKML RQ ERPSYXTHLM QYPHMVW. NGJ WENVMMA NMX GQ MMQ SMVGRIM BTTVGQ NGJ BMVKXM TTQ IM SVMWXGOGMYFM SVGQEMXRQ YQGZMVWGXD BTTV QTTWX TLHMVX MGQWXMGQ RRK IM NRQOTTVW-TPMVGKTTQWM BGWKYQIGOM JRNQ ZRQ QMYPTQQ BMVKXM. ZRQ QMYPTQQ KRQ PMX NYLS ZTQ IM FROMQTTPIM XYVGQOPTENGQM MMQ XNMRVMXGWEN PRIML MMQ SVTKXGWENM PTQGMV RQXBGKKMLMQ RP ERPSYXMVW HVYGKHTTV XM PTKMQ. ITTVQTTWX LMOIM NMX IMQKBMVK ZTQ XYVGQO RRK IM HTWGW ZRRV IM GQARVPTXGET.
De opdracht is om deze tekst zo snel mogelijk te ontcijferen door gebruik te maken van frequentieanalyse. In tabel zie je een schatting van de frequentie van Nederlandse letters. Deze tabel is gebaseerd op onderzoek uit 1985 van de Stichting voor Publieksvoorlichting over Wetenschap en Techniek (PWT).
Download het word-bestand met de gecodeerde tekst. In het Worddocument vind je ook een tabel waarin je kunt zien hoe vaak de verschillende letters in het gecodeerde bericht voorkomen.
Probeer het bericht te ontcijferen.
Drie letters worden naar zichzelf gecodeerd. Welke letters zijn dat?
Voor het coderen is een sleutelwoord gebruikt. Wat is het sleutelwoord?
Polyalfabetisch
Door de ontwikkeling van de frequentieanalyse was het monoalfabetisch versleutelingssysteem onvoldoende om geheimhouding te verzekeren.
Het zou tot de Renaissance duren voordat er een nieuw systeem gerealiseerd werd. Tot dan bleef men gebruik maken van het monoalfabetische substitutie
ondanks het feit dat dit systeem niet veilig meer was voor codebrekers.
Leon Battista Alberti, een vijftiende-eeuwse Florentijnse geleerde, gaf een eerst aanzet tot het ontwikkelen van een systeem dat bestand was tegen frequentieanalyse.
Alberti beschreef een methode waarbij twee alfabetten werden gebruikt waartussen geswitcht werd tijdens het versleutelen om daarmee de cryptoanalisten op een dwaalspoor te brengen.
Die Alberti-techniek zag er schematisch als volgt uit:
De eerste rij vormt de letters van het normale alfabet. De tweede rij (1) is het eerste codeeralfabet en de derde rij (2) is het tweede codeeralfabet. Je ziet dat beide laatste alfabetten uit normale tekens bestaan maar dat de letters daarvan in willekeurige volgorde staan.
We gaan met behulp van het systeem van Alberti de zin ‘ZULLEN WE MORGEN UITGAAN’ coderen.
Onder de Z staat in alfabet 1 een W: Z → W
Onder de U staat in alfabet 2 een C: U → C
Onder de L staat in alfabet 1 een P: L → P
Onder de L staat in alfabet 2 een A: L → A
In de Caesar-versleuteling zouden die twee letters L uit ZULLEN altijd twee gelijke andere letters opleveren. Zoals je ziet is dat in de methode van Alberti niet het geval.
Omdat er meerdere alfabetten gebruikt worden om het bericht te versleutelen spreken we van polyalfabetische substitutie.
★ Aan de slag 11
Leg uit waarom polyalfabetische substitutie beter bestand is tegen frequentieanalyse dan monoalfabetische substitutie.
De Vigenère
Alberti had een aanzet gegeven tot de ontwikkeling van een nieuwe encryptiemethode. Hij werkte het echter niet uit tot een werkend systeem.
Anderen borduurden voort op zijn idee. Het was de Fransman Blaise de Vigenère die toen hij op diplomatieke missie was in Rome kennis maakte met de geschriften van Alberti. Hij werkte het uit tot een nieuw encryptiesysteem.
De kracht van het systeem zit erin dat de Vigenère 26 alfabetten gebruikte voor de encryptie van berichten. Daarbij moest ook nog een sleutelwoord toegepast worden om het alfabet te bepalen dat gebruikt wordt.
De basis voor het versleutelen vormde het zogenaamde vierkant van De Vigenère. De eerste rij wordt gevormd door het normale alfabet gevolgd door 26 codeeralfabetten elk ervan een letter verschoven ten opzichte van de vorige.
Bekijk de video om te zien hoe de Vigenèreversleuteling in zijn werk gaat.
Het grote voordeel van de encryptie-methode van De Vigenère is dat het door middel van frequentieanalyse niet ontcijferd kan worden, omdat een letter op verschillende manier gecodeerd wordt en twee verschillende letters eenzelfde code kunnen opleveren. Daarnaast telt het een enorm aantal sleutels.
Je zou verwachten dat het Vigenèresysteem algemeen werd ingevoerd, maar dat was niet het geval. Het systeem werd te complex gevonden om snel en eenvoudig berichten te versturen. In plaats daarvan werd er gezocht naar oplossingen voor het verbeteren van het monoalfabetisch substitutiesysteem. Pas eind 18e, eeuw ging men over op polyalfabetische encryptie.
★ Aan de slag 12
Voor het versleutelen volgens de methode van de Vigenère maken we gebruik van het rekenbladprogramma MS Excel. Open daarvoor het bestand de Vigènerein Excel.
Om de tekst te coderen, maken we gebruik van de formule =VERT.ZOEKEN(B$5;$B$14:$AA$39;CODE(B$4)-64;ONWAAR)
om in de Vigenèretabel de gecodeerde letter te vinden.
Voor het decoderen van de tekst gebruiken we de formule =TEKEN(REST(26+(CODE(B$9)- CODE(B$10));26)+65)
om de oorspronkelijke letter in het alfabet te bereken.
Geef een geheime boodschap door volgens de Vigenèreversleuteling door aan je buurman of –vrouw. Vraag die om de oorspronkelijke boodschap eruit te halen.
★ Aan de slag 13
Waarom wordt het versleutelingssysteem volgens de Vigenère een polyalfabetisch substitutiesysteem genoemd?
Waarom was ontcijfering van boodschappen, die volgens de Vigenère waren versleuteld, vrijwel onmogelijk?
Babbage
Tot het midden van de 19e eeuw was de polyalfabetische Vigenèreversleuteling de beste manier om geheimhouding te verzekeren voor belangrijke communicatie. Zij stond bekend als le chiffre indéchiffrable: een onbreekbare versleuteling.
Terwijl de meesten de hoop hadden opgegeven om de code te kraken, was het de Britse wiskundige Charles Babbage die werd uitgedaagd. John Hall Brock Thwaites, een tandarts uit Bristol, schreef naar het Journal of Society Arts dat hij een nieuwe encryptiemethode ontwikkeld had. Babbage gaf aan dat het in niet anders dan een variatie op de methode van de Vigenère was. Thwaites daagde vervolgens Babbage uit om de encryptie te breken.
Om de code te breken moest Babbage op zoek naar het zwakke punt.
★ Aan de slag 14
Versleutel de tekst CCCCCCCCCCCCCCC (15 maal de letter C) met de Vigenère-methode met behulp van het sleutelwoord HALLO.
Wat is de wordt de encrypte tekst?
Wat valt je op als je het resultaat van vraag a bekijkt?
Welke rol speelt de lengte van het sleutelwoord bij de betrouwbaarheid van de Vigenèreversleuteling?
Babbage - 2
Bekijk de video om te zien hoe Charles Babbage dat gegeven gebruikt om de versleuteling te breken.
Babbage was het gelukt om de Vigenère-encryptie te breken, maar hij maakte haar nooit openbaar. Het kwam pas aan het licht toen in de 20e eeuw onderzoek werd gedaan naar zijn aantekeningen.
Gelijktijdig had een oud-officier van het Pruisische leger, Friedrich Wilhelm Kasiski, onafhankelijk van Babbage eenzelfde methode bedacht om de Vigenèreversleuteling te breken. Hij publiceerde in 1863 zijn vondst in ‘Die Geheimschriften und die Dechiffrirkunst’. Sindsdien staat deze techniek bekend als de Kasiski-test.
★ Aan de slag 15
Hieronder zie je in de tabel een tekst die versleuteld is met de methode van De Vigenère.
Welke letterreeksen komen meer dan éénmaal voor. Ga uit van een minimale lengte van 3 tekens.
Bepaal de ruimte tussen de overeenkomstige letterreeksen.
Wat is de waarschijnlijke lengte van de sleutel?
Gebruik het word-bestand met de gecodeerde tekst om de opdrachten te maken.
★ Extra opdrachten
Decodeer de tekst door op iedere reeks frequentieanalyse toe te passen.
Gebruik het excel-bestand frequentieanalyse om de frequentie van de letters in de tekst te bepalen.
Wat is de sleutel geweest?
Toets 1
In de volgende toets wordt getoetst wat je inmiddels zou moeten weten over het onderwerp Klassieke cryptografie
Maak de toets:
Klassieke cryptografie
C Mechanisch
Cijferschrijven
Het oudst bekende hulpmiddel om teksten te versleutelen werd in de vijftiende eeuw ontwikkeld door Leon Battista Alberti, die we al eerder zijn tegenkomen als diegene die een eerste aanzet gaf tot het polyalfabetische substitutiesysteem.
De Alberti cijferschijf bestaat uit twee schijven, de vaste buitenste schijf (de ‘Stabilis’) en een draaiende binnenring (de ‘Mobilis’).
Beide schijven bevatten aan de buitenrand het alfabet. Door de binnenring te verdraaien kan een substitutie over een aantal posities worden verkregen, zodat je makkelijk een Caesarverschuiving kunt aflezen.
De cijferschijf kon ook voor polyalfabetische substitutie gebruikt worden.
★ Aan de slag 16
Hoe zou je de Alberti cijferschijf kunnen gebruiken bij polyalfabetische substitutie?
Cijferschrijven - 2
Cijferschijven kenden vele kleine variaties op het basisontwerp. In de video wordt gedemonstreerd hoe in de Amerikaanse Burgeroorlog (1861-1865) deze disk werd gebruikt om berichten te versleutelen.
Bekijk de video:
★ Aan de slag 17
Op de buitenring van de cijferschijf staan getallen gevormd met de cijfers 1 en 8.
Wat is de betekenis van die cijfer?
Hoe wordt de sleutel op de cijferschijf ingesteld?
Wat is de betekenis van de letters A.J.M. in het midden van de schijf?
Op de cijferschijf hiernaast is de sleutel al ingesteld.
Codeer de volgende tekst: DISK
Communicatiemiddelen
Door de ontdekking van Charles Babbage en Friedrich Kasiski was de Vigenère-versleuteling niet meer betrouwbaar. Hoewel cryptografen nieuwe encryptiemethoden probeerden te ontwerpen kwam er in het verdere verloop van de negentiende eeuw geen grote doorbraak.
Door de uitvinding van de telegraaf werd het mogelijk over grote afstand met elkaar te communiceren. Voor zowel diplomatiek als zakelijk verkeer betekende het dat afstanden een minder belangrijke rol gingen spelen.
De eerste telegrafieverbinding over zee kwam in 1850 tussen Calais en Dover. Een trans-Atlantische telegraafverbinding werd in 1866 operationeel. Rond 1900 lukte het de Italiaan Guglielmo Marconi berichten te versturen door gebruik te maken van radiogolven. Daarmee was draadloze telegrafie gerealiseerd.
Ook militairen zagen de voordelen van zo’n nieuw communicatiemiddel in, maar zij waren zich ook bewust van de gevaren ervan. Immers een boodschap kon zo maar uit de lucht geplukt worden, omdat radiogolven alle richtingen uit gaan. Het was dus noodzakelijk betrouwbare encryptie te bedenken.
De Eerste Wereldoorlog maakte deze problemen voor de nieuwe militaire functie van de radio maar al te duidelijk. Er werden allerlei versleutelingsmethodes bedacht, maar die werden vroeg of laat weer gekraakt.
★ Aan de slag 18
Om berichten te sturen via telegrafie werd gebruik gemaakt van morsecode.
Kun je morsecode beschouwen als een vorm van een substitutiecijfer?
Leg je antwoord uit.
Een van de beroemdste cijfersystemen uit de Eerste Wereldoorlog was het ADFGVX-systeem, dat werd ingevoerd op 5 maart 1918. De kracht van het systeem lag in de combinatie van substitutie en transpositie. Toch wisten de Fransen het al op 2 juni te kraken, zodat men tijdig op de hoogte was waar het Duitse aanval zou plaatsvinden.
Bekijk de video om te zien hoe de ADFGVX-encryptie werkt.
★ Aan de slag 19
In aan de slag 18 heb je een filmpje gezien over versleuteling met ADFGVX.
Het volgende bericht is binnengekomen: FAVGVDVVXXGXVDDDAADDAGXG.
Het is versleuteld met het ADFGVX-cijfer.
Ontcijfer het bericht.
Communicatiemiddelen - 2
In het volgende word-bestand vind je het sleutelwoord en het rooster met 26 letters en 10 cijfers om de tekst te coderen.
Een ander voorbeeld van de kracht van de Geallieerde cryptoanalisten was de ontcijfering van het Zimmermann telegram. Tot april 1917 hadden de Verenigde Staten zich buiten de oorlog gehouden maar toen de Britten de inhoud van het telegram van Duitse minister van buitenlandse zaken Zimmermann lieten uitlekken, zag de Amerikaanse president Wilson daarin het bewijs dat Duitsland erop uit was agressie tegen de Verenigde Staten aan te moedigen en hij verklaarde de oorlog aan Duitsland. Waarschijnlijk was dat niet gebeurd als het gecodeerde bericht niet was ontcijferd.
Voor het versleutelen van berichten maakten de Duitsers veel gebruik van codeboeken. Een codeboek bevat een lijst met codes en een lijst met woorden die horen bij de codes. Tijdens de Eerste Wereldoorlog had de Britse geheime dienst verschillende Duitse codeboeken in handen gekregen.
★ Aan de slag 20
Bekijk de video om te zien hoe het Zimmermann telegram werd ontcijferd.
Om de code te breken gingen de cryptoanalisten op zoek in de code naar een woord dat in een telegram het eind van zin aangeeft.
Welk woord is dat?
Welk woord kwam niet voor in de Duitse codeboeken?
Met welk doel had Zimmermann het telegram verstuurd?
Enigma
De Eerste Wereldoorlog had duidelijk gemaakt dat er krachtiger methodes nodig waren om berichten geheim te houden. In 1918 ontwikkelde de Duitse uitvinder Arthur Scherbius een apparaat waarmee hij probeerde op destijds moderne wijze cryptografie te bedrijven. Er zouden mechanische en elektrische onderdelen bij gebruikt worden. In feite was het een elektrische versie van de cijferschijf van Alberti. Scherbius noemde het apparaat Enigma. Enigma betekent ‘raadsel’ en dat was deze machine ook een lange tijd.
De Enigma werd in de jaren twintig op de markt gebracht en gebruikt door bedrijven, diplomatieke diensten en legers, maar het kreeg grote bekendheid als de cijfermachine van de Duitse Wehrmacht.
★ Aan de slag 21
Bekijk de video van Dr. James Grimes over de werking van de Enigma.
Om een bericht te coderen en te decoderen moesten de zender en de ontvanger de beschikking hebben over een Enigmamachine, die op dezelfde manier was ingesteld.
Welke instellingen moesten gedaan worden om de Enigma operationeel te maken?
Wat is het verschil tussen de commerciële versie van de Enigma en de militaire versie?
Hoeveel verschillende instellingen kunnen er gemaakt worden met de Enigma?
In het volgende word-document staat in de rechterkolom een schematische voorstelling van de Enigma.
Vul in de linkerkolom achter de nummers de stappen in de ontbreken in het verhaal over de werking van de Enigmamachine.
Hoe wisten de zender en ontvanger de instellingen van de Enigmamachine?
Enigma - 2
Met de Enigma hadden de Duitsers na de Eerste Wereldoorlog een apparaat dat de Britse cryptoanalisten voor een raadsel plaatsten. Het lukte hen net zomin als de Fransen en Amerikanen om het Enigma-cijfer te breken.
In de jaren dertig was de Poolse inlichtingendienst ‘Biuro Szyfrów’ al begonnen met een project om de Enigma-codes te ontcijferen. Nadat ze een replica van de Enigma in handen kregen, ging de wiskundige Marian Rejewski met hulp van Henryk Zygalski en Jerzy Rozycki aan de slag.
Zoals we al eerder gezien hebben is het vinden van patronen in berichten een middel om de zwakke plek in een cijfermethode te vinden. Rejewski ontdekte dat iedere Duitse boodschap een berichtsleutel had, die tweemaal werd vercijferd aan het begin van elk bericht. Rejewski zocht naar alle mogelijke patronen en koppelde die met de rotorinstellingen van de Enigma. De eerste berichten werden in 1932 gekraakt en de ontcijferingsmethoden werkten tot eind 1938 toen de Duitsers de procedures verbeterden. De Duitsers vergrootten het aantal instellingen van de Enigma, waardoor de methode haar efficiëntie verloor.
Daarop besloot de Poolse inlichtingendiensten in juli 1939 hun vondsten aan de Britten te geven. Zij gebruikten deze informatie vervolgens bij het opzetten van hun eigen team cryptologen in Bletchley Park om de Enigma te kraken. In dat team zaten onder meer de wiskundigen Alan Turing en Gordon Welchman.
Dit zogeheten ‘Project Ultra’ zou uiteindelijk een sleutelrol spelen in het verdere verloop van de Tweede Wereldoorlog door de onderschepping van geheime Duitse communicatie.
★ Aan de slag 22
Hoe wisten de Polen de eerste versies van de Enigma te kraken?
Bekijk de video over hoe de Britten de Enigma ontcijferden. De video bestaat uit twee delen.
★ Aan de slag 23
Welk type bericht gaf een doorbraak bij het zoeken naar een oplossing?
Alan Turing zocht in die berichten naar een mogelijke crib. Wat verstond hij onder een crib?
Om een crib te vinden maakte Turing gebruik van een zwakte in de Enigma. Welke zwakte zat er in de Enigma?
Hoe konden de Britten alle mogelijke permutaties doorlopen om de berichten te ontcijferen?
★ Aan de slag 24
In deze opdracht ga je aan de slag met een simulatie van de Enigma.
In dit bestand staat een vercijferd bericht dat is binnengekomen.
Decodeer het bericht met behulp van de instructies in de opdracht en het simulatieprogramma Enigma Sim.
Enigma - 3
Naast de Enigma, die vooral gebruikt werd door het leger in het veld, werd voor de communicatie tussen Hitler en zijn generaals de Lorenz SZ40 gebruikt. De Lorenz genereerde codesleutels waarmee de communicatie op hoog niveau versleuteld werd. Elke letter werd vercijferd door haar in vijf bits (in totaal worden 32 karakters gebruikt) te splitsen en die bits door middel van een XOR-operatie te versleutelen. Op het principe van een XOR-versleuteling komen we later in deze module terug.
In Bletchley Park hield men zich ook bezig met breken van de Lorenzvercijfering. Al snel werd duidelijk dat het ontcijferen geautomatiseerd moest worden. De Bombe die gebruikt werd om de code van de Enigma te breken, was niet flexibel genoeg om het Lorenzversleuteling te verwerken.
Daartoe werd in 1943 een project gestart om een machine te bouwen die dat werk kon verrichten, de Colossus. De machine bestond uit 1500 elektronenbuizen die aanzienlijk sneller waren dan de trage elektromagnetische relais in de Bombe. Het belangrijkste verschil met de Bombe was dat de Colossus geprogrammeerd kon worden. Dat maakt dat de Colossus beschouwd kan worden als de eerste moderne computer.
Begin 1944 was de eerste versie, de Mark I, operationeel.
D Digitaal
Inleiding
Met de eerste moderne computer treden we in een ander cryptografisch tijdperk. Cryptoanalisten konden profiteren van de mogelijkheden die de computer bood om naar de juiste sleutel te zoeken. Maar de cryptografen hadden met de computer een tool gekregen om steeds complexere cijfers te maken.
In principe lijkt het versleutelen van een bericht per computer sterk op de traditionele vormen van encryptie. Er zijn echter drie belangrijke verschillen:
Een mechanische machine zoals de Enigma wordt beperkt door het praktisch realiseerbare, terwijl een computer bijvoorbeeld een Enigma met meer dan honderd rotors kan imiteren.
Computers werken veel sneller dan mechanische machines.
En het belangrijkste verschil. Computers versleutelen reeksen bits in plaats van letters van het alfabet.
XOR-encryptie
Een van de eerste vormen van digitale cryptografie is de XOR-versleuteling, die we al tegengekomen zijn bij de Lorenzmachine. In tegenstelling tot traditionele vormen van vercijfering, waarbij die op letterniveau plaatsvindt, gebeurt dat bij een XOR-encryptie op binair niveau.
Stel je wilt het bericht HALLO met behulp van de sleutel ALAN versleutelen.
Van zowel het bericht als de sleutel noteer je de bitcode van iedere letter (in dit voorbeeld de ASCII-code) en zet je de bitreeks van de sleutel onder het bericht. Indien het bericht langer is dan de sleutel herhaal je de sleutel.
Vervolgens versleutel je het bericht door een XOR-operatie op iedere bitpaar toe te passen.
Met dezelfde sleutel kun je het versleutelde bericht weer ontcijferen:
★ Aan de slag 25
Je ziet een bericht van twee letters met daaronder de sleutel.
Uit welke twee letters bestaat het bericht?
Wat is de binaire code van de sleutel?
Welk cijfer levert de XOR-versleuteling op?
★ Aan de slag 26
Vercijfer het bericht VERCIJFERBITS
met behulp van het rekenblad XOR-versleuteling.
Het sleutelwoord is ENIGMA.
Ontcijfer het vercijferde bericht terug naar het oorspronkelijke bericht door de bitcode te knippen en te plakken (Plakken speciaal … → Waarden plakken naar het bruine vak.
Data Encryption Standard
In de eerste jaren bleef computerencryptie beperkt tot regering en krijgsmacht, omdat zij alleen toegang hadden tot computersystemen. Vanaf de jaren zestig werden computers goedkoper en krachtiger. Steeds meer bedrijven konden zich een computer veroorloven om geldtransfers en zakelijke onderhandelingen te vercijferen. Naarmate er meer gebruik gemaakt werd van computerencryptie ontstond ook de behoefte om te standaardiseren.
Een van de meest gebruikte cijferalgoritmes in die tijd, Lucifer, was een belangrijke kandidaat om de Amerikaanse norm te worden. Het werd beschouwd als een van de sterkste commercieel beschikbare encryptiestemen en werd door veel bedrijven gebruikt. Het was de NSA (National Security Agency) die daar een stokje voor stak. Zij wilde geen encryptiestandaard die zij mogelijk zelf niet kon breken.
De oplossing voor dit probleem was het beperken van de lengte van de sleutel tot 56-bits. Deze sleutellengte was groot genoeg om ervoor te zorgen dat hij niet gekraakt kon worden door computers die door burgerlijke organisaties werd gebruikt, maar dat de NSA, die ’s werelds grootste computervermogen bezat dan net wel in staat was om de berichten te ontcijferen.
In 1977 werd DES (Data Encryption Standard), de 64 bits versie van Lucifer (56 bits sleutel en 8 controle bits), de officiële Amerikaanse encryptiestandaard.
Werking Data Encryption Standard
Bij DES wordt de informatie opgedeeld in datablokken van 64 bits.
Per blok worden de 64 getallen door elkaar ‘gehusseld’ waarna een blok verdeeld wordt in twee 32-bits blokken. Een van de twee blokken wordt versleuteld met behulp van een XOR-functie. Daarvoor wordt door de sleutelgenerator een 48 bits sleutel aangemaakt. Vervolgens worden de blokken weer in een andere volgorde aan elkaar ‘geplakt’ tot nieuwe 64 bits blokken.
Dit proces wordt 16 keer doorlopen.
DES is in principe geen zwak algoritme. De zwakte zit hem in de lengte van de sleutel: 56 bits. De rekenkracht van moderne computers is zo groot dat het mogelijk is om binnen 24 uur een DES-cijfer te ontsleutelen. Om dit probleem op te lossen heeft men 3DES (triple DES) ontwikkeld.
Bij dit algoritme wordt de data door drie afzonderlijke DES-bewerkingen versleuteld.
Dat kan op twee manieren:
met twee sleutels van 56 bits waarbij de eerste en derde bewerking met dezelfde sleutel worden uitgevoerd;
met drie onafhankelijke sleutels van 56 bits.
De totale sleutellengte waarmee gecodeerd wordt is dus respectievelijk 112 bits of 168 bits, waarvan de laatste de veiligste vorm is.
In 2001 kwam er een opvolger voor DES: AES (Advanced Encryption Standard), die tot op de dag van vandaag nog steeds gebruikt wordt.
AES is afgeleid van het Rijndael-algoritme dat is ontwikkeld door de Belgen Vincent Rijmen en Joan Daemen uit Leuven.
AES heeft een blokgrootte van 128 bits en de sleutel kan 128, 192 of 256 bits groot zijn. AES is in theorie te kraken, maar dat duurt miljarden jaren. Documenten van Edward Snowden geven aan dat de NSA aan het onderzoeken is of AES te kraken is, maar tot nu toe zijn er geen gevallen in de praktijk bekend. AES wordt dan ook nog steeds gebruikt, bijvoorbeeld als standaardversleuteling voor je desktop.
★ Aan de slag 27
Waarom was de NSA tegen het gebruik van het Lucifer-algoritme als Amerikaanse standaard?
Welk compromis werd gesloten om tot een standaard te komen?
Leg de werking van het DES-algoritme uit.
Waarom werd 3DES ontwikkeld?
Welk algoritme wordt vandaag de dag standaard gebruikt voor versleuteling?
Asymmetrisch
Het probleem van een standaard, betrouwbaar encryptiesysteem was met de komst van DES en de opvolger AES opgelost. Een ander groot vraagstuk was echter nog niet opgelost: sleuteldistributie.
Een bank stuurt vertrouwelijke data naar haar klanten. Wanneer zij deze data met AES versleutelt, dan kan de data veilig verstuurd worden. Het probleem is hoe de bank veilig de sleutel aan de klant meedeelt. Dit was een groot probleem, waar de naoorlogse cryptografen hun hoofd over bogen.
Bekijk de video over de sleuteldistributie.
★ Aan de slag 28
Voor welk groot probleem stonden de cryptografen na de Tweede Wereldoorlog?
Leg uit hoe symmetrische encryptie werkt.
Leg uit hoe asymmetrische encryptie werkt.
Asymmetrisch - 2
Het voorbeeld van de hangsloten betekende niet dat het sleuteldistributiesysteem opgelost was. Het probleem is de volgorde waarin de encrypties worden uitgevoerd. In het algemeen geldt het principe “last in, first out.”
Bekijk de video over het last in, first out principe.
★ Aan de slag 29
Tegen welk probleem lopen de cryptografen aan als ze het hangslotensysteem willen toepassen voor encryptie?
Sleuteldistributie
De methode van de hangsloten gaat niet op voor cryptografie maar het gaf wel de inspiratie om op zoek te gaan naar een methode om het probleem van de sleuteldistributie op te lossen.
In 1976 publiceerden Whitfield Diffie en Martin Hellman een baanbrekend artikel: New directions in cryptography. Daarin beschreven zij een methode hoe het probleem van sleuteldistributie omzeild kon worden.
Diffie en Hellman waren twee jaar eerder met elkaar in contact gekomen door hun gemeenschappelijke interesse in cryptografie en sleuteldistributie in het bijzonder. Zij dachten dat de oplossing voor dit probleem gevonden kon worden door gebruik te maken van een wiskundige functie, die niet omkeerbaar is.
De meeste wiskundige functies zijn tweewegfuncties, omdat je de bewerking weer ongedaan kunt maken met een andere bewerking:
5 x 2 =10
42 = 16
sin(44) = 0,69466
→ 10 / 2 = 5
→ √16 = 4
→ asin(0,69466) = 44
Omdat deze functies omkeerbaar zijn, is het terugrekenen relatief eenvoudig:
n x 7 = 56 n2 = 256
→ n = 56 / 7
→ n = √256
Hierin waren zij niet geïnteresseerd Zij zochten naar een functie die makkelijk uit te voeren is, maar heel moeilijk ongedaan gemaakt kan worden.
Een voorbeeld van zo’n type functie is de modulo die we ook bij de Caesarversleuteling zijn tegengekomen. Stel we willen de waarde van x bepalen:
11x (mod 13) = 2
Dat is veel lastiger te bepalen. Een waarde proberen bijvoorbeeld x = 4 levert:
114 (mod 13) = 3
Omdat de uitkomst te hoog is zou je een kleiner getal kunnen proberen, maar dat levert:
113 (mod 13) = 5
Vaak is de enige mogelijkheid om tot een oplossing te komen een tabel te maken met de vele waarden voor x.
Het opstellen van een tabel is in dit voorbeeld nog eenvoudig, omdat we te maken hebben met kleine getallen.
Wanneer we echter x zouden moeten bereken uit 453x (mod 21.997) = 5787 is dat een enorme klus. Dit is een voorbeeld van een eenwegfunctie.
Na twee jaar alle aandacht gericht te hebben op eenwegfuncties en modulair rekening vonden ze een oplossing voor het sleuteldistributieprobleem. Alice en Bob konden een geheime sleutel afspreken zonder elkaar te ontmoeten.
Bekijk de video over het Diffie-Hellman algoritme.
★ Aan de slag 30
Waarom moest de functie waarnaar Diffie en Hellman op zoek waren een eenwegfunctie zijn?
Gegeven de eenwegfunctie:Yx (mod P).
Alice en Bob kiezen Y = 2 en P = 5.
Aan welke voorwaarden moeten Y en P voldoen?
In dit voorbeeld zijn Y en P kleine getallen.
Waarom moet je in de praktijk voor grote getallen kiezen?
Alice kiest als geheim getal 3.
Wat is de uitkomst die zij doorgeeft aan Bob?
Alice ontvangt van Bob de waarde 4. Bereken de sleutel.
Public key cryptografie
De vondst van Diffie en Hellman had het probleem van de sleuteldistributie opgelost, maar in de praktijk was het niet handig. Stel dat Alice naar Bob een versleutelde e-mail wil sturen. Dan moeten ze eerst contact met elkaar opnemen om de sleuteluitwisseling te regelen. Daarna kan de e-mail pas gecodeerd en verstuurd worden.
Whitfield Diffie kwam met een oplossing: Alice moet niet alleen een sleutel hebben voor het versleutelen van een bericht, maar ook een sleutel om een bericht te ontcijferen.
De encryptiesleutel noemen we de public key
en die mag bekend gemaakt worden.
De decryptiesleutel noemen we de private key
en die houd je voor jezelf.
Alice kan de public key gewoon bekend maken, desnoods via een lijst op internet.
Als Bob een bericht aan Alice wil sturen, kan hij de public key van Alice gebruiken om het bericht te versleutelen. Alleen Alice kan na ontvangst van het bericht dit met haar private key ontcijferen.
Het idee van Diffie is een ommekeer geweest in het denken over het versleutelen van berichten. Het verschil tussen de encryptie- en de decryptiesleutel is waar het om draait. De uitdaging was om een cryptografische eenwegfunctie te vinden, die voldeed aan de vereiste voor een asymmetrisch cijfer. Diffie en Hellman zouden daar niet in slagen, maar een groep wetenschappers van het Massachusetts Institute of Technology in Boston.
★ Aan de slag 31
Waarom is public key cryptografie een voorbeeld van asymmetrische versleuteling?
Wat is de functie van de public key?
Wat is de functie van de private key?
RSA
De ideeën van Diffie en Hellman werden ook bekend bij het MIT Laboratory for Computer Science. Daar waren het de onderzoekers Rivest, Shamir en Adleman die geïnteresseerd raakten in de zoektocht naar een asymmetrisch cijfer.
Na een flitsende inval van Rivest, te vergelijken met het eureka van Archimedes, werd een oplossing gevonden.
Het cijfer moet aan de volgende voorwaarde voldoen:
Alice maakt een public key aan, die ze aan iedereen bekend maakt. Deze sleutel kan gebruikt worden om berichten aan haar te vercijferen.
De public key is een eenwegfunctie, zodat het vrijwel onmogelijk is dat iemand die kan omkeren om de berichten van Alice te ontcijferen.
Alice maakt ook een private key, waarmee ze het effect van de public key kan omkeren, zodat zij alleen de berichten aan haar kan ontcijferen.
Bekijk de video over het RSA-algoritme.
Deze methode staat bekend onder de naam RSA, de eerste letters van de achternamen van Rivest, Shamir en Adleman.
In het voorbeeld hebben we voor p en q gekozen voor twee kleine priemgetallen 17 en 11. Als je N hebt bepaald door p en q te vermenigvuldigen dan is het met wat proberen uit de uitkomst 187 wel te achterhalen wat p en q zijn geweest. Daarom moet er gekozen worden voor zeer grote priemgetallen, bijvoorbeeld:
Wanneer je uit deze uitkomst weer de oorspronkelijke priemgetallen wilt achterhalen dan is zelfs een snelle computer daar jaren mee bezig.
RSA is heel populair geworden en daar zijn een paar redenen voor te noemen.
Het systeem is asymmetrisch zodat de sleutel die nodig is voor het decoderen, nooit hoeft te worden verzonden;
De snelheid van het coderen en decoderen met RSA is hoog genoeg om acceptabel te zijn;
RSA werkt asymmetrisch zodat authenticatie (het zetten van een digitale unieke handtekening die het bewijs is van de afzender van het bericht) tot de mogelijkheden behoort;
Op voorwaarde dat je van sleutels van een behoorlijke lengte gebruik maakt, is RSA met de meest geavanceerde computers niet te kraken
★ Aan de slag 32
Aan welke voorwaarde moet een asymmetrisch cijfer voldoen?
Maak de volgende opdrachten:
Conny wil een bericht M = 13 versturen naar Alice.
Versleutel het bericht met gebruikmaking de public keys van Alice, N =187, e = 7.
Dylan wil zijn eigen public en private key creëren.
Hij kiest p = 23, q = 19 en e = 283.
Bereken de eerste public key N voor Dylan.
Bereken de private key d voor Dylan.
Tip: Gebruik Excel om een tabel te maken voor de oplopende reeks van d.
Waaraan dankt RSA zijn populariteit?
PGP
Veel communicatie gebeurt via encryptie: mobiel telefoonverkeer, digitaal betaalverkeer, e-mail.
Het uitwisselen van digitale informatie is een vast onderdeel van ons bestaan geworden. Elke dag worden honderden miljoenen mailtjes verstuurd. Internet is een centrale plek geworden voor de digitale markt: de e-commerce groeit met de dag. Geld vliegt door cyberspace en men schat dat de helft van ’s wereld bruto product verloopt via de SWIFT (Society for Worldwide Interbank Financial Telecommunications).
Al deze zaken moeten veilig verlopen. En hoewel er meestal geen problemen zijn met de meeste transacties, zijn sommige regeringen er niet echt op uit onbreekbare encryptie aan te moedigen. De overheid wilde controle houden over de versleuteling van digitale gegevens. De Amerikaanse Senaat kwam in 1991 met een wetsvoorstel dat programmeurs zou verplichten om een achterdeur in hun beveiliging te bouwen, zodat de overheid mee kon blijven kijken.
In datzelfde jaar publiceerde Phil Zimmermann het e-mail encryptiepakket PGP (Pretty Good Privacy) gratis op het internet. Zimmerman vond dat elke burger de beschikking moest hebben over een encryptiemogelijkheid om zijn communicatie te beschermen. Omdat het als freeware op het internet stond, werd Zimmermann het doelwit van een drie jaar durend strafrechtelijk onderzoek. De Amerikaanse overheid was van oordeel dat de exportrestricties voor ‘wapens’ werden geschonden door de wereldwijde verspreiding van PGP.
De Amerikaanse overheid besloot in 1996 echter om de zaak zonder aanklachten te laten varen, waarop Zimmermann het bedrijf PGP Incorporated oprichtte.
Bekijk de video over de lezing van Phil Zimmermann.
★ Aan de slag 33
Waarom had Phil Zimmermann PGP in eerste instantie ontwikkeld?
Welke principieel uitgangspunt lag aan het vrij beschikbaar stellen van PGP ten grondslag?
Met wie kwam hij daarmee in aanvaring?
PGP - 2
Bekijk de video over het PGP-algoritme.
★ Aan de slag 34
Leg uit dat PGP een combinatie is van symmetrische en asymmetrische cryptografie.
Hoe wordt de sessiesleutel gecreëerd?
Man-in-the-middle-attack
Een belangrijk probleem waar encryptietechnieken geen passend antwoord op geven is de man-in-the-middle-attack.
★ Aan de slag 35
Leg uit hoe een man-in-the-middle-attack werkt.
Man-in-the-middle-attack - 2
Een middel om een man-in-the-middle-attack te voorkomen is door het bericht te voorzien van een beveiligd, digitaal certificaat (handtekening), zodat Bob weet dat het bericht van Alice komt en niet van Mallory.
Een digitaal certificaat wordt gebruikt bij het uitwisselen van berichten voor:
Authenticatie: de ontvanger van het bericht weet dat zender van het bericht diegene is voor wie hij zich uitgeeft.
Integriteit: de afzender en ontvanger zijn er zeker van dat het bericht niet veranderd is tijdens de transmissie.
Onweerlegbaarheid: de verzender kan niet ontkennen dat hij een bepaald bericht verzonden heeft (en de ontvanger kan niet ontkennen dat hij het bericht ontvangen heeft).
Een certificaat wordt uitgegeven door een Certificate Authority (CA). De CA stelt vast dat een certificaat toebehoort aan de persoon, organisatie of server die in het certificaat vermeld wordt.
Het uitgangspunt is dat de Certificate Authority betrouwbaar is, zodat de gebruiker erop kan vertrouwen dat de CA de eigenaar van een certificaat controleert. Er bestaan diverse commerciële CA’s die tegen betaling hun diensten aanbieden, bijvoorbeeld Comodo, Symantec.
★ Aan de slag 36
Hoe kan een man-in-the-middle-attack voorkomen worden?
Waarvoor kan een digitaal certificaat gebruikt worden?
Hashfunctie
De Certificate Authority plaatst een digitale handtekening op de hash van een certificaat dat zij uitgeeft, waarmee de echtheid van het certificaat gecontroleerd kan worden. Een hash is net zoals encryptie een cryptografische functie, maar er is een belangrijk verschil. Wanneer data wordt versleuteld dan kan met de juiste sleutel de data weer ontsleuteld worden. Een hashfunctie maakt van data een unieke hashcode die niet teruggerekend kan worden naar de oorspronkelijke data.
Een essentiële eigenschap van een goede hashfunctie is dat verschillende invoerwaarden niet dezelfde hashcode opleveren. Een zwakke hashfunctie maakt het mogelijk twee certificaten met dezelfde hash te maken, wat het mogelijk maakt certificaten te vervalsen. Daarnaast zorgt iedere wijziging in de invoer voor een wijziging in de hashcode.
Een veelgebruikte hashfunctie is MD5. De 128-bit (16-byte) MD5-hashes worden meestal weergegeven als 32-cijferige hexadecimale getallen.
Het volgende laat een 46 bytes grote ASCII-invoer (inclusief de spaties) en de bijbehorende MD5-hash zien: MD5 (‘Pa's wijze lynx bezag vroom het fikse aquaduct’) = b06c0444f37249a0a8f748d3b823ef2a
Zelfs een kleine verandering in de tekst zal een compleet andere hash veroorzaken, bijvoorbeeld het vervangen van de letter P door een M: MD5 (‘Ma's wijze lynx bezag vroom het fikse aquaduct’) = de1c058b9a0d069dc93917eefd61f510
De hashwaarde van een lege tekenreeks is: MD5 (‘‘) = d41d8cd98f00b204e9800998ecf8427e
Een andere toepassing van een hashfunctie is het opslaan van een wachtwoord.
Een wachtwoord wordt in principe versleuteld opgeslagen, zodat de wachtwoorden niet bekend worden als het bestand met wachtwoorden door een onbevoegde gelezen wordt. Wanneer het wachtwoord versleuteld is door middel van een hashfunctie, is het onmogelijk de versleutelde gegevens te decoderen. Dat is ook niet nodig, aangezien het voldoende is te controleren of de gebruiker het juiste wachtwoord heeft opgegeven.
Hash-algoritmen
MD5 (Message Digest Algorithm 5) is een veelgebruikte hashfunctie. MD5 (Message Digest Algorithm 5) is als internetstandaard gebruikt in vele veiligheidstoepassingen en wordt ook gebruikt om de integriteit van bestanden te controleren. In 1996 werd er een fout in het MD5-ontwerp gevonden en ofschoon het geen ernstige fout was, werd er vanaf toen aanbevolen om andere algoritmen zoals SHA te gebruiken.
SHA (Secure Hash Algorithm) is een hashfunctie ontworpen door de NSA (National Security Agency) als de standaard voor het verwerken van federale informatie. Er zijn in totaal vier SHA-algoritmes, ieder met een verschillende structuur. Deze staan bekend als: SHA-0, SHA-1, SHA-2 en SHA-3.
★ Aan de slag 37
Wat is het verschil tussen encryptiefunctie en hashfunctie?
Geef twee toepassingen van een hashfunctie?
Noem twee hash-algoritmen
Toets 2
In de volgende toets wordt getoetst wat je inmiddels zou moeten weten over het onderwerp Mechanische en digitale cryptografie.
Maak de toets:
Mechanische en digitale cryptografie
Voortgang
Bekijk hier je voortgang
Keuzedeel
Docent kan klassen aanmaken en leerlingen volgen Een docent kan op de profielpagina klassen aanmaken.
Als een docent dat gedaan heeft, kunnen de leerlignen zich aan de klas koppelen.
Als de leerlingen dat gedaan hebben, kan de docent de voortgang van de leerlingen volgen.
Het arrangement Module: Enigma - Cryptografie is gemaakt met
Wikiwijs van
Kennisnet. Wikiwijs is hét onderwijsplatform waar je leermiddelen zoekt,
maakt en deelt.
Dit lesmateriaal is gepubliceerd onder de Creative Commons Naamsvermelding-GelijkDelen 4.0 Internationale licentie. Dit houdt in dat je onder de voorwaarde van naamsvermelding en publicatie onder dezelfde licentie vrij bent om:
het werk te delen - te kopiëren, te verspreiden en door te geven via elk medium of bestandsformaat
het werk te bewerken - te remixen, te veranderen en afgeleide werken te maken
voor alle doeleinden, inclusief commerciële doeleinden.
Van dit lesmateriaal is de volgende aanvullende informatie beschikbaar:
Toelichting
Deze module is onderdeel van de arrangeerbare leerlijn van de Stercollecties voor het keuzedeel van Informatica voor hv456. In deze module wordt de cryptografie in drie fasen behandeld. De oudste vorm van cryptografie is de klassieke cryptografie waarbij berichten handmatig versleuteld worden. Bij de mechanische cryptografie wordt bij het versleutelen gebruik gemaakt van apparaten. Tenslotte is er de digitale cryptografie, waarbij het bericht met behulp van computers versleuteld wordt.
In ieder onderdeel vind je, verdeeld over verschillende pagina's, informatie in de vorm van teksten, afbeeldingen en video's. Daarnaast ga je zelf aan de slag met toepassingsopdrachten en toetsen. Van de toetsen wordt je voortgang bijgehouden en deze voortgang zal zowel door jou als je docent te bekijken zijn. Veel succes!
Deze module is onderdeel van de arrangeerbare leerlijn van de Stercollecties voor het keuzedeel van Informatica voor hv456. In deze module wordt de cryptografie in drie fasen behandeld. De oudste vorm van cryptografie is de klassieke cryptografie waarbij berichten handmatig versleuteld worden. Bij de mechanische cryptografie wordt bij het versleutelen gebruik gemaakt van apparaten. Tenslotte is er de digitale cryptografie, waarbij het bericht met behulp van computers versleuteld wordt.
In ieder onderdeel vind je, verdeeld over verschillende pagina's, informatie in de vorm van teksten, afbeeldingen en video's. Daarnaast ga je zelf aan de slag met toepassingsopdrachten en toetsen. Van de toetsen wordt je voortgang bijgehouden en deze voortgang zal zowel door jou als je docent te bekijken zijn. Veel succes!
Leeromgevingen die gebruik maken van LTI kunnen Wikiwijs arrangementen en toetsen afspelen en resultaten
terugkoppelen. Hiervoor moet de leeromgeving wel bij Wikiwijs aangemeld zijn. Wil je gebruik maken van de LTI
koppeling? Meld je aan via info@wikiwijs.nl met het verzoek om een LTI
koppeling aan te gaan.
Maak je al gebruik van LTI? Gebruik dan de onderstaande Launch URL’s.
Arrangement
IMSCC package
Wil je de Launch URL’s niet los kopiëren, maar in één keer downloaden? Download dan de IMSCC package.
Wikiwijs lesmateriaal kan worden gebruikt in een externe leeromgeving. Er kunnen koppelingen worden gemaakt en
het lesmateriaal kan op verschillende manieren worden geëxporteerd. Meer informatie hierover kun je vinden op
onze Developers Wiki.