ID.nl logo
Alles over de verschillende encryptie-soorten
© Reshift Digital
Huis

Alles over de verschillende encryptie-soorten

Wat is encryptie en hoe werkt het in grote lijnen? In dit artikel kijken we naar de verschillende encryptie-soorten die mogelijk zijn.Belangrijke basiskennis voor elke computergebruiker die zijn communicatie graag privé houdt.

Bij encryptie of versleuteling wordt een boodschap (de ‘plaintext’) op zo’n manier gecodeerd dat alleen iemand met de juiste sleutel de oorspronkelijke boodschap kan decoderen. De versleutelde versie van de boodschap wordt ook wel ‘ciphertext’ genoemd. Wie de ciphertext dus weer in de oorspronkelijke boodschap wil omzetten (dat proces heet ‘decryptie’), heeft de sleutel nodig. De sleutel is in principe een willekeurig getal. In de praktijk maken we gebruik van een wachtwoord en dus wordt het wachtwoord via een ‘key derivation function’ eerst omgezet naar een willekeurig getal dat dan als sleutel dient.

Er bestaan diverse manieren om die versleuteling uit te voeren. Zo’n manier heet een encryptie-algoritme of ‘cipher’. De Nederlandse taalkundige en cryptograaf Auguste Kerckhoffs stelde al in de 19de eeuw een belangrijk ontwerpprincipe op: een encryptie-algoritme moet zelfs veilig zijn als alle details van het systeem publiek bekend zijn, behalve de sleutel. Dit principe van Kerckhoffs is anno 2020 nog altijd even belangrijk voor de veiligheid van een encryptie-algoritme.

Als iemand je dus wil overtuigen om een propriëtair, topgeheim encryptiesysteem te gebruiken, loop er dan maar in een wijde boog omheen. De enige verantwoorde keuzes voor encryptiesystemen zijn algoritmes waarvan de specificatie openbaar is, waarvan de ontwikkeling in open commissies gebeurt en waarvan opensource implementaties bestaan.

Symetrische en asymetrische encryptie

De diverse encryptie-algoritmes zijn in twee groepen onder te verdelen: symmetrische en asymmetrische. Bij die eerste (‘symmetric-key encryption’) gebeuren de encryptie en decryptie met dezelfde sleutel. Een voorbeeld van zo’n algoritme is AES (Advanced Encryption Standard). Bijna alle programma’s die tegenwoordig symmetrische encryptie aanbieden, doen dat met AES. Zo ook BitLocker in Windows, FileVault in macOS en LUKS (Linux Unified Key Setup) in Linux.

Algoritmes voor symmetrische encryptie werken doorgaans snel. Maar dat encryptie en decryptie dezelfde sleutel vereisen, zorgt in heel wat situaties voor praktische problemen. Als je een versleutelde boodschap met iemand wilt uitwisselen, dienen de ontvanger en jij namelijk ook de gebruikte sleutel uit te wisselen. Dat doe je het liefst op een veilige manier, maar de vraag is hoe: met encryptie? Maar hoe zit het dan met de sleutel daarvoor?

Asymmetrische encryptie (met als bekendste algoritme RSA) pakt dit probleem aan door de sleutel voor encryptie en de sleutel voor decryptie los te koppelen. Bij deze vorm van encryptie heb je namelijk niet één sleutel meer voor encryptie én decryptie, maar een sleutelpaar. Twee afzonderlijke sleutels: één voor encryptie en één voor decryptie.

Hoe werkt dat in de praktijk? De encryptiesleutel publiceer je en iedereen mag die zien. Deze sleutel wordt dan ook de publieke sleutel genoemd. De decryptiesleutel houd je zelf bij en je zorgt dat alleen jijzelf deze sleutel kan inzien. Die heet daarom ook de geheime sleutel (‘private key’). Als iemand een boodschap met je publieke sleutel versleutelt, kan alleen jij met de bijbehorende geheime sleutel de boodschap decrypteren.

©PXimport

