Hvad er AES, og hvorfor er det “kryptering”?

AES (Advanced Encryption Standard) er en symmetrisk krypteringsmetode. Symmetrisk betyder, at den samme type hemmelige nøgle bruges både til at kryptere (gøre data uleselige) og til at dekryptere (gøre dem læsbare igen). Målet er at gøre det beregningsmæssigt svært at udlede nøgle eller klartekst ud fra den krypterede data.

Det enkle model: data gennem flere runder

AES kan forstås som en fast “opskrift” på, hvordan et datablok-område omdannes ved hjælp af en nøgle. I praksis arbejder AES på blokke af fast størrelse, og transformationerne gentages i flere runder. I hver runde blandes data på en måde, der spreder små ændringer i klarteksten ud i hele resultatet.

En nyttig måde at tænke på processen er:

  • Substitution (ikke-lineær påvirkning): Byte-værdier ændres via en foruddefineret tabel/regel, som afhænger af runden og den interne struktur.
  • Permutation/permutation-lignende blanding: Byte-placeringer flyttes rundt, så data “blandes” på tværs af positioner.
  • Tilføjelse af rundnøgle: En rundnøgle afledes fra den oprindelige nøgle og blandes med data i hver runde.

Den samlede effekt er, at output bliver en kompleks funktion af både klartekst og nøgle. Dekryptering er den omvendte proces med de samme nøglemateriale, men anvendt i korrekt rækkefølge.

Hvilke dele er afgørende: nøgle, runder og driftstilstand

Det er fristende at fokusere kun på “AES = sikkert”, men i virkeligheden afhænger resultatet af flere valg, du skal træffe korrekt:

  1. Nøglestørrelse (fx 128/192/256-bit) En større nøgle giver flere mulige nøglekombinationer og gør systematisk nøglesøgning sværere. Hvilken nøglestørrelse der bruges, påvirker dermed det praktiske sikkerhedsniveau.

  2. Antal runder AES bruger et antal runder, som afhænger af nøglestørrelsen. Flere runder betyder, at flere transformationer gennemføres, og det gør den samlede omdannelse mere kompleks.

  3. Driftstilstand (mode) AES i sig selv fortæller ikke automatisk, hvordan du krypterer en hel fil eller en besked i længder, der ikke passer til én blok. Det afhænger af driftstilstanden (fx hvordan blokke kædes/varieres). Forkert driftstilstand kan skabe mønstre eller svække egenskaber, selv hvis selve AES-primitive er “rigtig”.

  4. IV/nonce (når det bruges) Mange driftstilstande kræver en startværdi (IV) eller nonce, så samme klartekst ikke nødvendigvis giver samme krypterede output hver gang. Om dette er relevant, afhænger af driftstilstand og systemets design.

Typiske forskelle og begrænsninger, du bør kende

Selv om AES er standardiseret, er der vigtige grænser for, hvad et “ja/nej” kan sige:

  • Krypteringens sikkerhed er ikke kun algoritmen. Nøglehåndtering, valg af driftstilstand og måden data autentificeres på kan være lige så afgørende. Nogle systemer bruger kun kryptering uden stærk integritetsbeskyttelse, hvilket kan give andre typer problemer.
  • Dekryptering kræver de samme korrekte parametre. Hvis nøgle, driftstilstand, IV/nonce eller andre parametre ikke stemmer, kan dekryptering fejle eller give meningsløst resultat.
  • Størrelse og blokopdeling betyder noget. Ved korte beskeder eller bestemte længder kan padding og blokopdeling påvirke, hvordan systemet bør implementeres.

Det er derfor mest korrekt at sige: AES er en veletableret krypteringsalgoritme, men den samlede sikkerhed afhænger af implementering og brug.

Praktisk: sådan kan du selv kontrollere, om AES er brugt rigtigt

Du kan typisk kontrollere følgende punkter i dokumentation eller i den tekniske konfiguration, du arbejder med:

  • Hvilken nøglestørrelse der faktisk bruges.
  • Om AES kun er kryptering eller også kombineres med integritets-/autentificeringsmekanismer (det kan være afgørende for at modvirke manipulation).
  • Hvilken driftstilstand der er valgt, og om den følger et konsistent mønster for IV/nonce-håndtering.
  • Om samme nøgle bruges på en måde, der kan skabe risici i den valgte driftstilstand (det er ikke altid en simpel tommelfingerregel, så brug den relevante specifikation).

Hvis du kun ser “AES” nævnt uden detaljer om nøglestørrelse, driftstilstand og hvordan IV/nonce og integritet håndteres, er der for meget, der er uklart til at vurdere sikkerheden.