# Uses of Package
net.i2p.crypto

- Packages that use net.i2p.crypto
  Package | Description
  --- | ---
  net.i2p | Core I2P package, contains information about the I2P version and an entry point to access important elements.
  net.i2p.crypto | These classes provide a number of low-level cryptographic routines.
  net.i2p.router | The I2P router application handles the I2P network communication.
  net.i2p.router.client |
  net.i2p.router.message |
  net.i2p.router.networkdb.kademlia |
  net.i2p.router.transport.udp | The UDP transport (also known as 'SSU transport') allows passing I2P messages on top of UDP.
  net.i2p.util | These classes define the several useful utilities used throughout the router and applications.

- Classes in net.i2p.crypto used by net.i2p
  Class and Description
  AESEngine Dummy wrapper for AES cipher operation.
  DSAEngine Sign and verify using DSA-SHA1.
  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.
  SHA256Generator Defines a wrapper for SHA-256 operation.

- Classes in net.i2p.crypto used by net.i2p.crypto
  Class and Description
  AESEngine Dummy wrapper for AES cipher operation.
  CryptixAESKeyCache.KeyCacheEntry all the data alloc'ed in a makeKey call
  DHSessionKeyBuilder Generate a new session key through a diffie hellman exchange.
  DHSessionKeyBuilder.InvalidPublicParameterException
  DSAEngine Sign and verify using DSA-SHA1.
  ElGamalEngine Wrapper for ElGamal encryption/signature schemes.
  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.
  SHA1Hash Because DSAEngine was abusing Hash for 20-byte hashes
  SHA256Generator Defines a wrapper for SHA-256 operation.
  TagSetHandle An opaque handle to a TagSet returned by the SessionKeyManager, so that OCMOSJ can report that the tags were later acked, or not.

- Classes in net.i2p.crypto used by net.i2p.router
  Class and Description
  SessionKeyManager Manage the session keys and session tags used for encryption and decryption.

- Classes in net.i2p.crypto used by net.i2p.router.client
  Class and Description
  SessionKeyManager Manage the session keys and session tags used for encryption and decryption.

- Classes in net.i2p.crypto used by net.i2p.router.message
  Class and Description
  SessionKeyManager Manage the session keys and session tags used for encryption and decryption.

- Classes in net.i2p.crypto used by net.i2p.router.networkdb.kademlia
  Class and Description
  SessionKeyManager Manage the session keys and session tags used for encryption and decryption.
  TagSetHandle An opaque handle to a TagSet returned by the SessionKeyManager, so that OCMOSJ can report that the tags were later acked, or not.

- Classes in net.i2p.crypto used by net.i2p.router.transport.udp
  Class and Description
  DHSessionKeyBuilder.InvalidPublicParameterException

- Classes in net.i2p.crypto used by net.i2p.util
  Class and Description
  EntropyHarvester Allow various components with some entropy to feed that entropy back into some PRNG.