Denk aan twee Spartaanse generaals die oorlogsplannen uitwisselen. Ze vertrouwen een boodschapper niet. Ze vertrouwen de post niet. Ze delen één enkele, geheime code. Als de boodschapper wordt onderschept, ziet het bericht er voor iedereen zonder de code uit als onzin. Dat is het fundamentele principe van encryptie met symmetrische sleutels.
Computers werken op dezelfde manier. Wanneer twee machines gegevens veilig via een netwerk moeten verzenden, gebruiken ze het symmetrische sleutel -algoritme. Beide uiteinden van de verbinding beschikken over exact dezelfde geheime sleutel. Deze sleutel fungeert als het cijfer. Het codeert het pakket voordat het de afzender verlaat en decodeert het zodra het de ontvanger bereikt.
Dit is niet alleen een theoretisch concept voor spionnen. Het is de ruggengraat van veilige communicatie voor miljoenen apparaten elke dag.
Hoe de code in de praktijk werkt
Je begrijpt de logica al. Je realiseert je gewoon niet dat je het hebt gebruikt.
Stel je voor dat je een briefje naar een vriend wilt sturen. U besluit dat elke letter twee plaatsen naar beneden in het alfabet moet worden verschoven. ‘A’ wordt ‘C’. ‘B’ wordt ‘D’. Je vertelt je vriend de regel: ‘Verschuiving met twee.’ Ze ontvangen de gecodeerde tekst en keren het proces om. Het oorspronkelijke bericht wordt hersteld. Voor iedereen die het briefje ziet: het zijn gewoon willekeurige letters.
Computers doen dit ook. Maar ze gebruiken geen tweeletterige ploegendienst. Ze gebruiken sleutels die veel langer en complexer zijn. De wiskunde erachter is wat hackers buiten de deur houdt.
Het eerste grote symmetrische algoritme dat in de Verenigde Staten werd ontwikkeld, was de Data Encryption Standard of DES. Het werd in de jaren zeventig goedgekeurd. Het gebruikte een 56-bits sleutel.
Destijds voelden 56 bits robuust aan. Tegenwoordig is het lachwekkend zwak.
Waarom DES faalde en AES het overnam
Snelheid is de vijand van zwakke encryptie.
Sinds de jaren zeventig zijn computerprocessors exponentieel sneller geworden. Een moderne machine kan aanvallen met brute kracht uitvoeren, waarbij elke mogelijke toetscombinatie wordt geprobeerd, veel sneller dan een mens ooit zou kunnen knipperen.
Een 56-bits sleutel biedt 70 biljard combinaties. Dat klinkt als veel. Het zijn 70.000.000.000.000.000 mogelijkheden. Maar voor een moderne GPU is kraken triviaal. Het gebeurt in een fractie van een seconde. DES wordt niet langer als veilig beschouwd.
De industrie had iets sterkers nodig. Ze vonden het in de Advanced Encryption Standard of AES.
AES heeft DES vervangen. Er worden sleutels gebruikt die 128-bits, 192-bits of 256-bits lang zijn.
Om het verschil in perspectief te plaatsen: een 128-bits sleutel heeft meer dan 300 biljoen biljoen biljoen mogelijke combinaties. Probeer ze allemaal. Je zult van ouderdom sterven voordat je de juiste hebt gevonden. Daarom zijn de meeste experts van mening dat AES nog lang een voldoende encryptiestandaard zal blijven.
De historische wortels van vervanging
Dit is geen nieuwe technologie. De logica bestaat al millennia.
Julius Caesar gebruikte een soortgelijke vervangingstechniek. Hij schoof de letters drie plaatsen hoger in het alfabet. Als hij ‘CROSSING THE RUBICON’ zou moeten schrijven, zou hij ‘FURVV LQJWK HUXEL FRQ’ schrijven.
Hij verdeelde de tekst ook in groepen van gelijke grootte. Dit maakte de woordlengtes minder voor de hand liggend. Het voegde een extra laag verwarring toe voor iedereen die zijn rollen onderschepte.
Moderne symmetrische encryptie is de digitale evolutie van datzelfde basisidee. Twee partijen delen een geheim. Eén partij versleutelt de gegevens. De ander ontrafelt het. Het verschil is de schaal. En snelheid. En de inzet.
In een wereld waar data de nieuwe olie zijn, is het de enige manier om veilig te blijven door die data achter een sleutel te bewaren die alleen jij bezit.


















