I'd like to know that is it possible to use skein instead of MD5 or SHA1 for file integrity checking?
Is that really better or faster than SHA1 and MD5?
Update:
Regarding your responses. Actually I'd like to use a faster algorithm for Host IDS like OSSEC (that maybe performs File integrity checking for example every 10 min) to put lower loading on the host and take less resources.
So I have two options:
- New algo
- Improve SHA1 or MD5.
Can you explain which way is implementable and better?
The submitters of Skein claim a maximum performance of 6.1 clock cycles per processed byte, assuming a 64-bit assembly implementation and using Skein-512. That's a bit below 400 MB/s on a 2.4 GHz core, which is quite good. Yet my own C code for MD5 achieves a bit more than 400 MB/s on the same machine: Skein is not faster than MD5. But not slower either.
Skein, however, is fast enough: you do not really need the hash function to be much faster than the harddisk, although faster code may free some CPU for other threads to run (but, then again, a 2.4 GHz PC often has several cores).
Personally, I would suggest using an established standard (SHA-256 or SHA-512, if you want to be conservative -- but for some tasks MD5 and even MD4 are good enough, and MD4 is really fast, and its compact code uses very little L1 cache). When "the" SHA-3 is officially selected, it will be time to use it and deploy it in production.