Versleuteling is van cruciaal belang voor de algehele internetbeveiliging. Er zijn tegenwoordig verschillende coderingssystemen in gebruik, maar ze werken over het algemeen allemaal door gegevens te versleutelen met behulp van een wiskundig algoritme, waarbij informatie wordt gecodeerd in code.

Een van de meest voorkomende coderingsstandaarden van vandaag is de Advanced Encryption Standard (AES). Het is een variant van het Rijndael-blokcijfer en is verkrijgbaar in drie sleutelgroottes: 128, 192 en 256 bits.

Dus, wat is AES-256-codering en hoe werkt het?

Wat is AES?

AES is een algemeen aanvaarde standaard voor gegevenscodering die wereldwijd wordt gebruikt. Het is de federale norm die wordt gebruikt door de regering van de Verenigde Staten en biedt aanzienlijke veiligheid en bescherming.

AES is een type symmetrische codering, welke gebruikt dezelfde sleutel om te coderen en te decoderen jouw gegevens. In wezen hebben zowel de afzender als de ontvanger dezelfde sleutel nodig om de gegevens te decoderen. Symmetrische codering is sneller, hoewel het iets minder veilig is dan asymmetrische codering.

Wat is een blokcijfer?

Om te begrijpen hoe AES-256 werkt, is het belangrijk om blokcijfers te begrijpen. Een blok betekent eenvoudigweg een informatie-eenheid die is verdeeld voordat deze wordt versleuteld. Standaard AES gebruikt een 128-bit blokgrootte.

Om te visualiseren, 16 bytes vermenigvuldigd met 8 bits geeft je 128 bits in elk blok. Dus ongeacht de sleutelgrootte, de grootte van het blok blijft hetzelfde. AES heeft nogal wat aanvallen ondergaan, maar is nog niet gekraakt.

AES-256 is de veiligste versie, hoewel het meer rekenkracht vereist. Gezien de dreigende dreiging van post-kwantum cryptografie, velen beschouwen AES-256 kwantumresistent, wat betekent dat van kwantumcomputers niet wordt verwacht dat ze het cijfer kraken.

Welke invloed heeft de blokgrootte op de beveiliging?

De grootte van het blok heeft ook een indirect effect op de beveiliging van de cipher. In wezen geldt: hoe groter het blok, hoe meer gegevens kunnen worden versleuteld zonder dat ze worden gedupliceerd. Maar als de blokgrootte te klein is, kan dit het veilige gebruik van de cipher beïnvloeden.

Een blokcijfer is bedoeld als een pseudo-willekeurige permutatie, wat simpelweg betekent dat als de invoer anders is, de uitvoer automatisch ook moet verschillen. AES gebruikt voornamelijk een 128-bits blokgrootte, waarbij gegevens worden verdeeld in een 4x4-array van 16 bytes.

Hoewel de blokgrootte geen directe invloed heeft op de versleutelingsbeveiliging, heeft het wel invloed op de modusbeveiliging. Alle blokcijfers worden over het algemeen in verschillende bedrijfsmodi ingezet, dus de beveiliging van elke modus hangt af van twee elementen: de veiligheid van het blokcijfer zelf en de veiligheid van de modus wanneer het blokcijfer wordt vervangen door een pseudowillekeurig permutatie.

In wezen geldt dat hoe meer gegevens u binnen een bedrijfsmodus verwerkt, hoe meer deze de modus blootlegt, aangezien de kortere blokgrootte resulteert in een toename van de kans op tegengestelde succes. Na verloop van tijd blijven delen van de permutatie, die verborgen zijn, zichtbaar worden, waardoor uiteindelijk de volledige permutatie wordt onthuld.

Dus, als je een blokcijfer van N bits hebt, en je weet dat het niet verschilt van een pseudo-willekeurige permutatie van N bits, dan zal de veiligheid van je cijfer eronder lijden als je het in een bedrijfsmodus gebruikt. Om ervoor te zorgen dat de modusbeveiliging niet wordt aangetast, kunt u het beste een grotere blokgrootte gebruiken.

Hoe versleutelt AES-256 uw gegevens?

Het basisconcept van encryptie is dat het cijfer elke informatie-eenheid vervangt door een andere, afhankelijk van de beveiligingssleutel. AES-256 voltooit bijvoorbeeld 14 coderingsrondes, waardoor het ongelooflijk veilig is.

De stappen omvatten het verdelen van de gegevens in blokken, het vervangen van verschillende bytes, het verschuiven van rijen en het mengen van kolommen, om de informatie volledig door elkaar te gooien. Aan het einde van het proces is het resultaat een volledig willekeurige reeks tekens die voor niemand logisch zijn als ze de decoderingssleutel niet hebben.

AES-256 is het langste en is ook het sterkste coderingsniveau dat het biedt. Om de zaken in perspectief te plaatsen, zou een hacker 2256 discrete combinaties moeten uitproberen, elk met in totaal 78 cijfers, om de codering te doorbreken.

In wezen is het aantal groter dan het aantal sterren in het heelal! Dit maakt het ondoordringbaar voor brute force-aanvallen en is de krachtigste coderingsstandaard ter wereld.

Toepassingen van AES-256

AES-256 is de meest robuuste variant, dus het is niet altijd ideaal voor eenvoudig applicatiegebruik. AES-256 wordt echter gebruikt door VPN-providers en voor het beveiligen van databases.

AES-bibliotheken zijn beschikbaar voor populaire programmeertalen zoals C, C++, Java en zelfs Python. Als u een wachtwoordbeheerder gebruikt, zoals 1Pass of LastPass, gebruikt u waarschijnlijk al AES-256 om gevoelige informatie te coderen.

Zelfs berichten-apps zoals WhatsApp gebruiken AES-256-codering om berichten te vervormen. Moderne computers die Intel- of AMD-processors gebruiken, hebben al ingebouwde AES-instructies en bijna alle financiële instellingen vertrouwen op AES-codering om gevoelige informatie te versleutelen.

Kortom, AES is overal.

Versleuteling wordt alleen maar sterker

Naarmate de wereld op weg is naar decentralisatie en hackers creatiever worden, zullen de coderingsnormen alleen maar sterker worden. Nu al vereisen cryptografische normen openbare en privésleutels om transacties te verifiëren, dus u kunt alleen maar verwachten dat de beveiligingsnormen nog beter worden.