Hoe werkt het versleutelingsalgoritme Rijndael?
Ook bekend onder de afkorting AES
Het veilig verzenden van strikt vertrouwelijke informatie zonder dat onbevoegden toegang krijgen, is altijd al een uitdaging geweest. Vroege „geheime talen“ – zoals eenvoudige letterverschuivingen – zijn met moderne rekenkracht triviaal te kraken. Tegenwoordig beschermen we gegevens met cryptografische methoden, die wiskundig nauwkeurig zijn gedefinieerd en waarvan de veiligheid publiekelijk is beoordeeld.
Dergelijke methoden maken gebruik van een sleutel, die alleen de zender en ontvanger kennen. De ver- en ontsleuteling volgt daarbij een versleutelingsalgoritme – een duidelijk beschreven wiskundige methode.
Password Depot versleutelt uw vertrouwelijke gegevens met het algoritme Rijndael, dat als AES (Advanced Encryption Standard) is gestandaardiseerd.
Hieronder leggen we het algoritme uit en plaatsen we het technisch in context.
Advanced Encryption Standard (AES) – de gestandaardiseerde variant van Rijndael
Het U.S. National Bureau of Standards (tegenwoordig NIST) standaardiseerde in 1977 de DES; deze standaard werd in 2005 ingetrokken, omdat deze niet langer voldoende veilig was (NIST-melding). Als opvolger koos NIST in 2001 Rijndael en standaardiseerde daaruit de Advanced Encryption Standard (AES) (FIPS 197).
Belangrijk: AES is een subset van de Rijndael-familie. AES legt de blokgrootte vast op 128 bit en staat sleutels van 128, 192 of 256 bit (NIST-opmerking, FIPS 197 (PDF)).
AES is toegelaten voor de bescherming van informatie van Amerikaanse overheidsinstanties tot en met het niveau TOP SECRET (zie CNSSP‑15 Fact Sheet en de actuele CNSA‑2.0‑FAQ van de NSA).
Zo werkt Rijndael/AES (kort overzicht)
Rijndael is een substitutie-permutatienetwerk-cijfer. De kernideeën zijn substituties op byte-niveau, lineaire transformaties en XOR-bewerkingen.
Verloop op blokniveau (128-bit-‘state’)
- Sleuteluitbreiding (key schedule): Uit de sleutel worden Nr + 1 rondesleutels afgeleid (bijv. 11 bij AES-128, 13 bij AES-192, 15 bij AES-256). Bron: FIPS 197.
- Initiële ronde: AddRoundKey – het plaintextblok (als 4×4-byte-matrix) wordt via XOR gekoppeld aan de eerste rondesleutel.
- Rondes 1 … Nr:
- SubBytes: Elke byte wordt via een S-Box vervangen (multiplicatieve inverse in GF(28) plus affiene transformatie met constante
0x63). Bron: FIPS 197. - ShiftRows: rijen van de State-matrix worden cyclisch verschoven.
- MixColumns: kolommen worden via matrixvermenigvuldiging over GF(28) gemengd.
- AddRoundKey: XOR met de betreffende rondesleutel.
- SubBytes: Elke byte wordt via een S-Box vervangen (multiplicatieve inverse in GF(28) plus affiene transformatie met constante
Opmerking: In de laatste ronde vervalt MixColumns. Het aantal rondes bedraagt 10/12/14 voor sleutels van 128/192/256 Bit (FIPS 197).
AES kan in software, firmware of hardware worden geïmplementeerd (FIPS 197). Voor praktisch gebruik worden Bedrijfsmodi gebruikt, bijvoorbeeld CBC, CTR of GCM (geauthenticeerde versleuteling). Aanbevelingen vindt u in NIST SP 800–38A en NIST SP 800–38D (GCM/GMAC).
Belangrijk ter verduidelijking: AES is een symmetrische cipher voor gegevensversleuteling. Sleuteluitwisseling gebeurt doorgaans met asymmetrische methoden ((EC)DH/RSA). AES kan sleutels echter veilig inpakken (“Key Wrap”) – zie NIST SP 800–38F.
Officiële specificatie
De referentie vindt u hier: https://csrc.nist.gov/files/pubs/fips/197/final/docs/fips-197.pdf
Brute-force-aanvallen
Brute-force betekent dat een aanvaller alle mogelijke sleutels uitprobeert. Klassieke methoden zoals DES met slechts 56-bits sleutels kunnen daarmee tegenwoordig praktisch worden gekraakt – daarom heeft NIST DES in 2005 officieel ingetrokken (NIST).
Moderne methoden zoals AES met sleutels van 128/192/256 bits hebben daarentegen een astronomisch grote sleutelruimte. In de praktijk zijn minder het algoritme dan de sleutelafleiding uit wachtwoorden en de kwaliteit van het master-wachtwoord.
Password Depot bemoeilijkt bruteforce-aanvallen bovendien met een extra vertragingsfunctie: na een onjuiste invoer van het master-wachtwoord blijft het programma enkele seconden vergrendeld.
Conclusie: Bij correcte implementatie, geschikte bedrijfsmodi (bijv. GCM) en voldoende sleutellengte geldt AES vanuit huidig perspectief als op zeer lange termijn veilig.
Meer over bruteforce-aanvallen.
Aanvullende bronnen
- FIPS 197 – Advanced Encryption Standard (AES)
- FIPS 197 – PDF (originele specificatie)
- NIST: AES is een subset van Rijndael (blokgrootte 128 bit)
- NIST SP 800–38A – bedrijfsmodi (ECB/CBC/CFB/OFB/CTR)
- NIST SP 800–38D – GCM/GMAC (geauthenticeerde versleuteling)
- NIST SP 800–38F – AES Key Wrap
- CNSSP–15 Fact Sheet – gebruik van AES voor geheime/zeer geheime informatie
- NSA: CNSA 2.0 FAQ – actuele vereisten
- NIST: intrekking van DES (achtergrond)
Brute-force-aanvallen begrijpen
Ontdek waarom de lengte van een wachtwoord doorslaggevend is en hoe u zich kunt beschermen.
Meer over brute-force-aanvallen