CODEERMACHINES EN CRYPTOGRAFIE
Cryptografie - Een korte Geschiedenis
Home


Wat is Cryptografie?

Cryptografie, van het Griekse Krypto (verborgen) en Grafo (schrift), is de studie en toepassing van technieken om informatie te verbergen of te beschermen tegen lezen door onbevoegden. De beschermde informatie kan geschreven tekst zijn, elektrische signalen zoals Telex, Morse of spraak, allerhande digitale informatie zoals computerbestanden, e-mail berichten of datatransmissie.

De onbewerkte leesbare informatie wordt klare tekst of data genoemd. Het proces om de informatie onleesbaar te maken noemt vercijfering of encryptie. Het resultaat van encryptie is een cijfertekst of cryptogram. Het omkeren van de vercijfering om de originele informatie te bekomen noemt men ontcijfering of decryptie. Om informatie te vercijferen of te ontcijferen gebruikt men een algoritme of 'cijfer'.

Hoe dat algoritme werkt wordt bepaald door de sleutel, soms ook paswoord genoemd (bij crypto machines is de sleutel de instelling van de machine). De geheime sleutel is enkel gekend door diegene die bevoegd is om toegang te hebben tot de informatie. Zonder kennis van de sleutel is het normaal gezien onmogelijk het vercijferingsproces om te keren, of zal een poging om het proces om te keren zo lang duren om het dat de informatie achterhaald en nutteloos is.

Cryptoanalyse is de studie en analyse van bestaande versleutelingsalgoritmen, om de kwaliteit ervan te beoordelen, zwakke punten te zoeken of een manier te vinden om het vercijferingsproces om te keren zonder over de sleutel te beschikken. Ontcijfering zonder sleutel, meestal zonder toestemming, noemt men een cryptoanalytische aanval, ook wel het breken of kraken van een cijfer genoemd. Een cryptoanalytische aanval maakt gebruik van zwakheden in het algoritme, het crypto-apparaat of implementatie procedures.

Bij een ciphertext-only aanval heeft de cryptoanalist enkel toegang tot de cijfertekst. Bij de known-plaintext aanval heeft de cryptoanalist toegang tot zowel de cijfertekst als een corresponderende klare (leesbare) tekst, delen van de klare tekst of een veronderstelde klare tekst, om de corresponderende sleutel te kunnen vinden, en ontcijfert vervolgens andere berichten met diezelfde sleutel. Een andere manier om de juiste sleutel te vinden is door alle mogelijke sleutels uit te proberen, de zogenaamde brute-force aanval. Deze techniek is alleen nuttig als het bericht kan worden ontcijferd voordat het nut van de informatie in het bericht of de tactische waarde erven is verlopen.

Ook meerdere berichten, vercijferd met dezelfde sleutel, kunnen een risico vormen. Dergelijke berichten worden "in depth" or "in diepte"genoemd en kunnen helpen bij het bepalen van het gebruikte algoritme of de toegepaste sleutel. Hoe meer "in depth" berichten beschikbaar zijn, hoe groter de kans is dat er patronen worden gevonden die helpen het bericht te ontcijferen. Om het aantal "in depth" berichten, vercijferd met dezelfde sleutel, te beperken, worden de gebruikers vaak verdeeld in veel verschillende kleinere gebruikersgroepen of geografische locaties, elk met zijn eigen sleutels. Dit zal het aantal "in depth" berichten beperken, en het compromitteren van één sleutel zal niet alle gebruikers beïnvloeden. Dit systeem noemt compartimentering.

Cryptologie omvat zowel cryptografie (maken) en cryptoanalyse (breken). De uitdrukkingen 'code', 'coderen' en 'decoderen' worden regelmatig gebruikt bij cryptografie. Een code is echter een eenvoudige vervanging van informatie door andere informatie en gebruikt geen algoritme. Doorgaans zijn dit codeboeken of tabellen die de ene waarde (letters, woorden of zinnen) omzet in een andere waarde (letterreeks, numerieke waarde of speciale symbolen). Cryptografie daarentegen gebruikt een algoritme, meestal een combinatie van fractionering, transpositie en substitutie, om de informatie te manipuleren. Hoewel technisch gezien fout, wordt de uitdrukking 'coderen' vaak gebruikt om vercijfering of encryptie aan te duiden.

