| Package | Description |
|---|---|
| net.i2p.data.i2np |
This package defines the low-level messages sent between routers,
called Invisible Internet Network Protocol (I2NP).
|
| net.i2p.router |
The I2P router application handles I2P network communication.
|
| net.i2p.router.crypto.ratchet |
Implementation of ECIES-X25519-AEAD-Ratchet cryptographic protocol
(I2P proposal 144), providing forward secrecy and enhanced security
for I2P transport communications.
|
| net.i2p.router.message |
Garlic message creation, parsing, and source routing for I2P communications.
|
| net.i2p.router.networkdb.kademlia |
Kademlia DHT implementation and floodfill router functionality for I2P.
|
| Class and Description |
|---|
| RatchetSessionTag
8-byte session tag for ratchet protocol messages with efficient long-based storage representation for memory optimization
Does not extend SessionTag or DataStructure to save space
|
| Class and Description |
|---|
| ECIESAEADEngine
ECIES+AEAD encryption engine providing New Session, New Session Reply, and Existing Session message handling
No, this does not extend ElGamalAESEngine or AEADEngine or CryptixAEADEngine.
|
| Class and Description |
|---|
| Elg2KeyPair
X25519 key pair with pre-calculated Elligator2-encoded public key
|
| MuxedPQSKM
Post-quantum hybrid session key manager combining ECIES and ML-KEM operations
|
| MuxedSKM
Multiplexed session key manager combining ECIES and post-quantum key management
|
| NextSessionKey
X25519 public key with identifier for next session key exchange in ratchet protocol
|
| RatchetEntry
Container for outbound ratchet encryption data including tag, key, nonce, and optional next session keys for message preparation
The object returned from SKM.consumeNextAvailableTag() to the engine encrypt.
|
| RatchetPayload.Block
Base class for blocks to be transmitted.
|
| RatchetPayload.PayloadCallback
For all callbacks, recommend throwing exceptions only from the handshake.
|
| RatchetSessionTag
8-byte session tag for ratchet protocol messages with efficient long-based storage representation for memory optimization
Does not extend SessionTag or DataStructure to save space
|
| RatchetSKM
Session key manager for ratchet encryption.
|
| RatchetTagSet
Manages session tags and keys for a single ratchet direction with automatic key generation, supporting both inbound lookahead and on-demand outbound operations
For outbound, uses very little memory.
|
| ReplyCallback
Callback interface for ratchet acknowledgment notifications with expiration support
|
| SessionKeyAndNonce
Session key with nonce and optional handshake state for ratchet message encryption and decryption operations, supporting nonces up to 65535
This is what is returned from RatchetTagSet.consume().
|
| SessionTagListener
Interface for managing session tag lifecycle in ratchet tag sets
|
| SparseArray
Memory-efficient sparse array implementation for integer-to-object mappings using binary search lookup, optimized for collections with up to hundreds of items
|
| SplitKeys
Container for Noise protocol split keys that prevents duplicate HKDF calculations by sharing derived keys between engine and session key manager components
|
| Class and Description |
|---|
| RatchetSessionTag
8-byte session tag for ratchet protocol messages with efficient long-based storage representation for memory optimization
Does not extend SessionTag or DataStructure to save space
|
| ReplyCallback
Callback interface for ratchet acknowledgment notifications with expiration support
|
| Class and Description |
|---|
| RatchetSessionTag
8-byte session tag for ratchet protocol messages with efficient long-based storage representation for memory optimization
Does not extend SessionTag or DataStructure to save space
|