Dankzij encryptie kunnen we iets veiliger gebruik maken van het internet. Zonder dat we er altijd bij stil staan stellen we groot vertrouwen in encryptie tijdens internetbankieren, on-line shoppen, ophalen van webmail en tal van andere handelingen.
Encryptie is eigenlijk niets anders dan het versleutelen of verhullen van data zoals de inhoud van berichten. De encryptie wordt op dusdanige wijze uitgevoerd, dat de informatie alleen ontcijferd kan worden door een bijbehorende decryptie. Encryptie en decryptie kunnen dus niet zonder elkaar.
Er bestaan vele soorten encryptie en decryptie processen (cryptografie). Het is erg moeilijk om de manier waarop de encryptie heeft plaatsgevonden geheim te houden. Bovendien moet de decryptie ook niet al te moeilijk zijn. Daarom wordt, met name op het internet, gebruik gemaakt van bekende algoritmen.
Om de encryptie cq. de decryptie te kunnen uitvoeren wordt over het algemeen gebruik gemaakt van een sleutel (key). Hier volgt een voorbeeld van een 40-bit key:
00001010 01101001 10011110 00011100 01010101
voor de overzichtelijkheid is de inhoud van de key onderverdeeld in vijf groepjes van 8 bits (bytes)
Een encryptie algoritme maakt gebruik van de data (bijvoorbeeld de inhoud van een bericht) en een key en past dan een wiskundige versleutelingstechniek (bijvoorbeeld blokversleuteling of asymmetrische versleuteling) toe, waarmee de inhoud van het bericht onleesbaar wordt. Andersom wordt tijdens de decryptie (met behulp van de key) het originele bericht weer hersteld.
Sommige cryptografische technieken maken gebruik van dezelfde sleutel voor zowel encryptie als decryptie. Uiteraard moet deze key dan angstvallig geheim worden gehouden. Andere cryptografische technieken maken gebruik van een publieke key (die iedereen mag weten) en een private key (die geheim moet blijven en alleen bij de ontvanger van het bericht bekend is).
Over het algemeen verschaft een key dus de nodige bescherming waarmee communicatie via het internet kan worden versleuteld cq. ontcijferd.
Moderne webbrowsers maken gebruik van het Secure Sockets Layer (SSL) protocol om veilig transacties te kunnen uitvoeren tijdens internetbankieren en on-line shopping. SSL maakt gebruik van een public key voor encryptie en een private key voor decryptie.
Omdat SSL encryptie zo sterk afhankelijk is van keys wordt de sterkte van de encryptie vaak afgemeten aan de lengte van de key (het aantal bits waaruit de key bestaat).
De eerste implementatie van SSL in webbrowsers (Netscape 3, Internet Explorer 3 etc.) maakte gebruik van een 40-bit key. Deze bleek in de praktijk eenvoudig gebroken te kunnen worden. Om SSL communicatie te onderscheppen hoeft alleen maar de correcte key (welke de decryptie kan verzorgen) te worden gegenereerd.
Veelal wordt getracht om keys te 'breken' door middel van brute force aanvallen. Hiertoe wordt een krachtige computer ingezet die onophoudelijk berekeningen uitvoert en elke mogelijke key genereert en uitprobeert. Bijvoorbeeld:
2-bit encryptie heeft slechts vier mogelijke keys: 00, 01, 10 en 11
3-bit encryptie heeft acht mogelijke keys, 4-bit encryptie heeft 16 mogelijke keys enzovoorts.
Zie de verdubbeling in mogelijkheden bij iedere bit meer
40-bit encryptie heeft 1.099.511.627.776 mogelijkheden. Dat lijkt veel, doch voor een krachtige computer is de juiste key tijdens een brute force aanval relatief snel achterhaald.
De ontwikkelaars van webbrowsers zagen het belang in van sterke encryptie en zorgden jaren geleden al voor de mogelijkheid van 128-bit encryptie.
Vergeleken met 40-bit encryptie bevat 128-bit encryptie veel meer bits in de lengte van de key. Hiermee zijn er 340.282.366.920.938.463.463.374.607.431.768.211.456 mogelijkheden tijdens een brute-force aanval.
De Von Neumann-Landauer Limiet concludeert aan de hand van natuurkundige wetten dat de energie die nodig is om alle mogelijke combinaties van een 128 bit key uit te proberen overeen komt met 10 gigawatt (dat is wat acht grote nucleare reactors ongeveer samen produceren) gedurende 100 jaar. Computers die deze reuzentaak kunnen uitvoeren zijn nog niet uitgevonden. Beveiligingsexperts verwachten dat 128-bit encryptie de komende tien jaar dan ook wel voldoende zal zijn voor toepassingen op het internet.