Ikke alle hasher er like
En kryptografisk hash avbilder enhver inndata på et fingeravtrykk av fast størrelse. Det finnes flere familier, og de er ikke utbyttbare: noen er fortsatt sterke, og andre er så alvorlig brutt at det er en feil å bruke dem til sikkerhet. Det rette valget avhenger av oppgaven og kalenderen, for en hash som var respektabel for tjue år siden, kan være trivielt brutt i dag.
De brutte
- (128 bit) er brutt. Kollisjoner kan produseres på sekunder på en bærbar datamaskin og har blitt brukt i virkelige angrep (Flame-skadevaren forfalsket et kodesigneringssertifikat med en MD5-kollisjon). Den overlever bare som en rask, sikkerhetsfri kontrollsum, og selv der finnes bedre alternativer.
- -1 (160 bit) er brutt. SHAttered-forskningen i 2017 produserte to forskjellige -er med samme SHA-1-digest, og deretter fulgte kollisjoner med valgt prefiks. Nettlesere og sertifikatutstedere fjernet støtten for SHA-1 for år tilbake. Bruk den ikke til signaturer eller integritet en motstander kan angripe.
De nåværende arbeidshestene
- SHA-2 er standardfamilien for det meste arbeidet. Det er et sett beslektede funksjoner, vanligvis SHA-256 og SHA-512 (også SHA-224, SHA-384 og den avkortede SHA-512/256). Det finnes ingen praktisk kollisjonsangrep mot SHA-2. I tvil er SHA-256 det trygge og universelt støttede valget.
- SHA-3 (Keccak) er en nyere standard bygget på en helt annen intern design (en svampkonstruksjon) enn SHA-2. SHA3-256 og SHA3-512 gir sammenlignbar sikkerhet og finnes delvis som beskyttelse: skulle en svakhet noen gang finnes i SHA-2, er det usannsynlig at SHA-3 deler den. Den er også ved sin design immun mot lengdeutvidelsesproblemet som rammer SHA-2.
- BLAKE2 og BLAKE3 er moderne, svært raske hasher med sterk sikkerhet. BLAKE3 i særdeleshet er laget for å parallelliseres, noe som gjør den attraktiv når man hasher store datamengder og vil ha hastighet uten å gi avkall på sikkerhet.
Å velge en
En kort beslutningsguide:
- Generell integritet, signaturer eller "jeg trenger bare en trygg hash": SHA-256.
- Du vil ha algoritmemangfold eller immunitet mot lengdeutvidelse uten : SHA-3 eller SHA-512/256.
- Hashing av store filer der gjennomstrømning teller: BLAKE3.
- En rask, sikkerhetsfri kontrollsum (oppdage tilfeldig korrupsjon, ikke manipulering): en CRC eller MD5 duger, men kall det aldri "trygt".
- Passord er et separat problem. Generelle hasher er for raske for passordlagring; bruk en egen passordhash som bcrypt, scrypt eller Argon2 (se artikkelen om passordhashing).
Hash-verktøyet beregner MD5, SHA-1, SHA-256, SHA-512 og mer over tekst eller en fil, så du kan sammenligne utdata side om side, alt i nettleseren din, uten at noe sendes.