## Package net.i2p.crypto

These classes provide a number of low-level cryptographic routines.

See:
Description

Interface Summary
EntropyHarvester: Allow various components with some entropy to feed that entropy back into some PRNG.
TagSetHandle: An opaque handle to a TagSet returned by the SessionKeyManager, so that OCMOSJ can report that the tags were later acked, or not.

Class Summary
AESEngine: Dummy wrapper for AES cipher operation.
CryptixAESEngine: Wrapper for AES cypher operation using Cryptix's Rijndael implementation.
CryptixAESKeyCache: Cache the objects used in CryptixRijndael_Algorithm.makeKey to reduce memory churn.
CryptixAESKeyCache.KeyCacheEntry: all the data alloc'ed in a makeKey call
CryptixRijndael_Algorithm: Rijndael --pronounced Reindaal-- is a variable block-size (128-, 192- and 256-bit), variable key-size (128-, 192- and 256-bit) symmetric cipher.
CryptoConstants: Prime for ElGamal from http://tools.ietf.org/html/rfc3526 Primes for DSA: Generated by TheCrypto http://article.gmane.org/gmane.comp.security.invisiblenet.iip.devel/343
DHSessionKeyBuilder: Generate a new session key through a diffie hellman exchange.
DSAEngine: Sign and verify using DSA-SHA1.
DummyDSAEngine: Stub that offers no authentication.
DummyElGamalEngine: Fake ElG E and D, useful for when performance isn't being tested
ElGamalAESEngine: Handles the actual ElGamal+AES encryption and decryption scenarios using the supplied keys and data.
ElGamalEngine: Wrapper for ElGamal encryption/signature schemes.
HMAC256Generator: Calculate the HMAC-SHA256 of a key+message.
HMACGenerator: Calculate the HMAC-MD5-128 of a key+message.
KeyGenerator: Define a way of generating asymmetrical key pairs as well as symmetrical keys
SessionKeyManager: Manage the session keys and session tags used for encryption and decryption.
SHA1: NOTE: As of 0.8.7, use getInstance() instead of new SHA1(), which will return the JVM's MessageDigest if it is faster.
SHA1Hash: Because DSAEngine was abusing Hash for 20-byte hashes
SHA256Generator: Defines a wrapper for SHA-256 operation.
TransientSessionKeyManager: Implement the session key management, but keep everything in memory (don't write to disk).
TrustedUpdate: Handles DSA signing and verification of update files.
YKGenerator: Precalculate the Y and K for ElGamal encryption operations.

Exception Summary
DHSessionKeyBuilder.InvalidPublicParameterException

## Package net.i2p.crypto Description

These classes provide a number of low-level cryptographic routines.

These cryptographic routines include symmetric and asymmetric encryption and decryption, hashing, secure random number generation...