Oorsprong en Geschiedenis in een notendop Top

Sinds het bestaan van de mens heeft deze geheimen en zijn er anderen die deze geheimen te weten willen komen. De vroegste vormen van cryptografie werden uitgevoerd met pen en papier en waren dan ook enkel beschikbaar voor de hogere klasse die kon lezen en schrijven. Deze klassieke cijfers waren meestal transpositiecijfers, die de volgorde van letters in het bericht wijzigde, en substitutiecijfers, die letters of woorden vervingen door andere letters of woorden. Eén van de vroegst gekende substitutiecijfers was Caesars cijfer of Caesars shift, waarbij de letters van het alfabet vervangen werden door een tweede alfabet dat enkele plaatsen verschoven was tegenover het eerste. Het cijfer was genoemd naar Julius Caesar, die het gebruikte voor communicatie met zijn generaals.

Cryptografie wordt sindsdien gebruikt om de geheime communicatie te beveiligen van militaire leiders, diplomaten, spionnen, kerk en staat. De vroegste cijfers vertoonden echter statistische informatie die kon gebruikt worden om het cijfer te breken. Al in de 9de eeuw ontdekten Arabische wiskundigen de frequentieanalyse en ontwikkelden methodes om vercijferde berichten te breken. De race tussen codemakers en codebrekers begon.

Frequentieanalyse bleek de meeste cijfers te breken en het was pas met de uitvinding van het poly-alfabetische cijfer door Leon Battista Alberti in de 15de eeuw dat de codemakers terug een stap voor waren op de codebrekers. Poly-alfabetische cijfers zoals Vigenère gebruiken meerdere alfabet sets bij het vercijferingsproces. Eeuwenlang werden deze cijfers onbreekbaar geacht, totdat Charles Babbage in de 19de eeuw de techniek van multiple frequentieanalyse ontwikkelde.

Cryptografie werd intensief gebruikt door overheden om hun diplomatieke post te beveiligen. In de 18de eeuw begonnen alle belangrijke landen in Europa cryptologen te rekruteren om ofwel hun eigen communicatie, meestal brieven via postdienst, te beveiligen, ofwel om die van andere landen te ontcijferen. Deze bureaus werden bekend als de Zwarte Kamers. Sommige van de meest beruchte Zwarte Kamers waren de Oostenrijkse Geheime Kabinets-Kanzlei in Wenen, het Franse Cabinet Noir en later de Britse Room 40. Berucht in die zin dat zij zeer bedreven waren in het onderscheppen en ontcijfering van allerhande militaire en diplomatieke post van vriend en vijand. Cryptografie werd al snel een belangrijk wapen in de politiek en de vele oorlogen in Europa.

Tegen het einde van de 19de eeuw kwam er belangrijke vooruitgang in de cryptografie. Auguste Kerckhoffs was één van de belangrijkste mensen die cryptografie veranderde van donkere kunst in wetenschap. Het was Kerckhoffs die het fundamentele principe verklaarde dat goede vercijfering nooit mag gebaseerd zijn op de geheimhouding van het algoritme - dat sowieso vroeg of laat gecompromitteerd word - maar enkel gebaseerd op de geheimhouding van de sleutel.

Tijdens de Eerste Wereldoorlog werden veel nieuwe pen-en-papier cijfers of handcijfers ontwikkeld. Veel gebruikte cijfers waren ADFGVX, Playfair en Dubbele Transpositie. Zij waren allen gebaseerd op transpositie, substitutie en fractionering van letters. Een belangrijke uitvinding was de one-time pad vercijfering voor Telex signalen door Gilbert Vernam in 1917. Hij ontdekte dat wanneer een Telex signaal gemixt werd met een willekeurige sleutel, even lang als het bericht, het bericht onbreekbaar was. Pen-en-papier versies, ook wel éénmalige blokcijfers genoemd, volgden weldra. Met de opkomst van draadloze communicatie groeide de vraag naar veilige communicatie exponentieel. De onpraktische en tijdrovende handcijfers konden de groeiende berichtenstroom niet aan en dit leidde tot de ontwikkeling van de eerste codeermachines, ook wel cijfermachines of cryptomachines genoemd.

George Fabyan richtte in 1913 een particulier onderzoekslaboratorium op in Illinois, VS, dat pionierde in moderne cryptografie, later bekend als het Department of Codes and Ciphers van Riverbank. Tijdens de Eerste Wereldoorlog hielp Riverbank verschillende Amerikaanse overheidsdiensten met cryptoanalyse en trainde hij militairen. Hun meest bekende codebrekers waren William F. Friedman en Elizebeth Smith, die later trouwden. William werd in 1921 hoofd cryptoanalist voor het Ministerie van Oorlog en leidde later meer dan twee decennia de U.S. Signals Intelligence Service (SIS).

Na de Eerste Wereldoorlog domineerden twee types codeermachines de markt. De elektromechanische rotormachines zoals de Duitse Enigma, de Siemens & HalskeT-52 en de Britse Typex enerzijds, en de volledig mechanische pin-en-lug type machines zoals de Hagelin modellen anderzijds. Hoewel de machines het meeste werk overnamen bleven handcijfers toch in gebruik voor korte-termijn tactische doeleinden, waar de tijd, nodige om het bericht te breken, de ontcijferde informatie tactisch nutteloos maakte.

Zo werd bijvoorbeeld de Dubbele Transpositie vanwege zijn hoge veiligheid gebruikt tijdens de Tweede Wereldoorlog door zowel de Geallieerden als de As-mogendheden. Het Duitse leger introduceerde in 1944 de Rasterschlussel 44 en het duurtde te lang voor de Geallieerde strijdkrachten om deze vercijferen te breken om takttisch nuttig te zijn. Sommige pen-en-papier cijfers zoals de one-time pads bleven in gebruik tot in de Koude Oorlog en zelfs nadien nog door inlichtingendiensten, vanwege hun absolute veiligheid.

Elizebeth Friedman werkte vanaf 1923 voor de Amerikaanse marine en het ministerie van Financiën en ontcijferde de communicatie van rumsmokkelaars tijdens de drooglegging, drugssmokkelaars, en binnenlandse en internationale criminele activiteiten. William Friedman schreef acht monografieën waarvan "The Index of Coincidence and its Applications in Cryptography" destijds de belangrijkste van de moderne cryptografie was.

Alle belangrijke landen realiseerden zich het belang van informatievergaring en nieuwe organisaties zagen het licht. In Engeland werd Room 40 gereorganiseerd tot de Government Communications & Cipher School (GC&CS), die een beslissende rol speelde tijdens de Tweede Wereldoorlog. Enkele van hun meest bekende cryptologen waren Alastair Denniston, Dilly Knox en John Tiltman. GC&CS was in oorlogstijd de voorloper van het huidige British Government Communications Headquarters (GCHQ).

In de Verenigde Staten waren de Signal Intelligence Service (SIS) en de Communications Security section van het Office of Naval Communications (OP-20-G) de belangrijkste codebrekers, met legendarische cryptologen zoals William Friedman en Meredith Gardner. Elizebeth Smith werkte voor de Coast Guard Cryptanalytic Unit 387 en de FBI, en leidde het breken van de Enigma machines, gebruikt door Duitse spionnen in Zuid-Amerika.

De Tweede Wereldoorlog leidde tot een hele reeks nieuwe codeermachines zoals de Amerikaans SIGABA en SIGCUM, en de Duitse Lorenz SZ-40 en Schlusselgeraet 41/42. Om het enorme aantal vercijferde berichten te breken zochten de codebrekers naar nieuwe geautomatiseerde technieken. In Bletchley Park ontwikkelden Max Newton en Tommy Flowers de Colossus, de eerste programmeerbare digitale computer, om de Lorenz berichten te breken. Dit was de eerste stap in de evolutie van cryptografie naar het tijdperk van de computers. Modernere codeermachines zoals de TSEC/KL-7, Fialka M-125, Hagelin CX-52 en de KL-51 bleven echter domineren tot eind jaren '80, toen de digitalisering definitief doorbrak.

Het was Claude Elwood Shannon die in 1948 de basis legde voor moderne cryptografie met zijn beroemde informatietheorie. William Friedman werd in 1949 hoofd van de cryptografische afdeling van de US Armed Forces Security Agency (AFSA) en daarna in 1952 hoofdcryptoloog voor AFSA's opvolger, het National Security Agency (NSA). Elizebeth en William Friedman leidden de Verenigde Staten naar het moderne tijdperk cryptografie.

