Saphir Hash – Java Message Digest Algorithms

Saphir Hash is a Java library for calculating cryptographic message digests. The library is derived from the sphlib 3.0 code that can be found on the projects website.

My repackaged, mavenized and JCA-enabled version 3.0.1 and later can be found here:

Compared to the standard SUN message digest algorithm this library contains many experimental hash algorithms.

Algorithm overview

The following is a list of implemented message digest algorithms:

  • BLAKE224,256,384,512
  • BMW224,256,384,512
  • CubeHash224,256,384,512
  • ECHO224,256,384,512
  • Fugue224,256,384,512
  • Groestl224,256,384,512
  • Hamsi224,256,384,512
  • HAVAL128_3,128_4,128_5,160_3,160_4,160_5,192_3,192_4,192_5,224_3,224_4,224_5,256_3,256_4,256_5 JH224,256,384,512
  • Keccak224,256,384,512
  • Luffa224,256,384,512
  • MD2
  • MD4
  • MD5
  • PANAMA
  • RadioGatun32,64
  • RIPEMD128,160
  • SHA0,1,224,256,384,512
  • Shabal192,224,256,384,512
  • SHAvite224,256,384,512
  • SIMD224,256,384,512
  • Skein224,256,384,512
  • Tiger2
  • Tiger
  • Whirlpool0,1
  • Whirlpool

Documentation

There are multiple documents explaining the software:

Usage: Maven dependencies

You can use the code using the Maven repository.

The core classes without JCA support is in this dependency (version may change):

<dependency>
    <groupId>de.tynne</groupId>
    <artifactId>saphir-hash-core</artifactId>
    <version>3.0.1</version>
</dependency>

The JCA provider is contained in this dependency (version may change):

<dependency>
    <groupId>de.tynne</groupId>
    <artifactId>saphir-hash-jca</artifactId>
    <version>3.0.1</version>
</dependency>