Hvad er forskellen på Hashing og Kryptering?

Både hashing og kryptering er essentielle kryptografiske elementer, som IT-sikkerhedsspecialister bruger til at beskytte data. Selvom de let kan blandes sammen (da begge oftest resulterer i en lang uforståelig streng af tegn), tjener de to vidt forskellige og lige vigtige formål: Kryptering handler om fortrolighed, mens hashing handler om integritet.

I denne note afkoder vi forskellen helt nede i maskinrummet.


1. Kryptering (Encryption): En tovejs-proces (Lås og Nøgle)

Krypteringens hovedformål er at skjule information, så den sikkert kan sendes over en usikker forbindelse (f.eks. Internettet), mens det sikres, at kun den tiltænkte modtager kan læse med. C-I-A modellen kalder dette Confidentiality (Fortrolighed).

Når noget krypteres, tager man plaintext (den læsbare tekst) og kører den gennem en krypteringsalgoritme for at opnå ciphertext. Maskineriet, der gør dette muligt, er nøglen. Det fundamentale ved al kryptering er, at den altid forventes at blive omdannet tilbage (Dekrypteret).

Symmetrisk Kryptering (AES): Både afsender og modtager har præcis den samme nøgle til at låse dataen og låse den op. Dette er ekstremt hurtigt men medfører “nøgledistributions-problemet.”

Asymmetrisk Kryptering (RSA): Der bruges to nøgler (Et Nøglepar). En offentlig nøgle (Public Key) til at låse kassen i, og en privat nøgle (Private Key), som kun modtageren ejer, til at låse den op.

  • Vigtig huskeregel: Hvis det er krypteret rigtigt, kan maskinen i den anden ende altid regne den præcise originale plaintext ud igen via dekryptering – det er en to-vejs funktion.
  • Klassiske krypteringsalgoritmer: AES (Advanced Encryption Standard), RSA, ChaCha20, DES / 3DES (Forældet).

2. Hashing: En en-vejs proces (Fingeraftrykket)

Hashing bruges aldrig til at skjule data med forventningen om at læse den “ud pakket” senere. Hashing er en hardcore matematisk “en-vejs funktion” (one-way function). Det betyder, at når dataen er proppet i kødhakkeren (hash-funktionen), er det overhovedet ikke muligt matematisk at køre det baglæns for at genskabe den oprindelige besked.

Formålet med hashing er Integrity (Integritet). At sikre at informationen ikke har ændret sig, om ikke så meget som med ét enkelt bit, siden den forlod afsenderen.

Grundprincipper i Hashing (Message Digest):

  1. Uanset om du hasher ét enkelt ord (“Password123”) eller det samlede indhold af den nyeste Call of Duty .iso-fil (150 GB), så vil det resulterende “hash” altid have den præcis samme forudbestemte længde, f.eks. 64 tegn (SHA-256).
  2. De har en meget stærk lavine-effekt (“Avalanche-effect”): Ændrer man blot et tilfældigt enkelt komma i 150-GB filen g vil hashet ændre sig fuldstændigt radikalt og usammenligneligt.

Hvor bruges det? Når du downloader programmer fra nettet (F.eks. et Kali Linux image eller en driver), vil udbyderen ledsage downloadet med en lille “Hash sum”. Når filen lander, kan du selv hashe filen på din maskine – matcher hashet udviklerens, ved du, at filen kom sikkert frem og ingen har injectet et ondsindet rootkit (Integritet).

Den vigtigste regel for passwords: Databaser gemmer ALDRIG et rigtigt password. Når du opretter en Snapchat-profil, hasher serveren dit password og gemmer fingeraftrykket. Næste gang du logger ind, hasher Snapchat blot det nye, du taster på skærmen, og tjekker om de to hash matcher – de regner altså aldrig ud hvad adgangskoden er!

  • Klassiske Hashingalgoritmer: SHA-256 / SHA-3 (Gode standarder), MD5 (Usikker, cracket via precomputations), argon2 (Designet ekstremt solidt til netop password hashing mod brute-force/GPU).

Sammenfatning (TL;DR)

  • Kryptering (Encryption) = Beskytter information (fortroligt), således at den trygt sendes fra A til B for at åbnes igen (to-vejs proces).
  • Hashing = Genererer et uendret matematisk og uigenkaldeligt fingeraftryk for at bevise filens ukrænkelighed (en-vejs proces).

Kilder

> Quiz: Test din viden

1. Hvad er den grundlæggende forskel på kryptering og hashing?

2. Hvad sikrer kryptering primært i CIA-triaden?

3. Hvad sikrer hashing primært i CIA-triaden?

4. Kan en hashværdi matematisk omvendes til den originale data?