Skip to main content
DieperWat is...

Encryptie & Versleuteling: Intro (deel 1)

Door 18 december 2023december 22nd, 2023Geen reacties

Zit je goed neer? Koffie of popcorn bij de hand? Want dit wordt een stevig artikel.

Niet dat we het per sé moeilijker gaan maken voor jou, maar encryptie is de standaard als het op beveiliging op het Internet aankomt.

Voor alles wat veilig moet gebeuren, zit encryptie er wel voor iets tussen. Maken dat niemand jouw bankrekening kan plunderen, kan meekijken naar alles waar jij naar surft, bij het aanmelden op gelijk welk systeem of website waar je moet bewijzen dat jij het wel degelijk bent… alles draait rond encryptie.

Encryptie steunt op een aantal wiskundige principes. Wat het niet eenvoudiger maakt op dit even snel uit te leggen.

Maar je kent ons, we proberen het je zo helder mogelijk uit te leggen, zonder te verdwalen in de technische en wiskundige details. De bossen zien tussen de bomen, weet je wel? Hier gaan we.

Encryptie gaat ver terug. De eerste sporen vinden we al bij de Egyptenaren bijna 2000 jaar voor onze jaartelling.

Je kan encyryptie lezen als “versleutelen”. Als je jouw gegevens ‘versleuteld’, betekent dit dat niemand jouw gegevens kan lezen, tenzij ze de sleutel weten (of hebben)

Een voorbeeld? Jazeker!

Stel, je moet een wachtwoord onthouden, maar je wilt het toch per sé opschrijven. Ik heb al vaak in andere artikels beschreven dat dit een slecht idee is… maar goed…. je bent koppig, ik snap het. Het wachtwoord dat je wil opschrijven is “PIETSNOL”

Gelukkig ben je vandaag wat slimmer…. “Bij de pinken” is het gezegde. Want je schrijft niet zomaar het wachtwoord in een boekje; je hebt gekozen om het te versleutelen! Om te versleutelen, moet jij als “veesleutelaar” (diegene die gegevens versleuteld) moet je een sleutel kiezen.
In dit voorbeeld kiezen we voor een heel eenvoudige sleutel, zijnde: “letter van het alfabet + 1”
Als je een letter A wil onthouden, schrijf je dus de volgende letter (+1) in het alfabet, zijnde een B.
Als je een letter B wil onthouden, dan schrijf je de volgende letter, zijnde de C.
Als je een letter K wil onthouden… dan schrijf je L…. je snap het ondertussen wel.

Dus het wachtwoord PIETSNOL van daarnet, wordt dan… “QJFUTOPM”

Proficiat, je hebt zonet een eerste set van gegevens versleuteld, of geëncrypteerd. Zonder de sleutel “letter + 1” zal niemand jouw wachtwoord kunnen misbruiken, als ze de letters QJFUTOPM zien staan.

Wachtwoorden versleutelen is één toepassing. Maar in een ander veel gebruikt toepassing wil je een bericht versleutelen vooraleer je het verstuurd. Op die manier zal een bericht dat door een snodaard onderschept werd , voor hem compleet onleesbaar en waardeloos zijn.

Helaas moet je geen wiskundig genie zijn om de heel eenvoudige sleutel uit het voorbeeld te kraken. Een sleutel “kraken” betekent dat je (na meestal veel tijd en moeite) hebt gevonden hoe je van een versleuteld bericht terug het origineel bericht of wachtwoord kunt produceren. Als je een aantal pogingen onderneemt, zal je al snel een woord vinden…. sleutel gekraakt.. Wachtwoord gevonden;

Maar met de hedendaagse computers die miljoenen berekeningen per seconden kunnen uitvoeren, zal deze sleutel al gekraakt zijn alvorens je met jouw ogen geknipperd hebt.

Uiteraard zijn debiele sleutels als daarnet compleet waardeloos en hebben we krachtigere sleutels nodig.. veel complexer… iets wat de hedendaagse computers niet zomaar binnen een mum van tijd kunnen kraken. Helaas zijn alle spelletjes zoals letter plus 2, of letter plus 3 als het donderdag is, het regent en je draagt paarse kousen…. ze klinken complex, maar de computer zal deze nog altijd kraken in een wip, het beste geval enkele seconden. Vroeger kwamen we weg met sleutels met 6 tot 8 tekens. Met de huidige kracht van computers is dat al lang verleden tijd.

Uiteraard kunnen we sleutels heel lang en complex maken. Een sleutel die er uitziet als: “RVjS=wi]@{a,T0u)rS.)$(6!FE4lV_P4jF)^GkJ3F+bXIg9,OJtdds45è!'”‘çu)dp!reyà!ç'”ç!qij43543HG(a” zal uiteraard iets moeilijk te kraken zijn en zal veel langer duren. Een hedendaagse computer zou wel eens jaren nodig kunnen hebben om het paswoord te kraken.

Lange sleutels zijn dus de oplossing, hoor ik je denken. Toegegeven, langer is altijd beter op zoveel vlakken, niet? Maar ik heb slecht nieuws…

Het slechte nieuws: de sleutel om gegegevens te versleutelen is dezelfde als de sleutel die nodig is om de gegens terug te halen. Er is dus maar één sleutel in het spel. Dezelfde om te “versleutelen” en terug te “ontsleutelen”.

Nog even voor de duidelijkheid:
versleutelen (of encrypteren) => gegevens onleesbaar maken voor mensen die de sleutel niet hebben
ontsleutelen (of decrypteren) => gegevens die versleuteld zijn (en dus onleesbaar), terug leesbaar maken, hiervoor heb je uiteraard de geheime sleutel nodig.

Als we maar één sleutel hebben voor beide acties, noemen we deze sleutel een “symmetrische sleutel”. En daar is een probleem mee. Om het probleem uit te leggen zal ik je een verhaaltje vertellen:

Ann en Jos zijn verliefd, maar wonen redelijk ver van elkaar. Per duif willen ze elkaar berichten sturen. Om te vermijden dat pottekijkers de duiven zouden vangen om hun hartverwarmende berichten te lezen, wil Ann de berichten versleutelen. Ze maakt een sleutel en encrypteert het liefdevol bericht.

Maar er is een probleem. Want als Jos de de liefdesberichten wil lezen, dan moet hij natuurlijk over de sleuten beschikken. Maar hoe stuurt Ann de sleutel naar Jos? Via een aparte, 2de duif? Da’s risicovol, want misschien wordt die duif ook gevangen door een pottekijker. DIe zou dan de sleutel kunnen noteren en de duif terug vrijlaten, zodat ze verder kan vliegen naar Jos. Jos en Ann zouden niet doorhebben dan iemand anders ook de sleutel in bezit heeft en dus ten alle tijden hun berichten kan meelezen.

Symmetrische sleutels, waar dus dezelfde sleutel 2 keer gebruikt wordt, werkt dus duidelijk niet. We hebben dus zwaarder geschut nodig… assymetrische sleutels…. Maar hoe doen we dat? Meer erover in deel 2 van dit artikel! (komt binnenkort)

Laat een reactie