# Package net.i2p.crypto

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

See: Description

Interface Summary
Interface | Description
--- | ---
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
Class | Description
--- | ---
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
Exception | Description
--- | ---
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...