Gå til innhold

Anbefalte innlegg

Leste et innlegg på stackoverflow. her er en liten del:

 

 

 

 

You can't. The whole point of a hash is that it's one way only. This means that if someone manages to get the list of MD5 hashes, they still can't get your password. http://stackoverflow.com/questions/1240852/is-it-possible-to-decrypt-md5-hashes

 

 

Han sier det ikke er mulig å finne passordet selv om du har en liste med alle MD5 hashes. Er dette pga at det finnes flere ord som har den samme hashen og at du ikke vet akkurat hvilket ord det er? Men om f.eks katt og hund har den samme hashen og du har satt passordet ditt til hund, kan man da også bruke katt hvis det er brukt md5 på innlogging?

Lenke til kommentar
Videoannonse
Annonse

Det han mener er at du ikke kan dekryptere en MD5-hash for å finne passordet.

 

Du kan imidlertid lage deg en ny hash av ett ord, f.eks. "hund" å sammenligne den hashen med de hashene du har fått tak i. Ett såkallt Dictionary Attack http://en.wikipedia.org/wiki/Dictionary_attack

 

Evt. prøve Brute Force der du genererer masse random strenger å sammenligner hashene.

Endret av xibriz
Lenke til kommentar

En liste over mulige MD5-hasher har naturligvis minimal nytteverdi om man ikke kjenner til en (eller flere) klartekst-meldinger (f.eks. passord) som gir den hashen når man kjøreren den gjennom funksjonen. Hvis jeg vet input og output, og så ser samme output et annet sted, kan jeg med relativt stor sannsynlighet fastslå at det er samme input. MD5 har betydelige kollisjonsproblemer, men i passordsammenheng vil en kollisjon fungere som et fullgodt passord på den samme tjenesten og muligens andre tjenester. Kollisjonsproblemet er mest aktuelt for annen bruk enn passord, siden man uansett bør (les: SKAL om man ikke vil bli regnet som en idiot) bruke salt og derfor beskytter seg mot forhåndsgenererte tabeller («rainbow tables»). Vet noen først passordet til en konto, så er sikkerheten til de andre kontoene til samme bruker at det ikke brukes samme passord og/eller at man bruker en ekstra/annen form for autensiering.

  • Liker 2
Lenke til kommentar
  • 2 måneder senere...

Usikkerheten med MD5 er jo nettopp at det er forholdsvis lett å lage kollisjoner. Det er ikke nødvendigvis selve passordet du finner, men om det du finner faktisk virker som passordet, så gjør jo ikke det saken noe bedre.

 

Beep, feil. Det er "lett" å lage to filer som har samme md5 hash, men det er irrelevant i forbindelse med preimage attack, som passord hashing er.

 

MD5 kan ikke reverseres, men "problemet" er at den er ekstremt rask, så du kan effektivt prøve millioner av forskjellige strings per sekund for å finne strings som har riktig hash. Mens det teoretisk sett er uendelig med in-data som gir samme hash, er ganske få av de i et passord-format (7 bit ascii/utf8 string på 1-20 char lengde).

Endret av Terrasque
Lenke til kommentar

Nei! MD5 er LANGT IFRA ekstremt rask.

 

Sjekk heller ut xxHash

Name            Speed       Q.Score   Author
xxHash          5.4 GB/s     10
MumurHash 3a    2.7 GB/s     10       Austin Appleby
SpookyHash      2.0 GB/s     10       Bob Jenkins
SBox            1.4 GB/s      9       Bret Mulvey
Lookup3         1.2 GB/s      9       Bob Jenkins
CityHash64      1.05 GB/s    10       Pike & Alakuijala
FNV             0.55 GB/s     5       Fowler, Noll, Vo
CRC32           0.43 GB/s     9
MD5-32          0.33 GB/s    10       Ronald L. Rivest
SHA1-32         0.28 GB/s    10
Lenke til kommentar

Denne diskusjonen er i forbindelse med hashing av passord og knekking av de, hvor vi snakker om kryptografiske hash algoritmer. Ingen av de i listen der (bortsett fra md5 og sha1) er det.

 

Tingen er at når du hasher f.eks passord så vil du at det skal gå tregt.

 

Du trenger bare å lage en hash når en bruker logger inn, og har tid til å bruke et par hundre millisekunder på det. Når noen prøver å "reversere" den så må de kjøre hash algoritmen for hvert forsøk, og enhver forsinkelse der er kostbar.

 

Derfor har du key stretching, og trege hash algoritmer spesielt utviklet for å være kostbar å kalkulere.

 

