Hi again,
Dat valt wel mee... Als je de data in blokken van een bepaalde grootte verdeeld, bijvoorbeeld 500 tekens, dan kunnen collisions alleen binnen een relatief kleine range optreden. Bovendien hebben de collisions een heel handige eigenschap die misschien uitgebuit kan worden: de spreiding over de range is heel erg regelmatig...!
Als je weer van bijv. 500 tekens uitgaat, dan zou je alle mogelijke hashes van data van 500 tekens in
een (hardwarematige?) lookup table kunnen plaatsen, bovendien kost een hash over kleinere blokken
berekenen veel sneller dan voor "een file met een beetje grootte"....
Hoe groter de md5 file, hoe kleiner het aantal collisions en andersom...
Bedankt voor het rekenwerk! Waarschijnlijk heb je wel gelijk, maar ik was maar een beetje aant brainstormen
in dit topic Het enigste wat ik er op aan wil merken is dat een MD5 die 50% van de orginele data in beslag
neemt zeer zeldzaam is Gaat vrijwel altijd om minder dan een procent en toch zijn er tot op heden nauwelijks
collisions gevonden.. Hoe verklaar je dat? :-p Bovendien is de bloklengte van mijn ideetje fixed, wat de kans op
collisions aanmerkelijk verminderd.. Laten we blijven zoeken
Geen dank. De 50% was een voorbeeld om te laten zien hoevel collisions er kunnen optreden bij zelfs een relatief zeer grote md5 file. ... de collisions bij een relatief kleine md5 file zijn nog veel groter!!!
Ik denk dat je je nog steeds verkijkt hierop.... Welke methode je ook gebruikt om data lossless te verkleinen (Hetzij de md5 methode, hetzij de primenumber, hetzij welke bekende of nog onbekende compressie methode dan ook) Het is ONMOGELIJK om IEDERE file van N bits, lossless te verkleinen tot N-1 bits. (=pigeonhole)
Zoals ik al zei kom je in het dageliijks leven bij bestaande files niet veel collisions tegen. Omdat zelfs ALLE bestaande files op de wereld maar een te verwaarlozen percentage is van alle MOGELIJKE (bestaande EN (nog) onbestaande) files. Dus ook de collisions die men tegenkomt zijn maar een te verwaarlozen percentage van het aantal mogelijke collisions.
Kortom, tenzij je alle bestaande files in kaart brengt met hun md5('s) EN iedereen verbiedt om nog nieuwe files aan te maken (da's lastig hoor! ), zal jouw md5 compressie methode helaas niet gaan werken...
Ik wil best met je meedenken hoor, maar zolang je nog geloofd/hoopt dat er een methode bestaat die iedere file lossless kan verkleinen heeft 't weinig zin. Vaak duurt 't even voor dat iemand wil geloven dat 't echt niet kan...
I've been there...
Lossy EN / OF een beperkte dataset, is een totaal ander verhaal (dat is WEL mogelijk).