Using Skein for File integrity checking

689 views Asked by At

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:

  1. New algo
  2. Improve SHA1 or MD5.

Can you explain which way is implementable and better?

2

There are 2 answers

2
Thomas Pornin On

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.

3
C. K. Young On

In response to your last question: Being an entrant in the SHA-3 contest, it's supposed to be much better than SHA-2, let alone SHA-1.

(Not even mentioning MD5: it's already broken, and you should not use it in any new code.)