MD5 er ca 3-4x raskere enn SHA1 på GPGPU compute, som betyr at du kan sjekke 3-4x så mange passord på samme tid i forhold til SHA1. Det er en ganske betydelig forskjell.

  • Liker 1
Lenke til kommentar

Fordi MD5 er ikkje lenger kryptografisk

 

Da vet du noe ingen andre vet... Aka [Citation Needed]

 

PS: For preimage attack mot md5 er det eneste dette:

 

"In April 2009, a preimage attack against MD5 was published that breaks MD5's preimage resistance. This attack is only theoretical, with a computational complexity of 2123.4 for full preimage."

 

PS2: PBKDF2 brukes ofte med SHA* som "workhorse", så å si at "Bruker man SHA gjør man feil, man skal bruke PBKDF2" er litt rart utsagn ;)

 

PS3: http://en.wikipedia.org/wiki/Scrypt er regnet som bedre enn bcrypt, forresten.

Endret av Terrasque
Lenke til kommentar

Da skal du få cititation needed frå kongen sjølv: http://phk.freebsd.dk/sagas/md5crypt_eol.html?highlight=md5

 

MD5 kan fint brukast til checksumming, men då er god ytelse også ofte viktig, ergo du vil heller bruke SipHash/xxHash

 

Nei det er heilt greit å bruke SHA, men ikkje aleine til passord.

 

scrypt er nyare enn bcrypt, om kven av dei som er best er heilt irrelevant då begge er GODE nok!

Lenke til kommentar

For å si det slik....

 

>>> print len(s)
30
>>> md5(s).hexdigest()
'2025d55590b7e8ea742904e0e4437bc5'
>>>

s inneholder tall og bokstaver. Hvis MD5 ikke er kryptografisk så kan du kalkulere deg frem til en verdi som gir samme resultat - eller i det minste påvirke hvordan resultatet blir ved hva du sender inn i hash funksjonen.

 

Eneste måten å finne en lik eller til og med lignende verdi med MD5 er å prøve tilfeldige verdier og se hva resultatet blir. Det at du kan prøve tilfeldige verdier veldig fort er irrelevant i forhold til den egenskapen.

Endret av Terrasque
Lenke til kommentar

PS: For preimage attack mot md5 er det eneste dette:

 

"In April 2009, a preimage attack against MD5 was published that breaks MD5's preimage resistance. This attack is only theoretical, with a computational complexity of 2123.4 for full preimage."

 

Du snakker om Collision Attack, som er noe annet en Preimage Attack. Ved passord, så er det preimage som gjelder.

 

Edit: Du blander terminologi, du kommer med udokumenterte påstander, du foreslår en ikke-kryptografisk hash fuksjon som et bedre alternativ til en kryptografisk hash funksjon, og trekker frem en av hovedgrunnene til at MD5 ikke bør brukes til passord lagring - hastighet - som en fordel. Eneste kjente problemet med MD5 for passord lagring i dag er at den er for rask å kalkulere.

Endret av Terrasque
Lenke til kommentar

 

Hash-funksjoner brukes til så mangt, og det er ikke slik at én algoritme passer til alt. Denne tråden handler om passord. Når man lagrer passord ønsker man å bruke individuell salt for hvert enkelt passord, og man ønsker en kryptografisk enveis-funksjon som er relativt treg. At den er treg er, som Terrasque sier, positivt når vi snakker om hashing av passord, fordi vi ønsker å unngå at noen genererer massevis hasher i et forrykende tempo i et forsøk på å avsløre hvilke passord som er brukt. Hvor raskt dette går, vil avhenge av både funksjonen, type maskinvare og spesifikasjonene til maskinvaren. Type maskinvare er aktuelt fordi man kan velge mellom blant annet CPU, GPU og spesialbygget maskinvare (ASIC). Sistnevnte er da maskinvare som bygges for å gjøre en veldig spesifikk oppgave, og er noe som har blitt populært til f.eks. Bitcoin-mining som i praksis handler om å være førstemann til å beregne en hash som oppfyller visse krav (og ikke en spesifikk verdi, fordi det ville teoretisk sett tatt vanvittig lang tid). Noen funksjoner vil gå veldig tregt å kjøre med CPU, men kan gå ekstremt mye raskere med en ASIC.

 

MD5 er rask, men det er altså ikke positivt. Vi vil ikke ha den raskest mulige enveis-funksjonen, fordi raskere (litt forenklet) betyr mindre sikker.

  • Liker 1
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...