Hvordan fungerer krypteringsalgoritmen Rijndael?

Også kjent under forkortelsen AES

Det har alltid vært en utfordring å overføre strengt konfidensiell informasjon på en sikker måte uten at uautoriserte personer får tilgang til den. Tidlige «hemmelige språk» – for eksempel enkle bokstavforskyvninger – er enkle å knekke med moderne datakraft. I dag beskytter vi data med kryptografiske metoder som er matematisk presist definert og hvis sikkerhet er offentlig vurdert.

Slike metoder bruker en nøkkel som bare avsenderen og mottakeren kjenner. Kryptering og dekryptering følger en krypteringsalgoritme – en klart beskrevet matematisk metode.

Password Depot krypterer dine konfidensielle data med algoritmen Rijndael, som er standardisert som AES (Advanced Encryption Standard).

Nedenfor forklarer vi algoritmen og klassifiserer den teknisk.

Advanced Encryption Standard (AES) – den standardiserte varianten av Rijndael

Det amerikanske National Bureau of Standards (i dag NIST) standardiserte DES i 1977; denne standarden ble trukket tilbake i 2005 fordi den ikke lenger var tilstrekkelig sikker (NIST-melding). Som etterfølger valgte NIST i 2001 Rijndael og standardiserte den til Advanced Encryption Standard (AES) (FIPS 197).

Viktig: AES er en delmengde av Rijndael-familien. AES fastsetter blokkstørrelsen til 128 bit og tillater nøkler med 128, 192 eller 256 bit (NIST-merknad, FIPS 197 (PDF)).

AES er godkjent for beskyttelse av informasjon fra amerikanske myndigheter opp til nivået TOP SECRET (se CNSSP‑15 Fact Sheet samt den aktuelle CNSA‑2.0‑FAQ fra NSA).

Slik fungerer Rijndael/AES (kort oversikt)

Rijndael er en substitusjons-permutasjons-nettverkskode. Kjerneideene er erstatninger på byte-nivå, lineære transformasjoner og XOR-koblinger.

Prosess på blokknivå (128 bit «State»)

  • Nøkkelutvidelse (Key Schedule): Fra nøkkelen avledes Nr + 1 rundnøkler (f.eks. 11 for AES‑128, 13 for AES‑192, 15 for AES‑256). Kilde: FIPS 197.
  • Innledende runde: AddRoundKey – klartekstblokken (som en 4×4-byte-matrise) kobles til den første rundnøkkelen ved hjelp av XOR.
  • Runder 1 … Nr:
    • SubBytes: Hver byte erstattes via en S‑Box (multiplikativ invers i GF(28) pluss affin transformasjon med konstant 0x63) . Kilde: FIPS 197.
    • ShiftRows: Linjene i tilstandsmatrisen flyttes syklisk.
    • MixColumns: Kolonner blandes ved hjelp av matrisemultiplikasjon over GF(28).
    • AddRoundKey: XOR med den respektive rundnøkkelen.
    Merknad: I den siste runden utelates MixColumns. Antall runder er 10/12/14 for nøkler med 128/192/256 bit (FIPS 197).

AES kan implementeres i programvare, fastvare eller maskinvare (FIPS 197). For praktisk bruk benyttes driftsmoduser, f.eks. CBC, CTR eller GCM (autentisert kryptering). Anbefalinger finnes i NIST SP 800‑38A og NIST SP 800‑38D (GCM/GMAC).

Viktig å vite: AES er en symmetrisk kryptering for data. Nøkkelutveksling skjer vanligvis med asymmetriske metoder ((EC)DH/RSA). AES kan imidlertid pakke nøkler sikkert («Key Wrap») – jf. NIST SP 800‑38F.

Offisiell spesifikasjon

Referansen finner du her: https://csrc.nist.gov/files/pubs/fips/197/final/docs/fips-197.pdf

Brute-Force-angrep

Brute-Force betyr at en angriper prøver alle mulige nøkler. Klassiske metoder som DES med bare 56-bits nøkler kan i dag praktisk talt brytes – NIST har derfor offisielt trukket tilbake DES i 2005 (NIST).

Moderne metoder som AES med 128/192/256 bit store nøkler har derimot et astronomisk stort nøkkelrom. I praksis er det ikke så mye algoritmen som er avgjørende, men heller nøkkelutledningen fra passord og kvaliteten på hovedpassordet.

Password Depot gjør brute force-angrep enda vanskeligere ved hjelp av en forsinkelsesfunksjon: Etter feil innlegging av hovedpassordet forblir programmet låst i noen sekunder.

Konklusjon: Ved korrekt implementering, egnede driftsmoduser (f.eks. GCM) og tilstrekkelig nøkkellengde anses AES i dag som svært sikker på lang sikt.

Mer om brute force-angrep.

Ytterligere kilder