Registriert seit: 25. Jun 2003
Ort: Thüringen
2.950 Beiträge
|
Re: Hash-Algorithmus gesucht
23. Sep 2004, 14:25
CRC32 ist natürlich keine "secure hash function", allerdings werden solche Hash Funktionen eben sehr oft einfach als Checksum Funktonen benutzt, sprich wie eine CRC32.
Es gibt mehrere Alternativen:
1.) nehme eine Hashfunktion wie MD4, diese gibt eine 128Bit Checksumme, XOR einfach die oberste 64Bit mit den untersten 64Bits dieser 128Bit Prüfsumme. Das ist ein sehr oft benutzter Weg der sich Shortening nennt.
2.) nehme 2 * 32Bit CRC, jedes ungerade DWord der Daten landet in der 1'ten CRC32 und jedes gerade DWord der Daten in der 2'ten CRC32. Man zerlegt also die Inputs in zwei getrennte Datenströme. Allerdings erhöht sich dadurch eben nicht die Datensicherheit als wenn man gleich eine 64Bit CRC benutzen würde. Dieses Verfahren würde man Whitening nennen.
3.) suche nach 64Bit CRC's im WEB, die gibt es garantiert mit Sourcen, sind halt nur seltener und schwerer zu finden.
4.) nimm ein LFSR-> Linear Feadback Shift Register. Diese basieren exakt auf den gleichen math. Grundlagen wie CRC's. Über LFSR > 32Bit findet man viel mehr im WEB.
5.) schaue dir meine TRandom_LFSR Klasse an und extrahiere dort den für dich relevanten Source. Mein LFSR ist variabel, kann also im Grunde CRC's berechnen im Bereich von 32 bis 2049 Bit Breite !!
Gruß Hagen
|