Package fr.cryptohash

The fr.cryptohash package contains implementations of various cryptographic hash functions.

See:
          Description

Interface Summary
Digest This interface documents the API for a hash function.
 

Class Summary
BLAKE224 This class implements the BLAKE-224 digest algorithm under the Digest API.
BLAKE256 This class implements the BLAKE-256 digest algorithm under the Digest API.
BLAKE384 This class implements the BLAKE-384 digest algorithm under the Digest API.
BLAKE512 This class implements the BLAKE-512 digest algorithm under the Digest API.
BMW224 This class implements the BMW-224 ("Blue Midnight Wish") digest algorithm under the Digest API.
BMW256 This class implements the BMW-256 ("Blue Midnight Wish") digest algorithm under the Digest API.
BMW384 This class implements the BMW-384 ("Blue Midnight Wish") digest algorithm under the Digest API.
BMW512 This class implements the BMW-512 ("Blue Midnight Wish") digest algorithm under the Digest API.
CubeHash224 This class implements the CubeHash-224 digest algorithm under the Digest API.
CubeHash256 This class implements the CubeHash-256 digest algorithm under the Digest API.
CubeHash384 This class implements the CubeHash-384 digest algorithm under the Digest API.
CubeHash512 This class implements the CubeHash-512 digest algorithm under the Digest API.
DigestEngine This class is a template which can be used to implement hash functions.
ECHO224 This class implements the ECHO-224 digest algorithm under the Digest API.
ECHO256 This class implements the ECHO-256 digest algorithm under the Digest API.
ECHO384 This class implements the ECHO-384 digest algorithm under the Digest API.
ECHO512 This class implements the ECHO-512 digest algorithm under the Digest API.
Fugue224 This class implements the Fugue-224 digest algorithm under the Digest API.
Fugue256 This class implements the Fugue-256 digest algorithm under the Digest API.
Fugue384 This class implements the Fugue-384 hash function under the Digest API.
Fugue512 This class implements the Fugue-512 hash function under the Digest API.
Groestl224 This class implements the Groestl-224 digest algorithm under the Digest API.
Groestl256 This class implements the Groestl-256 digest algorithm under the Digest API.
Groestl384 This class implements the Groestl-384 digest algorithm under the Digest API.
Groestl512 This class implements the Groestl-512 digest algorithm under the Digest API.
Hamsi224 This class implements the Hamsi-224 digest algorithm under the Digest API.
Hamsi256 This class implements the Hamsi-256 digest algorithm under the Digest API.
Hamsi384 This class implements the Hamsi-384 digest algorithm under the Digest API.
Hamsi512 This class implements the Hamsi-512 digest algorithm under the Digest API.
HAVAL128_3 This class implements HAVAL with 128-bit output and 3 passes.
HAVAL128_4 This class implements HAVAL with 128-bit output and 4 passes.
HAVAL128_5 This class implements HAVAL with 128-bit output and 5 passes.
HAVAL160_3 This class implements HAVAL with 160-bit output and 3 passes.
HAVAL160_4 This class implements HAVAL with 160-bit output and 4 passes.
HAVAL160_5 This class implements HAVAL with 160-bit output and 5 passes.
HAVAL192_3 This class implements HAVAL with 192-bit output and 3 passes.
HAVAL192_4 This class implements HAVAL with 192-bit output and 4 passes.
HAVAL192_5 This class implements HAVAL with 192-bit output and 5 passes.
HAVAL224_3 This class implements HAVAL with 224-bit output and 3 passes.
HAVAL224_4 This class implements HAVAL with 224-bit output and 4 passes.
HAVAL224_5 This class implements HAVAL with 224-bit output and 5 passes.
HAVAL256_3 This class implements HAVAL with 256-bit output and 3 passes.
HAVAL256_4 This class implements HAVAL with 256-bit output and 4 passes.
HAVAL256_5 This class implements HAVAL with 256-bit output and 5 passes.
HMAC This class implements the HMAC message authentication algorithm, under the Digest API, using the DigestEngine class.
JH224 This class implements the JH-224 digest algorithm under the Digest API.
JH256 This class implements the JH-256 digest algorithm under the Digest API.
JH384 This class implements the JH-384 digest algorithm under the Digest API.
JH512 This class implements the JH-512 digest algorithm under the Digest API.
Keccak224 This class implements the Keccak-224 digest algorithm under the Digest API.
Keccak256 This class implements the Keccak-256 digest algorithm under the Digest API.
Keccak384 This class implements the Keccak-384 digest algorithm under the Digest API.
Keccak512 This class implements the Keccak-512 digest algorithm under the Digest API.
Luffa224 This class implements the Luffa-224 digest algorithm under the Digest API.
Luffa256 This class implements the Luffa-256 digest algorithm under the Digest API.
Luffa384 This class implements Luffa-384 digest algorithm under the Digest API.
Luffa512 This class implements Luffa-512 digest algorithm under the Digest API.
MD2 This class implements the MD2 digest algorithm under the Digest API, using the DigestEngine class.
MD4 This class implements the MD4 digest algorithm under the Digest API, using the DigestEngine class.
MD5 This class implements the MD5 digest algorithm under the Digest API, using the DigestEngine class.
PANAMA This class implements the PANAMA digest algorithm under the Digest API.
RadioGatun32 This class implements the RadioGatun[32] digest algorithm under the Digest API.
RadioGatun64 This class implements the RadioGatun[64] digest algorithm under the Digest API.
RIPEMD This class implements the RIPEMD digest algorithm under the Digest API.
RIPEMD128 This class implements the RIPEMD-128 digest algorithm under the Digest API.
RIPEMD160 This class implements the RIPEMD-160 digest algorithm under the Digest API.
SHA0 This class implements the SHA-0 digest algorithm under the Digest API.
SHA1 This class implements the SHA-1 digest algorithm under the Digest API.
SHA224 This class implements the SHA-224 digest algorithm under the Digest API.
SHA256 This class implements the SHA-256 digest algorithm under the Digest API.
SHA384 This class implements the SHA-384 digest algorithm under the Digest API.
SHA512 This class implements the SHA-512 digest algorithm under the Digest API.
Shabal192 This class implements the Shabal-192 digest algorithm under the Digest API.
Shabal224 This class implements the Shabal-224 digest algorithm under the Digest API.
Shabal256 This class implements the Shabal-256 digest algorithm under the Digest API.
Shabal384 This class implements the Shabal-384 digest algorithm under the Digest API.
Shabal512 This class implements the Shabal-512 digest algorithm under the Digest API.
ShabalGeneric This class implements Shabal for all output sizes from 32 to 512 bits (inclusive, only multiples of 32 are supported).
SHAvite224 This class implements the SHAvite-224 digest algorithm under the Digest API (in the SHAvite-3 specification, this function is known as "SHAvite-3 with a 224-bit output").
SHAvite256 This class implements the SHAvite-256 digest algorithm under the Digest API (in the SHAvite-3 specification, this function is known as "SHAvite-3 with a 256-bit output").
SHAvite384 This class implements the SHAvite-384 digest algorithm under the Digest API (in the SHAvite-3 specification, this function is known as "SHAvite-3 with a 384-bit output").
SHAvite512 This class implements the SHAvite-512 digest algorithm under the Digest API (in the SHAvite-3 specification, this function is known as "SHAvite-3 with a 512-bit output").
SIMD224 This class implements the SIMD-224 digest algorithm under the Digest API.
SIMD256 This class implements the SIMD-256 digest algorithm under the Digest API.
SIMD384 This class implements the SIMD-384 digest algorithm under the Digest API.
SIMD512 This class implements the SIMD-512 digest algorithm under the Digest API.
Skein224 This class implements the Skein-224 digest algorithm under the Digest API.
Skein256 This class implements the Skein-256 digest algorithm under the Digest API.
Skein384 This class implements the Skein-384 digest algorithm under the Digest API.
Skein512 This class implements the Skein-512 digest algorithm under the Digest API.
Tiger This class implements the Tiger hash algorithm under the Digest API.
Tiger2 This class implements the Tiger2 hash algorithm under the Digest API.
Whirlpool This class implements the Whirlpool digest algorithm under the Digest API.
Whirlpool0 This class implements the Whirlpool-0 digest algorithm under the Digest API.
Whirlpool1 This class implements the Whirlpool-1 digest algorithm under the Digest API.
 

