| 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 | Hash384SHA-384 secure hash algorithm implementation. |
class | Hash512SHA-512 secure hash algorithm implementation. |
(package private) class | RSASigningPrivateCrtKeyA SigningPrivateKey that retains the Chinese Remainder Theorem
parameters, so it can be converted back to a Java CRT key. |
class | SHA1HashI2P 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 | HashSHA-256 hash implementation for I2P data identification and integrity. |
class | PrivateKeyCryptographic private key for asymmetric encryption in I2P. |
class | PublicKeyCryptographic public key for asymmetric encryption in I2P. |
class | SessionKeyCryptographic session key for symmetric encryption in I2P. |
class | SignatureCryptographic signature implementation for I2P data structures and identity verification. |
class | SigningPrivateKeyCryptographic private key for digital signature generation in I2P. |
class | SigningPublicKeyCryptographic 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 | EncryptedBuildRecordElGamal-encrypted request or response. |
class | ShortEncryptedBuildRecordSmall 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 | NextSessionKeyX25519 public key with identifier for next session key exchange in ratchet protocol |
(package private) class | SessionKeyAndNonceSession 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 | LocalHashPull the caching used only by KBucketImpl out of Hash and put it here. |
| Modifier and Type | Class and Description |
|---|---|
(package private) class | InfoHashRepresents a BitTorrent info hash used for DHT operations. |
class | NIDNode Identifier (NID) for Kademlia DHT operations. |
(package private) class | NodeInfoComprehensive node information container for DHT operations. |
(package private) class | PeerRepresents a single peer participating in a specific torrent within the DHT tracker. |
(package private) class | TokenKeyIndexing key for DHT tokens based on node ID and info hash combination. |