Package fr.cryptohash
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:
Digest: the common interface.DigestEngine: an abstract class which helps with the implementation ofDigest; most hash function implementations in this package use that base class.HMAC: an implementation of the HMAC message authentication code (see RFC 2104).HMACimplementsDigestbut is initialized with an underlying hash function implementation, and a secret key.
==========================(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)=============================
- Version:
- $Revision: 231 $
- Author:
- Thomas Pornin <thomas.pornin@cryptolog.com>
-
Interface Summary Interface Description Digest This interface documents the API for a hash function. -
Class Summary Class Description BLAKE224 This class implements the BLAKE-224 digest algorithm under theDigestAPI.BLAKE256 This class implements the BLAKE-256 digest algorithm under theDigestAPI.BLAKE384 This class implements the BLAKE-384 digest algorithm under theDigestAPI.BLAKE512 This class implements the BLAKE-512 digest algorithm under theDigestAPI.BMW224 This class implements the BMW-224 ("Blue Midnight Wish") digest algorithm under theDigestAPI.BMW256 This class implements the BMW-256 ("Blue Midnight Wish") digest algorithm under theDigestAPI.BMW384 This class implements the BMW-384 ("Blue Midnight Wish") digest algorithm under theDigestAPI.BMW512 This class implements the BMW-512 ("Blue Midnight Wish") digest algorithm under theDigestAPI.CubeHash224 This class implements the CubeHash-224 digest algorithm under theDigestAPI.CubeHash256 This class implements the CubeHash-256 digest algorithm under theDigestAPI.CubeHash384 This class implements the CubeHash-384 digest algorithm under theDigestAPI.CubeHash512 This class implements the CubeHash-512 digest algorithm under theDigestAPI.DigestEngine This class is a template which can be used to implement hash functions.ECHO224 This class implements the ECHO-224 digest algorithm under theDigestAPI.ECHO256 This class implements the ECHO-256 digest algorithm under theDigestAPI.ECHO384 This class implements the ECHO-384 digest algorithm under theDigestAPI.ECHO512 This class implements the ECHO-512 digest algorithm under theDigestAPI.Fugue224 This class implements the Fugue-224 digest algorithm under theDigestAPI.Fugue256 This class implements the Fugue-256 digest algorithm under theDigestAPI.Fugue384 This class implements the Fugue-384 hash function under theDigestAPI.Fugue512 This class implements the Fugue-512 hash function under theDigestAPI.Groestl224 This class implements the Groestl-224 digest algorithm under theDigestAPI.Groestl256 This class implements the Groestl-256 digest algorithm under theDigestAPI.Groestl384 This class implements the Groestl-384 digest algorithm under theDigestAPI.Groestl512 This class implements the Groestl-512 digest algorithm under theDigestAPI.Hamsi224 This class implements the Hamsi-224 digest algorithm under theDigestAPI.Hamsi256 This class implements the Hamsi-256 digest algorithm under theDigestAPI.Hamsi384 This class implements the Hamsi-384 digest algorithm under theDigestAPI.Hamsi512 This class implements the Hamsi-512 digest algorithm under theDigestAPI.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 theDigestAPI, using theDigestEngineclass.JH224 This class implements the JH-224 digest algorithm under theDigestAPI.JH256 This class implements the JH-256 digest algorithm under theDigestAPI.JH384 This class implements the JH-384 digest algorithm under theDigestAPI.JH512 This class implements the JH-512 digest algorithm under theDigestAPI.Keccak224 This class implements the Keccak-224 digest algorithm under theDigestAPI.Keccak256 This class implements the Keccak-256 digest algorithm under theDigestAPI.Keccak384 This class implements the Keccak-384 digest algorithm under theDigestAPI.Keccak512 This class implements the Keccak-512 digest algorithm under theDigestAPI.Luffa224 This class implements the Luffa-224 digest algorithm under theDigestAPI.Luffa256 This class implements the Luffa-256 digest algorithm under theDigestAPI.Luffa384 This class implements Luffa-384 digest algorithm under theDigestAPI.Luffa512 This class implements Luffa-512 digest algorithm under theDigestAPI.MD2 This class implements the MD2 digest algorithm under theDigestAPI, using theDigestEngineclass.MD4 This class implements the MD4 digest algorithm under theDigestAPI, using theDigestEngineclass.MD5 This class implements the MD5 digest algorithm under theDigestAPI, using theDigestEngineclass.PANAMA This class implements the PANAMA digest algorithm under theDigestAPI.RadioGatun32 This class implements the RadioGatun[32] digest algorithm under theDigestAPI.RadioGatun64 This class implements the RadioGatun[64] digest algorithm under theDigestAPI.RIPEMD This class implements the RIPEMD digest algorithm under theDigestAPI.RIPEMD128 This class implements the RIPEMD-128 digest algorithm under theDigestAPI.RIPEMD160 This class implements the RIPEMD-160 digest algorithm under theDigestAPI.SHA0 This class implements the SHA-0 digest algorithm under theDigestAPI.SHA1 This class implements the SHA-1 digest algorithm under theDigestAPI.SHA224 This class implements the SHA-224 digest algorithm under theDigestAPI.SHA256 This class implements the SHA-256 digest algorithm under theDigestAPI.SHA384 This class implements the SHA-384 digest algorithm under theDigestAPI.SHA512 This class implements the SHA-512 digest algorithm under theDigestAPI.Shabal192 This class implements the Shabal-192 digest algorithm under theDigestAPI.Shabal224 This class implements the Shabal-224 digest algorithm under theDigestAPI.Shabal256 This class implements the Shabal-256 digest algorithm under theDigestAPI.Shabal384 This class implements the Shabal-384 digest algorithm under theDigestAPI.Shabal512 This class implements the Shabal-512 digest algorithm under theDigestAPI.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 theDigestAPI (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 theDigestAPI (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 theDigestAPI (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 theDigestAPI (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 theDigestAPI.SIMD256 This class implements the SIMD-256 digest algorithm under theDigestAPI.SIMD384 This class implements the SIMD-384 digest algorithm under theDigestAPI.SIMD512 This class implements the SIMD-512 digest algorithm under theDigestAPI.Skein224 This class implements the Skein-224 digest algorithm under theDigestAPI.Skein256 This class implements the Skein-256 digest algorithm under theDigestAPI.Skein384 This class implements the Skein-384 digest algorithm under theDigestAPI.Skein512 This class implements the Skein-512 digest algorithm under theDigestAPI.Tiger This class implements the Tiger hash algorithm under theDigestAPI.Tiger2 This class implements the Tiger2 hash algorithm under theDigestAPI.Whirlpool This class implements the Whirlpool digest algorithm under theDigestAPI.Whirlpool0 This class implements the Whirlpool-0 digest algorithm under theDigestAPI.Whirlpool1 This class implements the Whirlpool-1 digest algorithm under theDigestAPI.