Package fr.cryptohash Description

The fr.cryptohash package contains implementations of various cryptographic hash functions.

All implemented functions assume the format of a dedicated class, with a no-argument constructor, and which implements the Digest interface. An instance of such a class represents a stateful running computation, into which data is input, and and the hash result is finally obtained.

A hash function instance is not thread-safe; however, distinct instances can be used concurrently with no ill effect. Instances are independent of each other, and mobilize no special ressources beyond a few plain Java objects. There is no need to "close" a given instance in any way.

An instance of Digest can be duplicated with the copy() method; the returned clone is thereafter independent of the original. This can be used to capture the hash function state at some point, after some data bytes have been input.

An instance of Digest can be reset at any time; this sets the hash function back to its initial state, ready to accept a new message. A call to reset() is automatically implied when the current hash operation is terminated (with a digest() method call).

Apart from the hash function classes, the fr.cryptohash package contains the following:

 ==========================(LICENSE BEGIN)============================

 Copyright (c) 2007-2010  Projet RNRT SAPHIR
 
 Permission is hereby granted, free of charge, to any person obtaining
 a copy of this software and associated documentation files (the
 "Software"), to deal in the Software without restriction, including
 without limitation the rights to use, copy, modify, merge, publish,
 distribute, sublicense, and/or sell copies of the Software, and to
 permit persons to whom the Software is furnished to do so, subject to
 the following conditions:
 
 The above copyright notice and this permission notice shall be
 included in all copies or substantial portions of the Software.
 
 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
 EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
 MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
 IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
 CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
 TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
 SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

 ===========================(LICENSE END)=============================