On 7 Oct 2015 23:03 +0200, from j...@lillahusetiskogen.se: > On Wed, 7 Oct 2015 22:42:57 +0200 Rolf Edlund <rolfew...@gmail.com> wrote: >> Men jag forsoker alltid anvanda MD512 eller SHA512, efter som MD5 och >> SHA1 inte anses som sakra. > > Vad är säkert? > Troligen inte MD5. Men kanske tillräckligt säkert?
Det beror helt och hållet på vad hotbilden är. Om hotbilden är en intelligent angripare som riktar in sig på just din brända CD-skiva och har petat i bränningsprogramvaran för att lägga in saker som inte ska vara där enligt ISO-filen, så är MD5 förmodligen inte säkert. Om hotbilden är att något "ointelligent" hände under bränningsprocessen som gjorde att det blev något fel på datat som brändes till skivan, så räcker MD5 med allra största sannolikhet utmärkt. En intelligent angripare lär nog hellre ge sig på andra saker än just bränningsprogramvaran för att få in skit på just din CD... Problemet med SHA1 handlar om kollisioner ("birthday attack", second preimage), inte att kunna skapa annan data som ger samma fulla hashvärde som en existerande datamängd (first preimage). Och inte ens second preimage ses som sannolikt att någon kan utnyttja idag; att SHA1 fasas ut i SSL-certifikat är en försiktighetsåtgärd inför framtiden, inte ett svar på att det är ett faktiskt problem just nu. Second preimage är långt mycket lättare att genomföra än first preimage, eftersom i second preimage så kontrollerar angripare båda datamängderna. Alltså, problemet med SHA1 är att det börjar bli praktiskt genomförbart för en mycket resursstark angripare att skapa två datamängder x och y så att H(x) = H(y) (second preimage), inte att man givet ett hash x kan hitta en datamängd y så att H(y) = x (first preimage). Second preimage är ett problem om både x och y är giltiga och man t.ex. kryptografiskt signerar hashvärdet alltså H(x). I ett sådant läge kan man byta ut x mot y och alla kontroller säger att allt är rätt, men det står något helt annat än vad som var avsikten. Vill man skydda sig mot den typen av attacker så är förmodligen det enklaste sättet att använda två olika hashalgoritmer, t.ex. SHA1 och SHA256. Det är vad Debian gör (jag tror de använder MD5, SHA1 och SHA256, plus filstorlek). Sannolikheten att det går att hitta en attack som samtidigt fungerar mot flera olika algoritmer är mycket mindre än den redan lilla sannolikheten att man kan angripa en enskild algoritm (och det är dessutom i ett enskilt fall). Finns förresten ingen, i alla fall vanligt använd, hashfunktion som heter MD512. Det enda vanligt använda 512-bitars hashet är nog SHA512. Så jag vet inte vad du syftade på där, Rolf. Oavsett vilket så lär den begränsande faktorn i både MD5 och SHA512 i det användarscenario du beskriver vara I/O-hastighet på CD-läsningen, så prestandan är det förmodligen ingen större skillnad på. -- Michael Kjörling • https://michael.kjorling.se • mich...@kjorling.se OpenPGP B501AC6429EF4514 https://michael.kjorling.se/public-keys/pgp “People who think they know everything really annoy those of us who know we don’t.” (Bjarne Stroustrup)