De ontwikkeling van elektronica en digitale computers maakte het ontwerpen mogelijk van algoritmes die complexer waren dan ooit tevoren. Deze nieuwe algoritmes waren niet meer gebaseerd op eenvoudige substitutie en transpositie, maar op grote aantallen complexe bewerkingen op data bits. Eén van de eerste blokcijfers - encryptie op blokken van data bits - was het Lucifer algoritme, ontwikkeld door Feistel en Coppersmith voor IBM, en gebaseerd op wat men een Feistel netwerk noemt. Dit was de voorloper van DES, de allereerste cryptografische standaard.

De revolutie op gebied van computers leidde echter niet alleen tot betere vercijferingstechnieken maar ook tot betere en snellere technieken om vercijferde data te breken. De race tussen codemakers en codebrekers ging voort zoals voorheen. Absolute veiligheid was één van de redenen dat one-time pad systemen in gebruik bleven tot de jaren 80 voor o.a. Telex verkeer, hoewel de duren en complexe sleuteldistributie,' een typisch nadeel van one-time pad, enkel haalbaar was voor het leger en de diplomatie.

Tot de jaren '70 bleef de wereld van cryptografie zeer gesloten en vooral gecontroleerd door overheidsinstanties. Dit veranderde drastisch met de open publicatie van DES, de Data Encryption Standard, en het RSA Public Key Algoritme. Het principe van Kerckhoffs volgend werden nieuw ontworpen algoritmes publiek vrijgegeven, om hen te onderwerpen aan intensief academisch onderzoek. Het voordeel is duidelijk. Een grote open cryptografische gemeenschap kan nu nieuwe algoritmes beoordelen, zwakheden ontdekken, verbeteringen voorstellen of het gebruikt van zwakke algoritmes afwijzen. Dit leidde tot een 'overleven van de sterkste', met kwalitatieve crypto standaarden. Desalniettemin worden nog steeds geheime algoritmes ontwikkeld, meestal voor gebruik binnen overheidsdiensten.

De meest gebruikte en publiek beschikbare symmetrische algoritmes van vandaag zijn de Advanced Encryptions Standard (AES) en de International Data Encryption Algorithm (IDEA). Niettemin worden er nog steeds geheime algoritmes ontwikkeld en gebruikt, vooral door overheidsinstanties. Een ander type computer algoritmes zijn de stream ciphers of stroomcijfers. Zij werden ontwikkeld als antwoord op het distributieprobleem van lange sleutels zoals gebruikt bij one-time pads. Waar blokcijfers een cryptografische functie uitvoeren op een blok data bits van vaste grootte, genereert men bij stroomcijfers een lange reeks van willekeurige waarden, die dan gemixt worden met de klare informatie. Enkele bekende stroomcijfers zijn RC4, SEAL en SOBER.

Cryptografie gaat Mainstream Top

De belangrijkste ontwikkeling in de moderne cryptografie was de publieke-sleutel cryptografie. Tot 1970 was alle encryptie gebaseerd op symmetrische-sleutel cryptografie. Zowel vercijfering als ontcijfering worden uitgevoerd met dezelfde sleutel. De verzender en ontvanger van de informatie dienen dezelfde sleutel te bezitten. Het nadeel van dit systeem is de sleuteldistributie met verscheidene veiligheidsrisico's. De uitvinding van asymmetrische publieke-sleutel cryptografie door James Ellis was een revolutie in de wereld van cryptografie. Bij publieke-sleutel cryptografie worden twee sleutels gebruikt. Een publieke sleutel, die enkel gebruikt wordt voor vercijfering, en een private - geheime - sleutel voor ontcijfering.

Sindsdien kan men de publieke sleutel vrij beschikbaar maken. Iedereen kan een bericht, voor u bestemd, vercijferen met uw publieke sleutel, maar enkel u kunt het bericht ontcijferen met uw private sleutel. Het is niet meer noodzakelijk om een geheime sleutel te delen! James Ellis' uitvinding in het Government Communications Headquarters (GCHQ), de opvolger van de GC&CS, bleef topgeheim. Maar in 1976 stelden Whitfield Diffie en Martin Hellman hun eigen asymmetrisch publieke-sleutel algoritme voor, en in 1978 ontwikkelden Ronald Rivest, Adi Shamir, en Len Adleman het RSA algoritme. Vanwege hun oplossing van het probleem van sleuteldistributie zijn de Diffie-Hellman en RSA algoritmes vandaag enkele van de meest gebruikte ter wereld.

