| Package | Description |
|---|---|
| net.i2p.client |
Interfaces and factories for the base I2P SDK used to develop applications that communicate through I2P.
|
| net.i2p.client.impl |
Internal implementation of the I2P client SDK, providing the client
side of the I2CP protocol for applications communicating through I2P.
|
| net.i2p.crypto |
Core cryptographic primitives and algorithms used throughout I2P.
|
| net.i2p.crypto.x25519 |
Implementation of X25519 elliptic curve Diffie-Hellman key exchange for I2P.
|
| net.i2p.data |
These classes define the common data structures used by the various I2P protocols.
|
| net.i2p.data.i2cp |
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).
|
| 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 |
Router-specific cryptographic operations and implementations for I2P security.
|
| 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.startup |
The I2P startup package loads configuration when I2P is started.
|
| net.i2p.router.tunnel.pool |
Tunnel pool management, creation, and peer selection for I2P's anonymous routing system.
|
| Modifier and Type | Method and Description |
|---|---|
PrivateKey |
I2PSession.getDecryptionKey()
Deprecated.
this key is unused
|
| Modifier and Type | Method and Description |
|---|---|
PrivateKey |
I2PSessionImpl.getDecryptionKey()
Deprecated.
this key is unused
|
| Modifier and Type | Method and Description |
|---|---|
void |
I2CPMessageProducer.createLeaseSet(I2PSessionImpl session,
LeaseSet leaseSet,
SigningPrivateKey signingPriv,
List<PrivateKey> privs)
In response to a RequestLeaseSet Message from the router, send a
CreateLeaseset Message back to the router.
|
| Modifier and Type | Method and Description |
|---|---|
PrivateKey |
KeyPair.getPrivate() |
| Modifier and Type | Method and Description |
|---|---|
byte[] |
ElGamalEngine.decrypt(byte[] encrypted,
PrivateKey privateKey)
Deprecated.
Decrypt the data
|
static PublicKey |
KeyGenerator.getPublicKey(PrivateKey priv)
Convert a PrivateKey to its corresponding PublicKey.
|
| Constructor and Description |
|---|
KeyPair(PublicKey publicKey,
PrivateKey privateKey) |
| Modifier and Type | Method and Description |
|---|---|
static SessionKey |
X25519DH.dh(PrivateKey priv,
PublicKey pub)
DH
|
| Modifier and Type | Field and Description |
|---|---|
protected PrivateKey |
PrivateKeyFile.privKey |
| Modifier and Type | Method and Description |
|---|---|
PrivateKey |
BlindData.getAuthPrivKey()
Gets the authentication private key.
|
PrivateKey |
PrivateKeyFile.getPrivKey()
Deprecated.
this key is unused
|
| Modifier and Type | Method and Description |
|---|---|
void |
EncryptedLeaseSet.setClientPrivateKey(PrivateKey privKey)
Must be set before verify for per-client auth.
|
boolean |
EncryptedLeaseSet.verifySignature(PrivateKey clientKey)
Decrypt if possible, and verify inner sig also.
|
| Constructor and Description |
|---|
BlindData(I2PAppContext ctx,
Destination dest,
SigType blindType,
String secret,
int authType,
PrivateKey authKey)
Creates a new BlindData instance for the given destination with authentication.
|
BlindData(I2PAppContext ctx,
SigningPublicKey spk,
SigType blindType,
String secret,
int authType,
PrivateKey authKey)
Creates a new BlindData instance for the given signing public key with authentication.
|
PrivateKeyFile(File file,
Destination dest,
PrivateKey pk,
SigningPrivateKey spk) |
PrivateKeyFile(File file,
PublicKey pubkey,
SigningPublicKey spubkey,
Certificate cert,
PrivateKey pk,
SigningPrivateKey spk) |
PrivateKeyFile(File file,
PublicKey pubkey,
SigningPublicKey spubkey,
Certificate cert,
PrivateKey pk,
SigningPrivateKey spk,
byte[] padding) |
| Modifier and Type | Field and Description |
|---|---|
protected PrivateKey |
CreateLeaseSetMessage._privateKey |
| Modifier and Type | Method and Description |
|---|---|
PrivateKey |
CreateLeaseSetMessage.getPrivateKey() |
PrivateKey |
BlindingInfoMessage.getPrivateKey()
Gets the private key for key-type endpoints.
|
| Modifier and Type | Method and Description |
|---|---|
List<PrivateKey> |
CreateLeaseSet2Message.getPrivateKeys()
This returns all the keys.
|
| Modifier and Type | Method and Description |
|---|---|
void |
CreateLeaseSet2Message.addPrivateKey(PrivateKey key)
Add a private key.
|
void |
CreateLeaseSetMessage.setPrivateKey(PrivateKey privateKey) |
| Constructor and Description |
|---|
BlindingInfoMessage(Destination d,
SessionId id,
int expiration,
int authType,
SigType blindType,
PrivateKey privKey,
String secret)
Creates a BlindingInfoMessage for a destination.
|
BlindingInfoMessage(Hash h,
SessionId id,
int expiration,
int authType,
SigType blindType,
PrivateKey privKey,
String secret)
Deprecated.
unimplemented on router side
|
BlindingInfoMessage(SigningPublicKey s,
SessionId id,
int expiration,
int authType,
SigType blindType,
PrivateKey privKey,
String secret)
Creates a BlindingInfoMessage for a signing public key.
|
BlindingInfoMessage(String h,
SessionId id,
int expiration,
int authType,
SigType blindType,
PrivateKey privKey,
String secret)
Deprecated.
unimplemented on router side
|
| Constructor and Description |
|---|
BuildRequestRecord(RouterContext ctx,
PrivateKey ourKey,
EncryptedBuildRecord encryptedRecord)
Decrypts an encrypted build request record.
|
| Modifier and Type | Method and Description |
|---|---|
PrivateKey |
LeaseSetKeys.getDecryptionKey()
Decryption key which can open up garlic messages encrypted to the
LeaseSet's public key.
|
PrivateKey |
LeaseSetKeys.getDecryptionKey(EncType type)
Decryption key which can open up garlic messages encrypted to the
LeaseSet's public key.
|
PrivateKey |
LeaseSetKeys.getPQDecryptionKey() |
PrivateKey |
KeyManager.getPrivateKey()
Router key
|
| Modifier and Type | Method and Description |
|---|---|
void |
KeyManager.registerKeys(Destination dest,
SigningPrivateKey leaseRevocationPrivateKey,
PrivateKey endpointDecryptionKey)
Client with a single key
|
void |
KeyManager.setKeys(PublicKey key1,
PrivateKey key2,
SigningPublicKey key3,
SigningPrivateKey key4)
Configure the router's keys.
|
| Modifier and Type | Method and Description |
|---|---|
void |
KeyManager.registerKeys(Destination dest,
SigningPrivateKey leaseRevocationPrivateKey,
List<PrivateKey> endpointDecryptionKeys)
Client with multiple keys
|
| Constructor and Description |
|---|
LeaseSetKeys(Destination dest,
SigningPrivateKey revocationKey,
PrivateKey decryptionKey)
Client with a single key
|
| Constructor and Description |
|---|
LeaseSetKeys(Destination dest,
SigningPrivateKey revocationKey,
List<PrivateKey> decryptionKeys)
Client with multiple keys
The ONLY valid combinations are X25519 + ElG or X25519 + (MLKEM512 OR MLKEM768 OR MLKEM1024).
|
| Modifier and Type | Method and Description |
|---|---|
byte[] |
ElGamalAESEngine.decrypt(byte[] data,
PrivateKey targetPrivateKey)
Deprecated.
specify the key manager!
|
byte[] |
ElGamalAESEngine.decrypt(byte[] data,
PrivateKey targetPrivateKey,
SessionKeyManager keyManager)
Decrypt the message using the given private key
and using tags from the specified key manager.
|
byte[] |
ElGamalAESEngine.decryptFast(byte[] data,
PrivateKey targetPrivateKey,
SessionKeyManager keyManager)
Tags only.
|
byte[] |
ElGamalAESEngine.decryptSlow(byte[] data,
PrivateKey targetPrivateKey,
SessionKeyManager keyManager)
Full ElG only.
|
| Modifier and Type | Method and Description |
|---|---|
(package private) static PrivateKey |
ECIESAEADEngine.doDH(PrivateKey privkey,
PublicKey pubkey) |
| Modifier and Type | Method and Description |
|---|---|
CloveSet |
ECIESAEADEngine.decrypt(byte[] data,
PrivateKey ecKey,
PrivateKey pqKey,
MuxedPQSKM keyManager)
Try to decrypt the message with one or both of the given private keys
|
CloveSet |
MuxedPQEngine.decrypt(byte[] data,
PrivateKey ecKey,
PrivateKey pqKey,
MuxedPQSKM keyManager)
Decrypt the message with the given private keys
|
CloveSet |
MuxedEngine.decrypt(byte[] data,
PrivateKey elgKey,
PrivateKey ecKey,
MuxedSKM keyManager)
Decrypt the message with the given private keys
|
CloveSet |
ECIESAEADEngine.decrypt(byte[] data,
PrivateKey elgKey,
PrivateKey ecKey,
MuxedSKM keyManager)
Try to decrypt the message with one or both of the given private keys
|
CloveSet |
ECIESAEADEngine.decrypt(byte[] data,
PrivateKey targetPrivateKey,
RatchetSKM keyManager)
Decrypt the message using the given private key
and using tags from the specified key manager.
|
(package private) CloveSet |
ECIESAEADEngine.decryptFast(byte[] data,
PrivateKey targetPrivateKey,
RatchetSKM keyManager)
NSR/ES only.
|
(package private) CloveSet |
ECIESAEADEngine.decryptSlow(byte[] data,
PrivateKey targetPrivateKey,
RatchetSKM keyManager)
NS only.
|
(package private) static PrivateKey |
ECIESAEADEngine.doDH(PrivateKey privkey,
PublicKey pubkey) |
byte[] |
ECIESAEADEngine.encrypt(CloveSet cloves,
PublicKey target,
Destination to,
PrivateKey priv,
RatchetSKM keyManager,
ReplyCallback callback)
Encrypt the data to the target using the given key and deliver the specified tags
No new session key
This is the one called from GarlicMessageBuilder and is the primary entry point.
|
| Constructor and Description |
|---|
Elg2KeyPair(PublicKey publicKey,
PrivateKey privateKey,
byte[] enc) |
| Modifier and Type | Method and Description |
|---|---|
(package private) CloveSet |
GarlicMessageParser.getGarlicCloves(GarlicMessage message,
PrivateKey elgKey,
PrivateKey ecKey,
SessionKeyManager skm)
Supports both ELGAMAL_2048 and ECIES_X25519.
|
(package private) CloveSet |
GarlicMessageParser.getGarlicCloves(GarlicMessage message,
PrivateKey encryptionKey,
SessionKeyManager skm)
Supports ELGAMAL_2048, ECIES_X25519, and PQ
|
| Modifier and Type | Field and Description |
|---|---|
PrivateKey |
LoadRouterInfoJob.KeyData.privateKey |
| Constructor and Description |
|---|
KeyData(RouterIdentity ri,
PrivateKey pk,
SigningPrivateKey spk) |
| Modifier and Type | Method and Description |
|---|---|
BuildRequestRecord |
BuildMessageProcessor.decrypt(TunnelBuildMessage msg,
Hash ourHash,
PrivateKey privKey)
Decrypt the record targeting us, encrypting all of the other records with the included
reply key and IV.
|