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

Interface Summary Interface Description EntropyHarvester Allow various components with some entropy to feed that entropy back into some PRNG.KeyFactory Make KeyPairsKeyRing 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 Summary 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.ChaCha20 ChaCha20, wrapper around Noise ChaChaCore.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 callCryptixRijndael_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, RSAConstantsDirKeyRing 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.62ECUtil 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 hashHash512 64 byte hashHKDF 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 HMAC of a key+message.KeyGenerator Define a way of generating asymmetrical key pairs as well as symmetrical keysKeyPair Same as java.security.KeyPair, but with I2P keysKeyStoreUtil Keystore utilities, consolidated from various places.RSAConstants Constants for RSARSASigningPrivateCrtKey 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 hashesSHA256Generator Defines a wrapper for SHA256 operation.SigContext.SigContextSpec The AlgorithmParameterSpec.SigUtil Utilities for Signing keys and SignaturesSipHashInline 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 Summary Enum Description EncAlgo Base encryption algorithm typeEncType Defines the properties for various encryption types that I2P supports or may someday support.SigAlgo Base signature algorithm typeSigContext Defines the context for signing with personalized hashes.SigType Defines the properties for various signature types that I2P supports or may someday support.