Packages that use net.i2p.crypto
Package
Description
Provides classes for communicating via the Noise protocol.
Fortuna pseudo-random number generator from GNU Crypto, modified for I2P.
Core I2P package providing fundamental interfaces, version information, and entry points to essential I2P services, centered on I2PAppContext.
Interfaces and factories for the base I2P SDK used to develop applications that communicate through I2P.
Provides a standard way for reading and writing messages transferred over I2P so that the recipient has an authenticated mechanism to reply to the sender.
Internal implementation of the I2P client SDK - the client side of the Invisible Internet Client Protocol (I2CP), separating implementation from the interfaces in
net.i2p.client. API, interfaces, and factory for a TCP-like (reliable, authenticated, in order) set of sockets for communicating over IP-like (unreliable, unauthenticated, unordered) I2P messages.
Implementation of a TCP-like (reliable, authenticated, in order) set of sockets for communicating over the IP-like (unreliable, unauthenticated, unordered) I2P messages.
Core cryptographic primitives used throughout I2P: symmetric ciphers (AES, ChaCha20), hashes (SHA-1, SHA-256, SHA-384, SHA-512), HMAC and HKDF key derivation, the ElGamal and DSA/EdDSA/RedDSA engines, key and certificate utilities, and the entropy harvester.
X25519 elliptic curve Diffie-Hellman key exchange (RFC 7748), wrapping Noise's Curve25519 operations with Java Security API parameter specifications.
Common data structures used by the I2P protocols: Destination, LeaseSet, PublicKey, Signature, Certificate and their friends.
The Invisible Internet Client Protocol (I2CP) allows applications simplified access to I2P network without requiring them to deal with the issues involved with the Invisible Internet Network Protocol (I2NP).
Low-level messages sent between routers - the Invisible Internet Network Protocol (I2NP).
Implementation of preconfigured tunnels for clients and servers, including special-purpose tunnels for IRC, SOCKS, HTTP and streaming.
The I2P router application handles I2P network communication.
Router-side implementation of the Invisible Internet Client Protocol (I2CP): client sessions over plain or TLS sockets, message delivery, and lease and tunnel management on behalf of clients.
Router-specific cryptography: ElGamal+AES garlic encryption (ElGamalAESEngine), session key and tag caching for repeated peer communication (TransientSessionKeyManager), router-family shared keys (FamilyKeyCrypto), and the ratchet and pqc subpackages.
Post-quantum hybrid key encapsulation built on the bundled Bouncy Castle ML-KEM primitives.
The Double Ratchet with X25519 key agreement and ECIES hybrid encryption, used by the NTCP2 and SSU transports for session encryption.
Simplified fake implementations of router interfaces (comm system and friends) for testing and embedded builds.
Garlic message creation, parsing and handling, and the outbound message jobs: one-shot sends, source routing and delivery status handling.
The Kademlia distributed hash table (DHT) network database: lookup, store and explore jobs, the data store, the floodfill variants, and lookup throttling.
The I2P startup package loads configuration when I2P is started.
Transport-layer key agreement: the X25519 key factory used by the NTCP2 and SSU2 session handshakes for peer authentication and session encryption.
NTCP2, the TCP transport: framed, ratchet-encrypted and mutually authenticated connections between routers.
SSU2, the UDP transport: datagram sessions with Holepunch peer discovery, plus the older SSU compatibility code.
Tunnel pool management: pool lifecycle, peer selection, build scheduling and failure handling for client and exploratory tunnels.
Helpers and handlers for the router console user interface, packaged in routerconsole.war and accessible only from JSP files.
The SAM bridge: a simple text protocol server letting applications in any language use I2P streaming and datagram sessions without implementing the Invisible Internet Client Protocol (I2CP).
General utility classes shared across the core libraries and the router.
I2P version of the Snark BitTorrent client, enhanced for I2P: peers are I2P destinations, torrents can be served anonymously as hidden services, and metadata carries I2P-specific comment fields.
BitTorrent distributed hash table (DHT) implementation following the Mainline protocol, for trackerless peer discovery.
- Classes in net.i2p.crypto used by com.southernstorm.noise.protocolClassDescriptionDefines the properties for various encryption types that I2P supports or may someday support.Factory interface for generating I2P cryptographic key pairs.
- Classes in net.i2p.crypto used by gnu.crypto.prngClassDescriptionContainer for AES round keys generated during key schedule expansion.
- Classes in net.i2p.crypto used by net.i2pClassDescriptionAbstract base class for AES cipher operations in I2P.Digital signature algorithm engine supporting DSA, ECDSA, RSA, and EdDSA.ElGamal cryptographic engine for I2P encryption and signature operations.HMAC-SHA256 message authentication code generator for I2P cryptographic operations.Comprehensive key generation facility for I2P cryptographic operations.Manage the session keys and session tags used for encryption and decryption.Defines a wrapper for SHA-256 operation.
- Classes in net.i2p.crypto used by net.i2p.clientClassDescriptionDefines the properties for various signature types that I2P supports or may someday support.
- Classes in net.i2p.crypto used by net.i2p.client.datagramClassDescriptionDigital signature algorithm engine supporting DSA, ECDSA, RSA, and EdDSA.Defines a wrapper for SHA-256 operation.
- Classes in net.i2p.crypto used by net.i2p.client.impl
- Classes in net.i2p.crypto used by net.i2p.client.streamingClassDescriptionDefines the properties for various signature types that I2P supports or may someday support.
- Classes in net.i2p.crypto used by net.i2p.client.streaming.implClassDescriptionDefines the properties for various signature types that I2P supports or may someday support.
- Classes in net.i2p.crypto used by net.i2p.cryptoClassDescriptionAbstract base class for AES cipher operations in I2P.Container for AES round keys generated during key schedule expansion.Digital signature algorithm engine supporting DSA, ECDSA, RSA, and EdDSA.The parameters of one elliptic curve.Base encryption algorithm type.Defines the properties for various encryption types that I2P supports or may someday support.HMAC-based Key Derivation Function (HKDF) implementation using HMAC-SHA256.Abstract base class for HMAC (Hash-based Message Authentication Code) operations.Comprehensive key generation facility for I2P cryptographic operations.A pair of I2P cryptographic keys consisting of a public key and corresponding private key.A backend for storing and retrieving SigningPublicKeys to be used for verifying signatures.A SigningPrivateKey that retains the Chinese Remainder Theorem parameters, so it can be converted back to a Java CRT key.Implementation of the SHA-1 secure hash algorithm as specified in FIPS PUB 180-2.I2P data structure for SHA-1 hash values.Defines a wrapper for SHA-256 operation.Base signature algorithm type.Defines the context for signing with personalized hashes.Algorithm parameter specification for personalized hash contexts in digital signatures.Defines the properties for various signature types that I2P supports or may someday support.The ContentType is the trust domain for the content.An opaque handle to a TagSet returned by the SessionKeyManager, so that OCMOSJ can report that the tags were later acked, or not.Precalculate the Y and K for ElGamal encryption operations.
- Classes in net.i2p.crypto used by net.i2p.crypto.x25519ClassDescriptionDefines the properties for various encryption types that I2P supports or may someday support.
- Classes in net.i2p.crypto used by net.i2p.data
- Classes in net.i2p.crypto used by net.i2p.data.i2cp
- Classes in net.i2p.crypto used by net.i2p.data.i2np
- Classes in net.i2p.crypto used by net.i2p.i2ptunnelClassDescriptionDefines the properties for various signature types that I2P supports or may someday support.
- Classes in net.i2p.crypto used by net.i2p.routerClassDescriptionDefines the properties for various encryption types that I2P supports or may someday support.Manage the session keys and session tags used for encryption and decryption.Defines the properties for various signature types that I2P supports or may someday support.
- Classes in net.i2p.crypto used by net.i2p.router.clientClassDescriptionManage the session keys and session tags used for encryption and decryption.
- Classes in net.i2p.crypto used by net.i2p.router.cryptoClassDescriptionManage the session keys and session tags used for encryption and decryption.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.crypto.pqcClassDescriptionDefines the properties for various encryption types that I2P supports or may someday support.Factory interface for generating I2P cryptographic key pairs.A pair of I2P cryptographic keys consisting of a public key and corresponding private key.
- Classes in net.i2p.crypto used by net.i2p.router.crypto.ratchetClassDescriptionDefines the properties for various encryption types that I2P supports or may someday support.HMAC-based Key Derivation Function (HKDF) implementation using HMAC-SHA256.Factory interface for generating I2P cryptographic key pairs.A pair of I2P cryptographic keys consisting of a public key and corresponding private key.Manage the session keys and session tags used for encryption and decryption.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.dummyClassDescriptionManage the session keys and session tags used for encryption and decryption.
- Classes in net.i2p.crypto used by net.i2p.router.messageClassDescriptionManage the session keys and session tags used for encryption and decryption.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.networkdb.kademliaClassDescriptionManage the session keys and session tags used for encryption and decryption.Defines the properties for various signature types that I2P supports or may someday support.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.startup
- Classes in net.i2p.crypto used by net.i2p.router.transport.cryptoClassDescriptionFactory interface for generating I2P cryptographic key pairs.A pair of I2P cryptographic keys consisting of a public key and corresponding private key.
- Classes in net.i2p.crypto used by net.i2p.router.transport.ntcpClassDescriptionDefines the properties for various signature types that I2P supports or may someday support.
- Classes in net.i2p.crypto used by net.i2p.router.transport.udpClassDescriptionDefines the properties for various signature types that I2P supports or may someday support.
- Classes in net.i2p.crypto used by net.i2p.router.tunnel.poolClassDescriptionManage the session keys and session tags used for encryption and decryption.
- Classes in net.i2p.crypto used by net.i2p.router.web.helpersClassDescriptionDefines the properties for various encryption types that I2P supports or may someday support.Manage the session keys and session tags used for encryption and decryption.Defines the properties for various signature types that I2P supports or may someday support.
- Classes in net.i2p.crypto used by net.i2p.samClassDescriptionDefines the properties for various signature types that I2P supports or may someday support.
- Classes in net.i2p.crypto used by net.i2p.utilClassDescriptionAllow various components with some entropy to feed that entropy back into some PRNG.
- Classes in net.i2p.crypto used by org.klomp.snark
- Classes in net.i2p.crypto used by org.klomp.snark.dht