Publieke-sleutel algoritmes zijn gebaseerd op het probleem van complexe berekeningen. Het Diffie-Hellman algoritme is gebaseerd op het probleem van discrete logaritmes en RSA is gebaseerd op het probleem van ontleden van grote priemgetallen. Publieke-sleutel algoritmes vereisen grote sleutels en veel berekeningen, wat hen enkel geschikt maakt voor vercijfering van kleine hoeveelheden informatie. Daarom wordt het bericht of de data vercijferd met een traditioneel symmetrisch algoritme met behulp van een geheime sleutel, en die sleutel wordt dan vercijferd met een asymmetrisch publieke-sleutel algoritme om de geheime sleutel veilig uit te wisselen. Dit alles kom in één handig geautomatiseerd pakketje.

Vandaag wordt dat principe dagelijks ontelbare keren toegepast, zonder het te weten, door iedereen die een veilige website bezoekt met https. Een andere populaire toepassing is bijvoorbeeld Philip Zimmermann's PGP, de combinatie van een krachtig symmetrisch blokcijfer, praktische asymmetrische publieke-sleutel cryptografie en een digitale handtekening, om veilig e-mails te verzenden of documenten te ondertekenen.

Authenticatie, data-integriteit en digitale handtekeningen zijn ook een belangrijk tak van cryptografie. We kunnen wachtwoorden op een server beschermen, en de inhoud van elk gegevensbestand vertrouwen, met behulp van een hash-functie. Dat is een speciale cryptografische éénrichtingsfunctie die een invoer van een variabele lengte neemt, bijvoorbeeld een wachtwoord of een computerbestand, en daarvan een unieke hexadecimale tekenreeks van vaste grootte berekend, genaamd hash-waarde of hash. Deze unieke hash kan niet worden gebruikt om het originele wachtwoord of bestand omgekeerd te berekenen en te reconstrueren, vandaar de naam eenrichtingsfunctie. Het is daarom onmogelijk om een wachtwoord te verkrijgen op basis van de hash-waarde, of om met een document te knoeien zonder de hash te veranderen. Zelfs de verandering van één enkele bit zal resulteren in een totaal andere hash.

Elke website die beveiliging serieus neemt, bewaart enkel de hash van uw wachtwoord op hun server. Als u inlogt op uw account, wordt uw wachtwoord eerst omgezet in een hash-waarde, vergeleken met uw originele hash op de server, en alleen geaccepteerd als beide hash-waarden identiek zijn. Zelfs als een hacker uw hash op de server in handen krijgt, is het voor hem onmogelijk om met die hash het oorspronkelijke wachtwoord te herberekenen, nodig is voor het verificatieproces.

De authenticiteit van een ontvangen document, software, of eender welk digitaal bestand, kan worden geverifieerd door de hash ervan te berekenen, en deze te vergelijken met de hash die gepubliceerd is door de oorspronkelijke auteur van het bestand. Hash berekening gratis online beschikbaar of als software. SHA256 en SHA512 zijn populaire hash-algoritmes, en de SHA-3-serie, van SHA3-224 tot SHA3-512, behoort tot de veiligste hash-algoritmes. Opgelet, gebruik nooit een online hash calculator voor actieve wachtwoorden, want uw wachtwoord blijft mogelijk niet privé!

Dit proces kan ook volledig geautomatiseerd worden met een digitale handtekening, waarbij gebruik wordt gemaakt van publieke-sleutel algoritme. Wanneer een auteur zijn document of bestand ondertekent, wordt een unieke hash-waarde van dat document berekend, die vervolgens wordt vercijferd met de privésleutel van de auteur. Het resultaat is een digitale handtekening. De ontvanger van een document ontcijfert de handtekening met de publieke sleutel van de oorspronkelijke auteur en controleert de hash-waarde om de authenticiteit van het document te bevestigen. De integriteit van digitale handtekeningen vereist een Public Key Infrastructure of PKI, waarbij een vertrouwde Certificate Authority (CA) veilige sleutels genereert en opslaat, en digitale certificaten uitgeeft.

Cryptografie vandaag Top

Wat betekent cryptografie voor u? Alles! Vandaag is cryptografie verweven in alle aspecten van ons leven. Als u verbinding maakt met het Internet om te surfen, te e-mailen of inloggen op uw favoriete forum, dan is die verbinding beveiligd met TLS (Transport Layer Security). Het TLS protocol maakt gebruik van het publieke-sleutel cryptografie in combinatie met krachtige symmetrische encryptie, om onderschepping of vervalsing te voorkomen. En het is niet enkel uw computer die cryptografie gebruikt. Als we gaan winkelen, scant men onze klantenkaart en de gegevens gaan naar een beveiligde database. Als u betaalt met de bankkaart of geld afhaalt van de bankautomaat worden de transacties beveiligd door cryptografie. Informatie op de chip van uw identiteitskaart is vercijferd. Uw gesprekken via GSM worden gedigitaliseerd en vercijferd om afluisteren te voorkomen.

Telkens u de afstandsbediening gebruikt van de centrale vergrendeling van uw auto communiceert de sleutel met uw auto om een nieuwe unieke sleutel te genereren, beveiligd door cryptografie. Laat het ons zo stellen: Wat zou u ervan denken als iemand, bijvoorbeeld uw makelaar van uw levensverzekering, eenvoudigweg via het Internet de computerbestanden van uw dokter kan inzien? Of iemand die uw gerechtelijk dossier kan inzien zonder toestemming? Wat als uw werkgever uw bankverrichtingen kan nazien? Cryptografie verhindert mensen om uw privacy te schenden.

Het belangrijkste voordeel van cryptografie is inderdaad privacy. Vandaag zijn onze levens echter volledig gedigitaliseerd. Vrijwel al uw persoonlijke informatie is opgeslagen in één van de vele databases van de overheid, politie, gemeentediensten, sociale instellingen, banken, commerciële instellingen en noem maar op. Al deze informatie kan in de handen van onbevoegden komen of zelfs misbruikt worden. Dit betekent dat we kwaliteitsvolle encryptie nodig hebben en de technologie in handen moeten houden om onze privacy te vrijwaren.

Overheden zijn terughoudend om hun burger sterke cryptografie te laten gebruiken, en doen ze dat toch, dan willen ze er controle over behouden. Een veel gebruikt argument door de overheid is dat wanneer iedereen sterke encryptie kan gebruiken, de criminelen dit ook kunnen. Dit houdt natuurlijk geen steek want criminelen hebben genoeg methodes om hun privacy te vrijwaren. Sterke encryptie verbieden zou de strijd tegen criminaliteit niet vergemakkelijken, en zou de overheid in staat stellen om hun burgers in de gaten te houden. Wetten kunnen gemaakt worden om de sterkte van cryptografische software te beperken, gedeelde-sleutel protocollen te verplichten, of inlichtingendiensten toe te laten uw gegevens te kraken.

Overheidsinstellingen, verantwoordelijk voor goedkeuring en export van cryptografie zouden patenten kunnen blokkeren of enkel algoritmes toelaten die ze zelf kunnen kraken. U kunt misschien geen bezwaar hebben tegen het schenden van uw privacy of het lezen van uw e-mail door de regering, maar enkel in geval van nood, én met toelating van justitie. Maar regeringen en wetten kunnen wijzigen en wat vandaag een democratisch verkozen regering is kan morgen totalitaire trekjes krijgen. Daarom moeten wij vrij kunnen beschikken over sterke cryptografische toepassingen om onze basisrechten en privacy te vrijwaren, vandaag én morgen. Is cryptografie belangrijk voor u? Absoluut!

Meer op deze website Top

Meer informatie (off-site, opent in nieuwe tab) Top

  • MD5Calc.com Online hash calculator for text, with all the moderns hash algorithms
  • FileFormat.Info Online hash calculator for files and text, instant calculation to different hash algorithms
  • Waarschuwing! Gebruik nooit een online hash calculator voor actieve wachtwoorden, want uw wachtwoord blijft mogelijk niet privé!

Web Analytics Made Easy -
StatCounter

© Dirk Rijmenants 2004. Last changes: 14 December 2023

Home