#22 Support for Skein


Add support for the Skein family of hash functions.

Skein uses the Davies-Meyer construction, which increases the overall variety of hash functions supported by rhash. MD4, MD5, SHA1, and SHA2 all use the Merkle–Damgård construction, whirlpool uses the Miyaguchi-Preneel construction, and SHA3 uses the sponge construction.

Skein supports internal state sizes of 256, 512 and 1024 bits, and arbitrary output sizes. It's one of the fastest modern cryptographic hashes, claiming 6.1 cycles per byte for any output size on an Intel Core 2 Duo in 64-bit mode, was a candidate for the SHA3 NIST competition, and is believed currently to be secure.

See https://en.wikipedia.org/wiki/Skein_(hash_function) for more info.


  • Aleksey

    Aleksey - 2014-06-22

    RHash supports another SHA3 candidate algorithm - EDON-R 256/EDON-R 512, whith the speed 2.6 and 4.9 cycles/byte respectively on Core i7 x64 [1].

    Since Skein is not a standart and is slower than EDON-R, I don't see for now a good reason to add it to RHash.

    [1] http://bench.cr.yp.to/results-hash.html

  • Aaron Toponce

    Aaron Toponce - 2014-06-23

    EDON-R is also not standardized, and uses the same Merkle–Damgård construction that many of the others use. Because there have been successful breaks on MD4 and MD5, and theoretical attacks on SHA1 and SHA2, there could be a fundamental problem with Merkle–Damgård. If Merkle–Damgård is broken, all cryptographic hashes using it will break.

    Current algorithms that use Merkle–Damgård supported by RHash:

    - md4
    - md5
    - sha1
    - sha224
    - sha256
    - sha384
    - sha512
    - btih
    - tiger
    - aich
    - e2dk
    - edonr256
    - edonr512
    - snefru256
    - snefru512

    The 4 SHA3 functions use the sponge construction, and WHIRLPOOL uses Miyaguchi-Preneel, as previously mentioned. I am not familiar with how GOST is constructed.

    IMO, that's too many eggs in one basket. Having cryptographic hashes that support different constructions strengthens the utility.

    Anyway, thanks for your reply.

  • Aleksey

    Aleksey - 2014-07-01

    Since our project is open source, I'm open for patches (written under RHash license [1])

    [1] http://rhash.anz.ru/license.php

  • pww 71

    pww 71 - 2015-04-24



Log in to post a comment.

Get latest updates about Open Source Projects, Conferences and News.

Sign up for the SourceForge newsletter:

No, thanks