jeIIy Skrevet 29. august 2014 Del Skrevet 29. august 2014 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
Sokkalf™ Skrevet 29. august 2014 Del Skrevet 29. august 2014 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. Lenke til kommentar
xibriz Skrevet 29. august 2014 Del Skrevet 29. august 2014 (endret) 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 29. august 2014 av xibriz Lenke til kommentar
Horrorbyte Skrevet 29. august 2014 Del Skrevet 29. august 2014 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. 2 Lenke til kommentar
siDDis Skrevet 1. september 2014 Del Skrevet 1. september 2014 MD5 er dessuten også ganske treigt til rein hashing, eg anbefaler sterkt heller å utføre hashing med xxHash eller SipHash. Trenger du sterk sikkerheit, så sjå på Blake2 Lenke til kommentar
Terrasque Skrevet 5. november 2014 Del Skrevet 5. november 2014 (endret) 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 5. november 2014 av Terrasque Lenke til kommentar
siDDis Skrevet 5. november 2014 Del Skrevet 5. november 2014 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
Horrorbyte Skrevet 5. november 2014 Del Skrevet 5. november 2014 Altså, hva er vitsen med å sammenligne MD5 med en ikke-kryptografisk algoritme som er laget for å være raskest mulig? 1 Lenke til kommentar
Terrasque Skrevet 5. november 2014 Del Skrevet 5. november 2014 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. 1 Lenke til kommentar
siDDis Skrevet 6. november 2014 Del Skrevet 6. november 2014 Fordi MD5 er ikkje lenger kryptografisk Må du ha rask og kryptografisk så har du SIPHash Lenke til kommentar
siDDis Skrevet 6. november 2014 Del Skrevet 6. november 2014 Tingen er at når du hasher f.eks passord så vil du at det skal gå tregt. Riktig, og da bruker du verken MD5 eller SHA1-2-3 Du bruker enten http://en.wikipedia.org/wiki/PBKDF2 eller http://en.wikipedia.org/wiki/Bcrypt Bruker du noko anna, så gjer du det feil. Lenke til kommentar
Terrasque Skrevet 6. november 2014 Del Skrevet 6. november 2014 (endret) 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 6. november 2014 av Terrasque Lenke til kommentar
siDDis Skrevet 6. november 2014 Del Skrevet 6. november 2014 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
Terrasque Skrevet 6. november 2014 Del Skrevet 6. november 2014 Det han sier er at md5crypt er utdatert, fordi md5 kan kalkuleres så raskt på COTS hardware. Som er det samme jeg har sagt. Det er noe helt annet en "ikke kryptografisk" Lenke til kommentar
siDDis Skrevet 7. november 2014 Del Skrevet 7. november 2014 Vell om du meiner MD5 er "random"/kryptografisk nok så får du bare forsetja med det! Lenke til kommentar
Terrasque Skrevet 7. november 2014 Del Skrevet 7. november 2014 (endret) 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 7. november 2014 av Terrasque Lenke til kommentar
siDDis Skrevet 7. november 2014 Del Skrevet 7. november 2014 Det same kan du gjere med xxHash. Her kan få den matematiske forklaringen på kvifor kollisjoner er eit problem med MD5 http://www.mathstat.dal.ca/~selinger/md5collision/ Derimot bruker du 64bits versjonen av xxHash så vil det være langt vanskelegare å finne kollisjoner enn med MD5. Lenke til kommentar
Terrasque Skrevet 7. november 2014 Del Skrevet 7. november 2014 (endret) 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 7. november 2014 av Terrasque Lenke til kommentar
siDDis Skrevet 7. november 2014 Del Skrevet 7. november 2014 LOL nei! Hjelp! Eg gidder ikkje meir.... forsett å bruk MD5 til passord! Så får nokon andre hudflette deg seinare. Lenke til kommentar
Horrorbyte Skrevet 7. november 2014 Del Skrevet 7. november 2014 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. 1 Lenke til kommentar
Anbefalte innlegg
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 kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå