| 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.router | The I2P router application handles I2P network communication. |
| net.i2p.router.crypto.pqc | Post-quantum cryptographic algorithms for I2P. |
| 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.startup | The I2P startup package loads configuration when I2P is started. |
| net.i2p.router.web.helpers | Helpers and handlers for the router console user interface, with these classes supporting the webapp in routerconsole.war. |
| Modifier and Type | Method and Description |
|---|---|
static EncType | EncType.getByCode(int code)encryption type by code. |
static EncType | EncType.parseEncType(String stype)Convenience for user apps |
static EncType | EncType.valueOf(String name)Returns the enum constant of this type with the specified name. |
static EncType[] | EncType.values()Returns an array containing the constants of this enum type, in
the order they are declared. |
| Modifier and Type | Method and Description |
|---|---|
KeyPair | KeyGenerator.generatePKIKeys(EncType type)Supports EncTypes |
| Modifier and Type | Method and Description |
|---|---|
EncType | KeyCertificate.getEncType()Gets the encryption type from the certificate. |
EncType | KeysAndCert.getEncType()Encryption type from the certificate. |
EncType | PrivateKey.getType()Gets the encryption type of this private key. |
EncType | PublicKey.getType()Gets the encryption type of this public key. |
| Modifier and Type | Method and Description |
|---|---|
PublicKey | LeaseSet.getEncryptionKey(Set<EncType> supported)If more than one key, return the first supported one. |
PublicKey | EncryptedLeaseSet.getEncryptionKey(Set<EncType> supported)If more than one key, return the first supported one. |
PublicKey | LeaseSet2.getEncryptionKey(Set<EncType> supported)If more than one key, return the first supported one. |
| Constructor and Description |
|---|
KeyCertificate(SigType type,
EncType etype)A KeyCertificate with crypto type
and the signature type as specified. |
PrivateKey(EncType type)Constructor with type. |
PrivateKey(EncType type,
byte[] data)Constructor with type and data. |
PrivateKey(EncType type,
byte[] data,
PublicKey pubKey)Constructor with type, data, and cached public key. |
PublicKey(EncType type)Construct a new public key. |
PublicKey(EncType type,
byte[] data)Construct a new public key. |
| Modifier and Type | Field and Description |
|---|---|
static Set<EncType> | LeaseSetKeys.SET_BOTHUnmodifiable, ElGamal and ECIES-X25519. |
static Set<EncType> | LeaseSetKeys.SET_ECUnmodifiable, ECIES-X25519 only |
static Set<EncType> | LeaseSetKeys.SET_EC_PQ_ALLUnmodifiable, ECIES-X25519 and PQ only |
static Set<EncType> | LeaseSetKeys.SET_EC_PQ1Unmodifiable, ECIES-X25519 and PQ only |
static Set<EncType> | LeaseSetKeys.SET_EC_PQ2Unmodifiable, ECIES-X25519 and PQ only |
static Set<EncType> | LeaseSetKeys.SET_EC_PQ3Unmodifiable, ECIES-X25519 and PQ only |
static Set<EncType> | LeaseSetKeys.SET_ELGUnmodifiable, ElGamal only |
static Set<EncType> | LeaseSetKeys.SET_PQ1Unmodifiable, PQ only |
static Set<EncType> | LeaseSetKeys.SET_PQ2Unmodifiable, PQ only |
static Set<EncType> | LeaseSetKeys.SET_PQ3Unmodifiable, PQ only |
| Modifier and Type | Method and Description |
|---|---|
Set<EncType> | LeaseSetKeys.getSupportedEncryption()What types of encryption are supported? |
| Modifier and Type | Method and Description |
|---|---|
PrivateKey | LeaseSetKeys.getDecryptionKey(EncType type)Decryption key which can open up garlic messages encrypted to the
LeaseSet's public key. |
boolean | LeaseSetKeys.isSupported(EncType type)Do we support this type of encryption? |
| Modifier and Type | Method and Description |
|---|---|
static byte[] | MLKEM.decaps(EncType type,
byte[] ciphertext,
byte[] decapkey)Alice side
Note that this will not fail??? |
static byte[][] | MLKEM.encaps(EncType type,
byte[] pub)Bob side |
static byte[][] | MLKEM.generateKeys(EncType type)Alice side |
static KeyPair | MLKEM.getKeys(EncType type)Alice side |
| Constructor and Description |
|---|
MLKEMKeyFactory(I2PAppContext ctx,
EncType type)Alice side only |
| Modifier and Type | Method and Description |
|---|---|
EncType | RatchetSKM.getType()Get the encryption type for this session key manager |
| Modifier and Type | Method and Description |
|---|---|
KeyFactory | ECIESAEADEngine.getHybridKeyFactory(EncType type) |
| Constructor and Description |
|---|
RatchetSKM(RouterContext context,
Destination dest,
EncType type)The session key manager is constructed and accessed through the
client manager. |
| Modifier and Type | Method and Description |
|---|---|
static EncType | CreateRouterInfoJob.getEncTypeConfig(RouterContext ctx)The configured EncType to expect on read-in. |
| Modifier and Type | Method and Description |
|---|---|
void | NetDbRenderer.renderRouterInfoHTML(Writer out,
int pageSize,
int page,
String routerPrefix,
String version,
String country,
String family,
String capabilities,
String ipAddress,
String sybil,
int port,
int highPort,
SigType signatureType,
EncType encryptionType,
String mtu,
String ipv6Address,
String ssuCapabilities,
String transport,
int cost,
int introducerCount)render router info html. |