Table of Contents
Avansert kryptering Standard (AES) er en mye brukt kryptering algoritme som sikrer datasikkerhet. Det brukes i ulike programmer, fra å sikre kommunikasjon til å beskytte lagrede data. Denne artikkelen gir en praktisk oversikt over AES, inkludert eksempelberegninger for å bidra til å forstå driften.
Grunnleggende av AES
AES er en symmetrisk nøkkelkrypteringsalgoritme, som betyr at den samme nøkkelen brukes for både kryptering og dekryptering. Den opererer på faste datablokker, typisk 128 biter, og støtter nøkkelstørrelser på 128, 192, eller 256 biter. Krypteringsprosessen involverer flere runder av substitusjon, permutasjon og blanding av data for å produsere en sikker krypteringstekst.
Krypteringsprosessen
AES-krypteringsprosessen består av flere trinn:
- Subbytes: Bytesubstitusjon ved hjelp av en forhåndsdefinert S-boks.
- Skifterader: Syklisk skifter rekkene i tilstandsarrangementet.
- MixColumns: blander kolonnene for å diffusere dataene.
- AddRoundKey: kombinerer tilstanden med en runde nøkkel avledet fra hovednøkkelen.
Denne sekvensen gjentar seg i et antall runder avhengig av nøkkelstørrelsen, med den endelige runde som frigir MixColumns-trinnet.
Eksempelberegning
Overvei å kryptere en enkel 128-bits blokk med en 128-bits nøkkel. Den opprinnelige klartekst er representert i hexadem som 00112334455667799aabbccdeeff. Nøkkelen er 000102030405060808090a0b0d0e0f. Det første trinnet innebærer å legge til rundenøkkelen til klartekst, noe som resulterer i en ny tilstand. Etterfølgende runder påfører substitusjonen, skifter, blandings- og nøkkeladdisjonstrinn, omforme dataene til krypteringstekst.
For eksempel, etter den første AddRoundKey-operasjonen, blir tilstanden:
Plaintext: 001122333445566778899aabbccdeeff
Rundnøkkel: 000102030405060708090a0b0c0d0e0f
Resultattilstand (hex): 00102030405060708090a0b0c0d0e0f
Denne prosessen fortsetter gjennom alle runder, og til slutt produserer den krypterte krypteringsteksten.