See: Description
Interface  Description 

EntropyHarvester 
Allow various components with some entropy to feed that entropy back
into some PRNG.

KeyRing 
A backend for storing and retrieving SigningPublicKeys
to be used for verifying signatures.

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  Description 

AESEngine 
Dummy wrapper for AES cipher operation.

Blinding 
Utilities for Blinding EdDSA keys.

CertUtil 
Java X.509 certificate utilities, consolidated from various places.

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 blocksize (128, 192 and
256bit), variable keysize (128, 192 and 256bit) symmetric cipher.

CryptoCheck 
Moved from CryptixAESEngine and net.i2p.router.tasks.CryptoChecker.

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
See also: ECConstants, RSAConstants

DirKeyRing 
Simple storage of each cert in a separate file in a directory.

DSAEngine 
Sign and verify using DSASHA1 and other signature algorithms.

ECConstants 
Constants for elliptic curves, from NIST FIPS 1864 (2013) / ANSI X9.62

ECUtil 
Used by KeyGenerator.getSigningPublicKey()
Modified from
http://stackoverflow.com/questions/15727147/scalarmultiplicationofpointoverellipticcurve
Apparently public domain.

ElGamalEngine 
Wrapper for ElGamal encryption/signature schemes.

Hash384 
48 byte hash

Hash512 
64 byte hash

HKDF 
Various flavors of HKDF using HMACSHA256.

HMAC256Generator 
Calculate the HMACSHA256 of a key+message.

HMAC256Generator.HMACKey 
Like SecretKeySpec but doesn't copy the key in the construtor, for speed.

HMACGenerator 
Calculate the HMACMD5128 of a key+message.

KeyGenerator 
Define a way of generating asymmetrical key pairs as well as symmetrical keys

KeyPair 
Same as java.security.KeyPair, but with I2P keys

KeyStoreUtil 
Keystore utilities, consolidated from various places.

RSAConstants 
Constants for RSA

RSASigningPrivateCrtKey 
A SigningPrivateKey that retains the Chinese Remainder Theorem
parameters, so it can be converted back to a Java CRT key.

SelfSignedGenerator 
Generate keys and a selfsigned certificate, suitable for
storing in a Keystore with KeyStoreUtil.storePrivateKey().

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 20byte hashes

SHA256Generator 
Defines a wrapper for SHA256 operation.

SigUtil 
Utilities for Signing keys and Signatures

SipHashInline 
SipHash implementation with hand inlining the SIPROUND.

SU3File 
Succesor to the ".sud" format used in TrustedUpdate.

TrustedUpdate 
Handles DSA signing and verification of update files.

YKGenerator 
Precalculate the Y and K for ElGamal encryption operations.

Enum  Description 

EncAlgo 
PRELIMINARY  unused  subject to change
Base encryption algorithm type

EncType 
PRELIMINARY  unused  subject to change
Defines the properties for various encryption types
that I2P supports or may someday support.

SigAlgo 
Base signature algorithm type

SigType 
Defines the properties for various signature types
that I2P supports or may someday support.

These classes provide a number of lowlevel cryptographic routines.
These cryptographic routines include symmetric and asymmetric encryption and decryption, hashing, secure random number generation...