← Tilbake
Modul 2
Kryptografi

Knekk hashes, manipuler kryptert data, og forstå TLS-handshake ved å gjøre det — ikke bare lese om det.

6 labber Nivå 1–2: Lett Nivå 3–4: Middels Nivå 5–6: Hard
Fremgang0 / 6 fullført
01 Utforsk SHA-256 — avalanche effect
LettNivå 1
Nivå 1 — Hashing grunnlag

Hash-kalkulatoren til høyre kjører ekte SHA-256 i nettleseren. Utforsk egenskapene — spesielt avalanche effect.

Mål
1
Hash ordet passord — noter de første 8 tegnene
2
Hash Passord — er hashen lik? Hva betyr det?
3
Hash en tom streng — hva returneres?
4
Prøv å hash samme ord to ganger — er resultatet alltid identisk?
Avalanche effect: én bit forskjell i input = ~50% endrede bits i output. Dette er designet — gjør det umulig å "gjette seg frem" mot en hash.
Egenskaper: Deterministisk (samme input = samme output), enveis (ikke reverserbar), kollisjonsresistent (ingen to inputs har lik hash i praksis).

Hashing er ikke kryptering — det finnes ingen nøkkel og ingen dekryptering.
Lab 1 fullført!
SHA-256 kalkulator — kjøres lokalt
SHA-256 Hash Generator
Ekte kryptografisk hashing i nettleseren via Web Crypto API
Input tekst SHA-256 output
— skriv noe over —
Lengde: 0 tegn input → 64 tegn (256 bit) output
Sammenlign to inputs
02 Salt og passordlagring — knekk en database
LettNivå 2
Nivå 2 — Passordlagring

En database med brukerhashes har lekket. Til høyre ser du databasen — prøv å knekke passordene, og se hva salt gjør med angrepet.

Mål
1
Søk opp de usaltede hashene — klarer du å finne passordene?
2
Prøv å knekke de saltede hashene på samme måte
3
Forklar: hvorfor hjelper ikke et rainbow table mot saltet hash?
4
Hva er bcrypt og hvorfor er det bedre enn SHA-256 for passord?
Prøv å hash vanlige passord i Lab 1 og sammenlign med hashene i databasen. Usaltede hashes med kjente passord knekkes direkte.
Usaltede passord kan knekkes via rainbow tables — forhåndsberegnede tabeller med millioner av hasher.

Salt gjør at identiske passord gir ulike hashes — rainbow tables er ubrukelige.

bcrypt er treg by design (~100ms per hash) og har innebygd salt. En angriper med 100 milliarder forsøk/sek rekker bare 10 millioner bcrypt/sek.
Lab 2 fullført!
leaked_db.sql — database dump (simulert)
users table — 4 records
-- USALTEDE MD5-HASHES (sårbare)
idusernamepassword_hashknekket?
1alice5f4dcc3b5aa765d61d83...?
2bobe10adc3949ba59abbe56...?
-- SALTEDE SHA-256 (sikrere)
3carolsalt:x9k2p + hash:a3f9b2...vanskelig
4davesalt:m7n3q + hash:7c4d1e...vanskelig
-- Prøv å knekke
03 Caesar → AES → RSA — krypteringsutvikling
MiddelsNivå 3
Nivå 3 — Krypteringstyper

Krypterings-laben viser utviklingen fra Caesar-siffer til moderne AES og RSA. Forstå forskjellene og svakhetene.

