Dankzij cryptografie kunnen digitale activa worden verhandeld en geverifieerd zonder dat daarvoor een vertrouwde derde partij nodig is. Maar het concept bestaat al veel langer dan ons digitale tijdperk en is net als talen door de eeuwen heen geëvolueerd.
Definitie: Cryptografie is de wetenschap van het beveiligen van informatie door het om te zetten in een vorm die alleen de beoogde ontvangers kunnen verwerken en lezen.
Geschiedenis. De eerste bekende toepassing ervan dateert van het jaar 1900 voor Christus: afwijkende hiërogliefen in een Egyptische graftombe. De term zelf is afgeleid van de Griekse woorden kryptos en graphein, die respectievelijk verborgen en schrijven betekenen, schrijft Coindesk.
- Een andere beroemde toepassing werd ontwikkeld door Julius Caesar rond 40 v. Chr. en kreeg de toepasselijke naam Caesarcijfer.
- Een cijfer gebruikt een geheim stukje informatie dat je vertelt hoe je een bericht kunt vervormen en dus weer kunt ontcijferen.
- Caesar gebruikte een substitutiecijfer, waarbij elke letter van het alfabet werd vervangen door een letter op een andere vaste plaats verder omhoog of omlaag in het alfabet.
- Het alfabet kon bijvoorbeeld vijf plaatsen naar rechts worden verplaatst, wat betekende dat de letter “A” nu “F” zou zijn, “B” zou nu “G” zijn, enzovoort.
- Dit betekende dat hij berichten kon doorgeven zonder bang te hoeven zijn dat ze zouden worden onderschept, omdat alleen zijn officieren wisten hoe ze het bericht moesten ontcijferen.
- Een andere belangrijke naam uit de geschiedenis van de cryptografie is die van Giovan Battista Bellaso. Hij was de 16de-eeuwse cryptoloog die het Vigenèrecijfer (ten onrechte toegeschreven aan de diplomaat Blaise de Vigenère) ontwierp, waarvan men denkt dat het het eerste cijfer was dat een vercijferingssleutel gebruikte. Hier wordt de werking ervan uit de doeken gedaan.
- Na Bellaso kwamen de computers, die veel meer gesofisticeerde cryptografie mogelijk maakten.
Hoe werkt cryptografie?
Er zijn vele manieren om informatie te versleutelen, en de mate van complexiteit hangt af van de mate van bescherming die de gegevens vereisen. Maar gewoonlijk zien we drie soorten cryptografische algoritmen en nog een andere manier waarop cryptografie gebruikt wordt.
1. Symmetrische versleuteling
Symmetrische versleuteling – of geheime sleutel-versleuteling – berust op één enkele sleutel.
- Dit betekent dat de verzender en de ontvanger van de gegevens dezelfde sleutel delen, die vervolgens wordt gebruikt om de informatie zowel te versleutelen als te ontsleutelen.
- Daartoe moet de geheime sleutel van tevoren worden overeengekomen.
- Hoewel dit nog steeds een goede bron van versleuteling is, houdt het feit dat er slechts één sleutel is die de informatie beschermt, in dat er enig risico bestaat wanneer de informatie over onveilige verbindingen wordt verzonden.
- Stel je voor dat je de sleutel van je voordeur wilt delen met een vriend door hem onder je deurmat te verstoppen. Je vriend heeft nu toegang tot je huis. Maar er is ook een kans dat een vreemdeling de sleutel vindt, en zonder je toestemming betreedt.
2. Asymmetrische versleuteling
Bij asymmetrische versleuteling – of versleuteling met openbare sleutel – worden twee sleutels gebruikt.
- Dit extra beveiligingsniveau verhoogt onmiddellijk de bescherming van de gegevens.
- In dit geval dient elke sleutel slechts één doel. Er is een openbare sleutel die met iedereen kan worden uitgewisseld, via elk netwerk.
- Deze sleutel bevat de informatie over hoe de gegevens moeten worden versleuteld en iedereen kan hem gebruiken.
- Maar er is ook een privésleutel. De private sleutel wordt niet gedeeld en bevat de informatie over hoe het bericht kan worden gedecodeerd.
- Beide sleutels worden gegenereerd door een algoritme dat grote priemgetallen gebruikt om twee unieke, mathematisch verbonden sleutels te creëren.
- Iedereen die toegang heeft tot de publieke sleutel kan deze gebruiken om een bericht te versleutelen, maar alleen de houder van de private sleutel kan het bericht ontcijferen.
- Het werkt bijna als een brievenbus. Iedereen kan een bericht in de brievenbus deponeren. Maar alleen de eigenaar van de brievenbus heeft de sleutel om hem te openen en de berichten te lezen. Dit is ook de basis voor de meeste cryptotransacties.
3. Hashfuncties
Hashfuncties zijn een andere manier waarop cryptografie informatie kan beveiligen. Maar in plaats van sleutels te gebruiken, vertrouwt het op algoritmes om elke gegevensinvoer om te zetten in een reeks karakters met een vaste lengte.
- Hashfuncties verschillen ook van andere vormen van encryptie omdat ze maar één kant op werken, wat betekent dat je een hash niet kunt terugdraaien naar de oorspronkelijke gegevens.
- Hashes zijn essentieel voor blockchainbeheer omdat ze grote hoeveelheden informatie kunnen versleutelen zonder de originele gegevens te compromitteren.
- Deze georganiseerde manier om gegevens te structureren verhoogt niet alleen de efficiëntie; hashes kunnen immers ook fungeren als digitale vingerafdrukken voor alle gegevens die zijn versleuteld.
- Dit kan dan worden gebruikt om te verifiëren en te beveiligen tegen ongeoorloofde wijzigingen tijdens het transport door netwerken.
- Elke wijziging aan de originele gegevens zou resulteren in een nieuwe hash, die niet langer overeen zou komen met de originele bron en daarom niet verifieerbaar zou zijn op de blockchain.
4. Digitale handtekeningen
Een digitale handtekening is een ander belangrijk aspect om de veiligheid, authenticiteit en integriteit van gegevens in een bericht, software of digitaal document te waarborgen.
- Zoals hun naam suggereert, werken ze op dezelfde manier als fysieke handtekeningen en zijn ze een unieke manier om je identiteit te verbinden aan gegevens en dus te fungeren als een manier om de informatie te verifiëren.
- Maar in plaats van een uniek teken dat je identiteit weergeeft, zoals bij fysieke handtekeningen, zijn digitale handtekeningen gebaseerd op openbare sleutel-cryptografie.
- De digitale handtekening komt in de vorm van een code, die vervolgens aan de gegevens wordt gehecht dankzij de twee wederzijds authenticerende sleutels.
- De verzender creëert de digitale handtekening door een privésleutel te gebruiken om de gegevens met betrekking tot de handtekening te versleutelen, terwijl de ontvanger de publieke sleutel van de ondertekenaar krijgt om de gegevens te ontsleutelen.
- Deze code dient als bewijs dat een bericht door de afzender is opgesteld en dat er tijdens de overdracht niet mee geknoeid is, en zorgt ervoor dat de afzender niet kan ontkennen dat hij het bericht heeft verzonden.
- Als de ontvanger het ondertekende document niet kan ontcijferen en lezen met de verstrekte openbare sleutel, blijkt er een probleem te zijn met het document of de handtekening, en kan het document dus niet worden geauthenticeerd.
Relevantie voor cryptomunten
Een grote aantrekkingskracht van cryptomunten is de veiligheid en transparantie op het blockchainnetwerk. Dat alles berust op cryptografische mechanismen. Dat is hoe de meeste op blockchain gebaseerde cryptomunten veiligheid handhaven, en daarom vormt het de aard zelf van cryptomunten.
Het was op een cryptografisch internetforum in 2009 dat Bitcoinbedenker Satoshi Nakamoto een manier voorstelde om het probleem van dubbel geld uitgeven op te lossen, dat lange tijd de achilleshiel van digitale valuta’s was geweest. Het “double spend”-probleem treedt op wanneer dezelfde eenheid crypto twee keer kan worden uitgegeven, wat het vertrouwen in de munt als online betaalmiddel zou ondermijnen en ze in wezen waardeloos zou maken.
Nakamoto stelde voor om een peer-to-peer gedistribueerd grootboek te gebruiken dat werd voorzien van een tijdstempel en beveiligd met cryptografische middelen. Dat leidde tot de creatie van de blockchain zoals we die vandaag kennen. Zoals met alle technologie, zal cryptografie evolueren om gelijke tred te houden met de vraag naar een veilige digitale omgeving. Dit is vooral het geval met de groeiende adoptie van blockchains en cryptomunten over industrieën en grenzen heen.
Dit artikel kadert in een artikelenreeks die alle weetjes over de cryptomarkt poogt te verzamelen: Crypto 101. Hou onze website dus zeker in de gaten voor toekomstige stukken!
Eerder verschenen in de reeks:
- Hoe werken Bitcoin-transacties?
- 4 begrippen die u moet kennen om cryptokoersgrafieken juist te interpreteren
- Wat zijn smart contracts en hoe werken ze?
- Wat is het verschil tussen “proof of work” en “proof of stake” cryptomunten?
- Wat bepaalt de prijs van een Bitcoin?
- Wat is blockchain?
(jvdh)