| Package | Description |
|---|---|
| net.i2p.crypto |
Core cryptographic primitives and algorithms used throughout I2P.
|
| net.i2p.data |
These classes define the common data structures used by the various I2P protocols.
|
| net.i2p.data.i2np |
This package defines the low-level messages sent between routers,
called Invisible Internet Network Protocol (I2NP).
|
| net.i2p.kademlia |
Generic Kademlia distributed hash table implementation supporting
multiple hash algorithms (SHA1, SHA256, etc.).
|
| 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.networkdb.kademlia |
Kademlia DHT implementation and floodfill router functionality for I2P.
|
| org.klomp.snark.dht |
Distributed Hash Table (DHT) implementation for BitTorrent.
|
| Modifier and Type | Class and Description |
|---|---|
class |
Hash384
SHA-384 secure hash algorithm implementation.
|
class |
Hash512
SHA-512 secure hash algorithm implementation.
|
(package private) class |
RSASigningPrivateCrtKey
A SigningPrivateKey that retains the Chinese Remainder Theorem
parameters, so it can be converted back to a Java CRT key.
|
class |
SHA1Hash
I2P data structure for SHA-1 hash values.
|
| Modifier and Type | Method and Description |
|---|---|
SimpleDataStructure[] |
KeyGenerator.generatePKIKeys()
ElGamal only.
|
SimpleDataStructure[] |
KeyGenerator.generateSigningKeys()
DSA-SHA1 only.
|
SimpleDataStructure[] |
KeyGenerator.generateSigningKeys(SigType type)
Generic signature type, supports DSA, RSA, ECDSA, EdDSA
|
SimpleDataStructure |
SigType.getHashInstance()
Gets a Hash instance for this signature type.
|
| Modifier and Type | Method and Description |
|---|---|
Signature |
DSAEngine.sign(SimpleDataStructure hash,
PrivateKey privKey,
SigType type)
Generic signature type.
|
Signature |
DSAEngine.sign(SimpleDataStructure hash,
SigningPrivateKey signingKey)
Generic signature type.
|
boolean |
DSAEngine.verifySignature(Signature signature,
SimpleDataStructure hash,
PublicKey pubKey)
Generic signature type.
|
boolean |
DSAEngine.verifySignature(Signature signature,
SimpleDataStructure hash,
SigningPublicKey verifyingKey)
Generic signature type.
|
| Modifier and Type | Class and Description |
|---|---|
class |
SDSCache<V extends SimpleDataStructure>
A least recently used cache with a max size, for SimpleDataStructures.
|
| Modifier and Type | Class and Description |
|---|---|
class |
Hash
SHA-256 hash implementation for I2P data identification and integrity.
|
class |
PrivateKey
Cryptographic private key for asymmetric encryption in I2P.
|
class |
PublicKey
Cryptographic public key for asymmetric encryption in I2P.
|
class |
SessionKey
Cryptographic session key for symmetric encryption in I2P.
|
class |
Signature
Cryptographic signature implementation for I2P data structures and identity verification.
|
class |
SigningPrivateKey
Cryptographic private key for digital signature generation in I2P.
|
class |
SigningPublicKey
Cryptographic public key for digital signature verification in I2P.
|
| Modifier and Type | Method and Description |
|---|---|
void |
EncryptedLeaseSet.encrypt(int authType,
List<? extends SimpleDataStructure> clientKeys)
Throws IllegalStateException if not initialized.
|
void |
EncryptedLeaseSet.sign(SigningPrivateKey key,
int authType,
List<? extends SimpleDataStructure> clientKeys)
Sign the structure using the supplied signing key.
|
| Modifier and Type | Class and Description |
|---|---|
class |
EncryptedBuildRecord
ElGamal-encrypted request or response.
|
class |
ShortEncryptedBuildRecord
Small records.
|
| Modifier and Type | Interface and Description |
|---|---|
interface |
KBucket<T extends SimpleDataStructure>
Group, without inherent ordering, a set of keys a certain distance away from
a local key, using XOR as the distance metric
Refactored from net.i2p.router.networkdb.kademlia
|
(package private) class |
KBucketImpl<T extends SimpleDataStructure>
A concurrent implementation using ConcurrentHashSet.
|
class |
KBucketSet<T extends SimpleDataStructure>
In-memory storage of buckets sorted by XOR metric from base (us)
passed in via constructor.
|
interface |
KBucketTrimmer<K extends SimpleDataStructure>
Called when a kbucket can no longer be split and is too big
|
class |
RandomIfOldTrimmer<T extends SimpleDataStructure>
Removes a random element, but only if the bucket hasn't changed in 5 minutes.
|
class |
RandomTrimmer<T extends SimpleDataStructure>
Removes a random element.
|
class |
RejectTrimmer<T extends SimpleDataStructure>
Removes nothing and always rejects the add.
|
interface |
SelectionCollector<T extends SimpleDataStructure>
Visit kbuckets, gathering matches
|
class |
XORComparator<T extends SimpleDataStructure>
Help sort Hashes in relation to a base key using the XOR metric
|
| Modifier and Type | Class and Description |
|---|---|
(package private) class |
NextSessionKey
X25519 public key with identifier for next session key exchange in ratchet protocol
|
(package private) class |
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().
|
| Modifier and Type | Class and Description |
|---|---|
(package private) class |
LocalHash
Pull the caching used only by KBucketImpl out of Hash and put it here.
|
| Modifier and Type | Class and Description |
|---|---|
(package private) class |
InfoHash
Represents a BitTorrent info hash used for DHT operations.
|
class |
NID
Node Identifier (NID) for Kademlia DHT operations.
|
(package private) class |
NodeInfo
Comprehensive node information container for DHT operations.
|
(package private) class |
Peer
Represents a single peer participating in a specific torrent within the DHT tracker.
|
(package private) class |
TokenKey
Indexing key for DHT tokens based on node ID and info hash combination.
|