Digitale handtekening

Als je de twee sleutels omdraait, krijg je iets heel anders: een digitale handtekening. Je zendt dan een boodschap (onversleuteld) aan iemand anders en zendt ook diezelfde boodschap mee, versleuteld met je eigen geheime sleutel.

De ontvanger kan met jouw publieke sleutel, die immers gewoon bekend is, de versleutelde boodschap decrypteren. Als er niets met de boodschap gebeurd is, zou die ontsleutelde boodschap exact moeten overeenkomen met de boodschap die je samen met de digitale handtekening hebt verzonden.

Het resultaat? De digitale handtekening garandeert twee zaken: authenticatie van de zender en integriteit van de boodschap. Jij bent namelijk de enige met toegang tot je geheime sleutel. Als de ontvanger met je bijbehorende publieke sleutel je digitale handtekening kan ontsleutelen, weet die dan ook zeker dat jij die digitale handtekening hebt aangemaakt. En omdat de ontsleutelde digitale handtekening exact overeenkomt met de boodschap die je stuurde, weet hij ook zeker dat niemand die boodschap tussen de zender en ontvanger heeft veranderd.

Hashwaarde

In de praktijk wordt die digitale handtekening niet berekend op de boodschap zelf, want dan zou elke boodschap dubbel zo groot worden: de boodschap zelf en een versleutelde versie daarvan. Daarom wordt een hashwaarde van de boodschap berekend.

Een hashwaarde is een getal van een vaste lengte, dat afhangt van een boodschap van willekeurige lengte. Een eigenschap van een hashwaarde is dat als de boodschap verandert, de hashwaarde ervan ook verandert. Als je de hashwaarde van twee boodschappen vergelijkt en die identiek zijn, ben je zo goed als zeker dat ook die boodschappen zelf identiek zijn, zonder dat je de inhoud van die boodschappen hoeft te kennen.

Een digitale handtekening maak je in de praktijk dan ook door een hashwaarde van je boodschap te berekenen, die hashwaarde te versleutelen met je geheime sleutel en het resultaat (een kort getal) mee te sturen met je boodschap. De ontvanger hoeft je digitale handtekening maar te ontsleutelen met je publieke sleutel en de resulterende hashwaarde te vergelijken met de hashwaarde van je boodschap, die hij eenvoudig kan berekenen.

©PXimport

Encryptie en handtekening tegelijk

Dit alles kun je nu ook nog combineren: je versleutelt je boodschap met de publieke sleutel van de ontvanger, berekent een hashwaarde van de (onversleutelde) boodschap en versleutelt die met je eigen geheime sleutel. De versleutelde boodschap stuur je samen met de digitale handtekening naar de ontvanger. Die ontsleutelt de boodschap met zijn geheime sleutel en ontsleutelt de digitale handtekening met jouw publieke sleutel. Hij berekent de hashwaarde van je ontsleutelde boodschap en vergelijkt die met de ontsleutelde digitale handtekening.

Op die manier heb je een boodschap naar de ontvanger gestuurd die niemand anders kan lezen en de ontvanger weet zeker dat jij de boodschap gestuurd hebt en dat er onderweg niets aan de boodschap veranderd is. Dat is de kracht van asymmetrische encryptie!

▼ Volgende artikel
PlayStation State of Play: hier kijk je vanavond om 23:00 uur
Huis

PlayStation State of Play: hier kijk je vanavond om 23:00 uur

Sony PlayStation zendt aanstaande donderdagavond om 23:00 uur Nederlandse tijd een nieuwe State of Play-livestream uit. Martin, Simon en Jacco kijken live met je mee!

Er gingen al geruchten over de komst van de State of Play, en die blijken nu dus te kloppen. Nate the Hate, de insider die wel vaker de komst van aan games gerelateerde presentaties op voorhand lekt, claimde dat onlangs namelijk al.

