Többtíz gigabyte napi szintű távoli szinkronizálását (kis sávszélességgel) kéne megoldanom, az adatok 1/4/16/64 MB-os szervezésűek, nincs fájlnév, dátum, egyéb azonosítóm.
Van emberi számítás szerint esély arra, hogy méret, CRC32, MD5 és SHA256 azonosság esetén a két alapul vett adathalmaz különbözzön?
- 1820 megtekintés
Hozzászólások
sha256-nál olyan 10^77-en a kimenetek száma. Lottó ötösnél 95 alatt 5 olyan 44 millió "csak". ez lehet támpont :)
ugye még ha 1 MB-os adatrészeket is továbbítasz, az meg önmagában több kimenetet ad. tehát itt a legkisebb halmazt a hash adja, amiatt meg nem aggódnék.
- A hozzászóláshoz be kell jelentkezni
Inkább vagy kapcsolat van!
Bár két azonos méretű file mg simán lehet különböző, de ha a méret azonos és a tartalom csak egy bitben eltér az md5, vagy sha256 különbözni fog.
Tehát, ha a két adathalmaz md5, vagy sha256 summája azonos, akkor egyértelműen kijelenthetjük, hogy a két adathalmaz azonos.
----
概略情報
- A hozzászóláshoz be kell jelentkezni
Ebben biztos vagy?
Ismerve az MD5 algoritmust én nem látom, hogy miért ne lehetne ilyen. (Szóval komolyan érdekel, hogy miért nem lehet.)
szerk: biztos vagyok benne, hogy azonos méretnél is lehet ütközés, különben elég jó tömörítési eljárás lenne.
- A hozzászóláshoz be kell jelentkezni
Nem vagyok programozó, de ha ez nem így lenne akkor nagy gondban lennének mindazok akik a programjuk letöltése mellett - az eredetiség ellenőrzése végett - közlik a letölthető tar.gz md5/sha256 akármi hashét
----
概略情報
- A hozzászóláshoz be kell jelentkezni
Gondban is lehetnek, csak annyira kicsi az esélye az ilyen jellegű hibának, hogy véletlenül még talán elő sem fordult. Viszont szándékosan ki lehet használni a dolgot. (Persze gép is kell hozzá ;) és az ilyenek (viszonylag gyors ütközés keresés) miatt kell leváltani az MD5-öt.)
De hogy egyszerűbb legyen: Képzeld el, hogy felírod egy fájlnak az MD5 hash-ét és a pontos méretét, átmész egy másik géphez és egyértelműen helyreállítod a 80TB-os fájlt :P Jó is lenne. Imádnám! Backup-hoz kiváló lenne. Floppy-ra mentenénk a világot is.
- A hozzászóláshoz be kell jelentkezni
md5 exploit
__________________________________
2e845cb4c3a5b5bd6508455b1739a8a2
- A hozzászóláshoz be kell jelentkezni
"Képzeld el, hogy felírod egy fájlnak az MD5 hash-ét"
Úgy hívják torrent, magnetic link, igaz ott 20 byte a hash :D
----------------
Lvl86 Troll
- A hozzászóláshoz be kell jelentkezni
de abból nem is állítod helyre a fájlt ;)
- A hozzászóláshoz be kell jelentkezni
Dehogynem. Csakhogy egy csomot elo tudsz allitani, aminek ugyanez a hash-e (vegtelen sokat). Aztan keresd meg, melyik lesz, amelyik neked kell.
- A hozzászóláshoz be kell jelentkezni
Miert lennenek gondban? Az MD5/stb. hashek nem 100%-os biztonsaggal mondjak meg, hogy mirol keszult az a hash. Van egy hatalmas bitsorozatot, ok abbol gyartanak egy kisebb bitsorozatot, azzal a feltetellel, hogy ha az eredeti bitsorozat egy bitje valtozik, akkor a kimeneten legalabb a bitek fele valtozik. Ennyit tud az MD5, semmi tobbet. Nem garantalja (csak kicsi a valoszinusege), hogy minden kulonbozo bemenetnek kulonbozo hash-e legyen, hiszen az MD5 fuggveny nem bijektiv. Elmeletileg lehetetlen is, hiszen 32 byteon nem tarolhatsz el akarmennyi informaciot.
Ajanlom ezt az eloadast: http://www.renyi.hu/~csirmaz/nws06/nws06.pdf
- A hozzászóláshoz be kell jelentkezni
azért nem jelenthetjük ki teljes biztonsággal.
Minden bit változás az inputon egy teljesen új, random hasht jelent.
ez az md5-nél 128 bites véletlenszám.
Ha két filenak ugyanannyi az md5 összege, annak az esélye, hogy a két file különböző, kb akkora, mint a lottón zsinórban egymás után 4 héten a lottóötösnek (egy szelvénnyel játszva). Azaz kicsi.
- A hozzászóláshoz be kell jelentkezni
A lotto matematikai definicio szerint igen valoszinu :D
Tessek:
http://www.win.tue.nl/hashclash/Nostradamus/
10db pdf dokumentum, azonos merettel, azonos md5 hash, de kulonbozo tartalom! :D
- A hozzászóláshoz be kell jelentkezni
Dehogy jelenthetjuk ki. Mivel kevesebb lehetseges MD5 ertek van, mint forras adat, igy maga a hash-fuggveny nem bijektiv (nyilvan, hiszen pont ezert hash-fuggveny). Azaz siman csinalhatsz olyan adatparokat, amelynek megegyeznek a hash-ei, egyszerre tobb hash-fuggvennyel is.
- A hozzászóláshoz be kell jelentkezni
Ez szamarsag. A hash esetunkben egy vegtelen szamossagu inputot kepez le veges szamu esetre. Per definitum vegtelen szamu utkozes talalhato benne...
- A hozzászóláshoz be kell jelentkezni
Előre bocsájtva, hogy különösebben nem értek a témához, az első néhány link jónak tűnik:
hash collision - Google
Talán el lehet indulni valamelyiken. :)
<-------
You can't grep on dead trees.
- A hozzászóláshoz be kell jelentkezni
Finder, Radix!
Értem a matematikai fejtegetést, nyilvánvaló, hogy igazatok van, mindazon által kevés valószínűségét látom annak, hogy két távoli adathalmaz össze szinkronizálásakor, azon kívül ha a mester adathalmaz változatlan, ilyen azonosság álljon elő.
blr!
Írhatnál kicsit többet a feladatról.
----
概略情報
- A hozzászóláshoz be kell jelentkezni
Erre írtam, hogy annyira kicsi az esélye, hogy véletlenül még talán elő sem fordult. Ez akkor jelent problémát, ha valaki szándékosan nyúl bele a fájlba. (Pl. adott egy eszköz ami csak aláírt firmware-t hajlandó boot-olni és az aláírásnál tulajdonképpen az adott MD5 hash-sel rendelkező firmware-t fogadják el akkor elég csak az általunk írt firmware-be néhány "ütköztető bitet" elrejteni és máris használhatjuk az eredeti aláírást.) Ilyen szinkronizálós dolgokra szerintem nyugodt szívvel lehet használni.
- A hozzászóláshoz be kell jelentkezni
Az, hogy te kevés valószínűséget látsz, az nem jelenti azt, hogy nem fog előfordulni. Például az, hogy valaminek az előfordulási valúszínűsége 2^(-200)-on, attól még akár az első kísérletkor is előfordulhat, és utána meg sokáig nem. Ez természetes. Az, hogy valaminek kicsi a valószínűsége, attól az még nem lehetetlen. Sőt, a 0 valószínűségű esemény sem lehetetlen.
- A hozzászóláshoz be kell jelentkezni
Egy idő után már nagyobb annak a valószínűsége, hogy például hardverhiba miatt téves md5-öt számol a gép, vagy a fájlnak megváltozik az egyik bitje, vagy bármi ilyesmi...
- A hozzászóláshoz be kell jelentkezni
A lottós hasonlatokkal vigyázz! Igaz hogy megállapítják hogy sokkal-sokkal kisebb az ütközés esete, de azt nem veszik figyelembe, hogy sokkal-sokkal gyakrabban kísérted meg a sorsot, mint amilyen gyakran lottózol.
- A hozzászóláshoz be kell jelentkezni
Egyébként ha jól értem a problémát, akkor az rsync-et neked találták ki.
- A hozzászóláshoz be kell jelentkezni
Legyen N a lehetséges hash értékek száma (tehát például md5 esetén N = 2^128).
Legyen k az adatblokkok száma (több tíz gigabyte osztva kábé 1 megával, az párszor 10000, de te biztosan pontosabb becslést is tudsz készíteni. Az adatok időbeli változását is vedd figyelembe, tehát ha ez naponta vadiúj ekkora adathalmaz, akkor szorozd a napok számával!)
Az első md5 kiszámolásakor az ütközés esélye korábbiakkal 0. A másodiknál 1/N az esély hogy ütközik az előzővel. A harmadiknál 2/N (és itt elkezdünk picit csúsztatni, elhanyagoljuk azt az esetet hogy az első kettő már ütközött), és így tovább, az utolsónál (k-1)/N. Annak az esélye hogy egyáltalán volt ütközés ezek összege (ismét az előző csúsztatás befigyel), vagyis kábé k^2 / (2N). Ez a képlet N-hez képest kis k esetén (tehát a te esetedben, amikor épphogy csak azt akarod leellenőrizni hogy kell-e reálisan félni ütközéstől) tökéletesen jó közelítés.
Mindemellett ne feledd, hogy ez a valószínűséges sztori véletlen adatokra vonatkozik. Slashdot-on pár éve volt cikk arról, hogy sikerült konstruálni két fájlt azonos md5 összggel, ráadásul két érvényes postscript fájl volt egymásnak ellentmondó szerződésszöveggel. Nagyon nem mindegy tehát, hogy adataid véletlenek, vagy támadó által tökéletesen kontrollálhatóak. Utóbbi esetben érdemes utánajárni, hogy melyik algoritmus ellenállóbb, illetve a már létező hash algoritmusokat egy titkos komponenssel megbolondítani, például a checksumolt fájlok elé egy közös kis blokkot odabiggyeszteni, vagy egy másik checksum pár bitjét is hozzáfűzni.
- A hozzászóláshoz be kell jelentkezni
128 bites értéknél szerintem felesleges 10 000 -el szorozgatni az esélyeket. Az hogy pl. nem hetente 1x, hanem másodpercenként állítja elő ezt az értéket, nem sokkal javítja a ~10^38 kimenetek számát imho. Ha meg az adott algoritmus köztudottam törhető, akkor már nem érdemes használni. A bitek hozzáfűzése a bemeneti adathoz meg nem növeli a kimenetek számát szerintem.
De továbbra is kérdés, hogy mi a cél. Ha sima adatmentés és ez megnyugtatja, akkor ráengedhetne a feltöltött adatokra egy shasum-ot a feltöltés végeztével, és ezt összehasonlítani az eredeti adatokéval:
cd dir
find ! -type d -print0 | sort -z | xargs -0 sha256sum | sha256sum
vagy hasonló, lehet van egyszerűbb is
- A hozzászóláshoz be kell jelentkezni
Mindenkinek ajánlom a figyelmébe: https://i.broke.the.internet.and.all.i.got.was.this.t-shirt.phreedom.or…
- A hozzászóláshoz be kell jelentkezni
Azt javaslom, hogy használj két módszert, és a programod szóljon neked, ha csak az egyik szerint különbözőek a fájlok. Igen valószínűtlen, hogy két különböző fájl esetén két algoritmussal vett lenyomatuk megegyezik, viszont ha csak az egyik módszer bukik meg, akkor van egy jó cikked belőle :)
- A hozzászóláshoz be kell jelentkezni
Köszönöm az infókat. A konklúzió: kisebb a valószínűsége annak, hogy a három hash és a méret azonossága esetén különböző az eredeti adathalmaz, mint hogy egyszerre szálljon el két lemez a RAID5 tömbből.
Egyébként a napi változás nem sok, de az összes adat igen (kb. 7-800 GB), ráadásul a kedves alkalmazottak előszeretettel küldözgetnek hatalmas csatolmányokkal körleveleket, illetve játszák azt, hogy lementenek valamit magukhoz, aztán onnan átmásolják a publikus területre. Ebből következően az egész simán "tömöríthető" minimum a felére, ha elhiszem, hogy a három hash egyezősége "kimondja" két blokk egyezőségét. (Azért a blokkokra bontás, mert pl. ha valakinél 1-2 GB egy mailbox fájl, annak úgyis többnyire csak a vége változik, illetve ha egy fotóban kiretusálok egy karcolást, az sem feltétlenül érinti az egész fájlt.)
(Reméltem, hogy sejtésemet alapvetően alátámasztjátok, mert közben kb. 90%-ban elkészültem a kóddal :)
- A hozzászóláshoz be kell jelentkezni
A raid5 felejtos nagy disk terulet eseten. A diskek BER erteke alapjan ~13TB disk olvasas utan mar varhato egy nem javithato olvasasi hiba, vagyis nagy lemeztombok eseten a kieso disk ujraepitesenel konnyen beletenyerelhetsz egy masik disk hibaba...
- A hozzászóláshoz be kell jelentkezni
Ezért a napi adatmentés egyszer helyben, egyszer távolra.
- A hozzászóláshoz be kell jelentkezni