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
ByteDance gaat AI-videomodel aanpassen na Hollywood-waarschuwingen
© Thitichaya - stock.adobe.com
Huis

ByteDance gaat AI-videomodel aanpassen na Hollywood-waarschuwingen

ByteDance, het bedrijf dat ook eigenaar is van TikTok, heeft beloofd zijn AI-videotool Seedance 2.0 aan te passen nadat verschillende filmstudio's kritiek hebben geuit en zelfs hebben gedreigd met juridische stappen.

Met Seedance 2.0 kunnen gebruikers realistisch ogende video's met bekende acteurs maken. Afgelopen week ging een filmpje viral waarin acteurs Tom Cruise en Brad Pitt bovenop een gebouw vechten. Die video is geheel met AI gemaakt en heeft dus niets van doen met de echte acteurs.

Verschillende filmstudio's hebben hier kritiek op geuit, en The Walt Disney Company eist zelfs (via Axios) dat ByteDance het onmogelijk maakt om auteursrechtelijke personages in Seedance 2.0 te gebruiken. Mensen kunnen immers ook personages uit Disney-, Marvel- en Star Wars-films gebruiken voor de AI-tool. Ook Paramount heeft een brief gestuurd naar Variety.

ByteDance heeft op zijn beurt een statement naar buiten gebracht (via o.a. Reuters en BBC) waarin het claimt dat het de huidige beveiligingsmaatregelen gaat aanscherpen om zo te voorkomen dat gebruikers bestaande personages en acteurs in kunnen zetten. Op welke manier het bedrijf dat precies gaat doen is niet duidelijk.

Watch on YouTube
▼ Volgende artikel
Nioh 3-bugs maken progressie onmogelijk, Team Ninja werkt aan oplossingen
© Team Ninja
Huis

Nioh 3-bugs maken progressie onmogelijk, Team Ninja werkt aan oplossingen

Het kan zijn dat mensen die recentelijk aan Nioh 3 zijn begonnen geen progressie kunnen boeken vanwege verschillende bugs. Ontwikkelaar Team Ninja heeft aangegeven op de hoogte te zijn van de problemen en aan oplossingen te werken.

Een van de voornaamste problemen licht de ontwikkelaar ook uit op X. Spelers die de zogenaamde Crucible Manifesto voltooien en vervolgens naar de Eternal Rift gaan en daar dialogen van het personage Nekomoto overslaan - door bijvoorbeeld een menu te openen - kunnen daarna de missie niet voltooien. Hierdoor blijven ze dus vastzitten in de game. Ook het starten van een cutscene door bijvoorbeeld aan een Battle Scroll te beginnen, halteert progressie.

Team Ninja zegt dat de bug te vermijden is door dus geen menu’s te openen of tussenfilmpjes in te starten wanneer Nekomoto begint te praten. Wie nu al last heeft van dit probleem moet helaas wachten op de patch waar de ontwikkelaar momenteel aan werkt. Wanneer die uitrolt is nog niet bekend, maar gezien dit probleem op ieder beschikbaar platform optreedt wordt het - als het goed is - ook overal opgelost.

View post on X

Over Nioh 3

In Nioh 3 doen spelers een open veld aan, dat overgenomen is door de zogenaamde Crucible en bomvol yokai - lees: geesten - zit. Je hebt twee gevechtssstijlen om deze monsters mee tegen te gaan: een meer actiegerichte Samurai-stijl en de Ninja-stijl die meer focus legt op snelheid en het gebruiken van speciale aanvallen. Door continu te wisselen tussen deze stijlen moet je deze soulslike kunnen overwinnen - als de code dus geen roet in het eten gooit.