Op PlayStation Blog schrijft Sony dat de presentatie meer dan zestig minuten beslaat en "nieuws, gameplay-updates en aankondigingen van gamestudio's verspreid over de wereld" bevat voor aankomende PlayStation 5-games. Daarbij zullen er zowel games van PlayStation Studios zelf als andere bedrijven de revue passeren.

Zoals gezegd wordt de State of Play op donderdag 12 februari om 23:00 uur Nederlandse tijd uitgezonden, en zal deze te zien zijn via YouTube en Twitch. De presentatie zal ook hieronder te zien zijn zodra hij begint. Uiteraard streamen we de presentatie ook op Twitch, YouTube en TikTok!

Over de precieze inhoud van de State of Play-presentatie is nog niets bekend. Wel is het opvallend dat de presentatie meer dan een uur duurt, wat het een van de langste State of Play-presentaties tot dusver maakt.

Watch on YouTube

Wat is er te zien in de nieuwe State of Play?

Sony brengt dit jaar in ieder geval Saros, Marathon en Marvel's Wolverine uit, maar van die laatste is inmiddels bevestigd dat de game in de lente van dit jaar een update krijgt.

Verder werd vorige week een nieuwe Horizon-game met een focus op multiplayergameplay aangekondigd, genaamd Horizon Hunters Gathering. We weten ook dat The Last of Us-ontwikkelaar Naughty Dog aan hun nieuwe game Intergalactic: The Heretic Prophet werkt, en volgens geruchten wordt er bij PlayStation Studios ook een nieuwe God of War-game ontwikkeld met metroidvania-elementen.

Andere titels die vermoedelijk voorbijkomen zijn: Resident Evil Requiem, Helldivers 2, Marvel Tokon: Fighting Souls, Ace Combat 8, Marathon en Phantom Blade Zero.

Kunnen we dan helemaal geen verrassingen verwachten? Volgens geruchten werkt Sony Santa Monica al een tijdje aan een tweedimensionale God of War-game met Kratos' broer Deimos in de hoofdrol, en vermoed wordt dat deze eindelijk wordt aangekondigd. Sowieso zijn er veel God of War-geruchten: ook zou er gewerkt worden aan een heruitgave van de eerste drie delen en spin-off met personages Atreus in de hoofrol.

▼ Volgende artikel
Confrontatie tussen Simon en aartsrivaal Tom (IGN) - Power-Up Podcast #4
Huis

Confrontatie tussen Simon en aartsrivaal Tom (IGN) - Power-Up Podcast #4

De collab waarvan je niet wist dat je ’m nodig had, maar die er nu toch echt is! Nick Nijland en Tom van Stam van IGN Benelux schuiven aan om Simon eindelijk eens op z’n plek te zetten. Samen met Martin gaat hij de strijd aan in een ultieme PUP vs. IGN-quiz, waarin de gamekennis flink op de proef wordt gesteld! Natuurlijk ontbreken de bekende PUP-zijsporen niet, maar zijn er ook genoeg games om over te lullen: Marathon, Resident Evil 2, Reanimal en Mario Tennis Fever komen allemaal voorbij! Dus wil je weten of Simon z’n zinloze haat een béétje terecht is? Check de aflevering snel, baklap!

Watch on YouTube

00:00 Intro
01:40 IGN op bezoek
06:45 Zijspoor één: Helmond represent
10:05 Terug naar IGN
13:20 Hoe werkt IGN precies?
25:00 Zijspoor twee: Yvonne Coldeweijer
26:25 Gamequiz
44:25 Simon z’n Tom-haat-origin
49:40 Marathon
56:05 Tom speelt Chrono Trigger
58:15 Resident Evil 2
01:01:45 Nick speelt Overwatch
01:04:30 Fallout
01:08:20 Simon speelt Mario Tennis Fever
01:15:00 Death Howl
01:17:55 Martin speelt Reanimal
01:24:45 Apex Legends
01:28:15 PlayStation State of Play-voorspel
01:29:25 Simons magazine-dilemma
01:38:40 Outro

Je kan ook de podcast beluisteren hieronder of via deze link!