Mål
1
Krypter en melding med Caesar (skift 3) — dekrypter den igjen
2
Prøv alle 25 skift på en kryptert melding — finn klarteksten
3
Forklar: hva er nøkkelutbyttingsproblemet for symmetrisk kryptering?
4
Forklar: hvordan løser RSA dette problemet?
Nøkkelutbytting: Hvis Alice og Bob vil bruke AES, må de dele den hemmelige nøkkelen trygt. Men over internett er det umulig uten asymmetrisk hjelp.
RSA-løsning: Bob sender sin offentlige nøkkel til Alice. Alice krypterer AES-nøkkelen med Bobs offentlige nøkkel. Bare Bob kan dekryptere med sin private nøkkel. Nå deler de trygt en AES-nøkkel — dette er nøyaktig hva TLS gjør.
Lab 3 fullført!
CryptoLab — krypteringshistorie
Caesar-siffer ~100 f.Kr.
Skift: 3
Kryptert:
Dekryptert:
Brute-force — prøv alle 25 skift
Kryptert tekst: KHPPHOLJ PHOGLQJ
04 TLS Handshake — steg for steg
MiddelsNivå 4
Nivå 4 — TLS i praksis

Klikk gjennom TLS-handshake steg for steg til høyre — se nøyaktig hva som utveksles mellom nettleser og server.

Mål
1
Gå gjennom alle 6 steg i handshake — klikk "Neste steg"
2
Forklar: hvorfor asymmetrisk kryptering kun brukes i starten
3
Sjekk TLS-sertifikat på vg.no i din nettleser — finn TLS-versjon
4
Hva er Perfect Forward Secrecy og hvorfor er det viktig?
RSA er ~1000× tregere enn AES. Du bruker asymmetrisk kun for å trygt bli enige om en symmetrisk sesjonsnøkkel — deretter AES for all dataoverføring.
PFS (Perfect Forward Secrecy): Hver sesjon genererer en ny, midlertidig sesjonsnøkkel via Diffie-Hellman. Selv om serverens private nøkkel kompromitteres i fremtiden, kan ikke tidligere sesjoner dekrypteres — nøklene er borte.
Lab 4 fullført!
🔒 TLS Handshake Visualizer
🌐 Nettleser
🖥 Server
Steg 0 / 6
05 Digitale signaturer — verifiser autentisitet
HardNivå 5
Nivå 5 — Digitale signaturer

En digital signatur kombinerer hashing og asymmetrisk kryptering. Bruk laben til høyre til å signere og verifisere meldinger — og se hva som skjer når noen manipulerer innholdet.

Mål
1
Signer en melding og verifiser signaturen
2
Endre meldingen etter signering — hva skjer ved verifisering?
3
Forklar steg for steg: hvordan verifiserer mottakeren?
4
Hva beviser signaturen, og hva beviser den ikke?
Signering: hash melding → krypter hash med privat nøkkel.
Verifisering: dekrypter signatur med offentlig nøkkel → sammenlign med ny hash av meldingen.
Beviser: At meldingen ikke er endret (integritet) + at avsenderen eier den private nøkkelen (autentisitet).

Beviser ikke: At avsenderen er den de sier de er — det krever en CA som har signert sertifikatet.
Lab 5 fullført!
Digital Signature Lab
Melding å signere
06 TLS-angrep — analyser DROWN og POODLE
HardNivå 6
Nivå 6 — TLS-angrep

To reelle TLS-angrep med enorme konsekvenser. Bruk "angrepssimulator" til høyre til å forstå mekanismene steg for steg.

Mål
1
Kjør DROWN-simuleringen — forstå hva et cross-protocol angrep er
2
Kjør POODLE-simuleringen — hva er et downgrade-angrep?
3
Forklar: hva er det enkle tiltaket som stopper begge?
4
Sjekk en nettside med ssllabs.com/ssltest — hva er ratingen?
Begge angrepene utnytter gammel, utdatert protokoll-støtte. Tiltaket er enkelt: deaktiver SSLv2, SSLv3 og TLS 1.0/1.1 på serveren.
DROWN: SSLv2 + delt RSA-nøkkel = angriper kan bruke SSLv2-svakhet til å dekryptere TLS-trafikk.

POODLE: Angriper tvinger klient ned til SSLv3 via feilmeldinger, deretter CBC-padding oracle angrep.

Fix: Kun TLS 1.2 og 1.3. Aldri del nøkler mellom protokoller.
Lab 6 fullført!
TLS Attack Simulator — DROWN & POODLE
AttackSim v1.0 — velg et angrep over
← Nettverk Neste modul: XSS →