-
Class Summary
| Class |
Description |
| ElGamalAESEngine |
Handles the actual ElGamal+AES encryption and decryption scenarios using the
supplied keys and data.
|
| FamilyKeyCrypto |
Utilities for creating, storing, retrieving the signing keys for
the netdb family feature
|
| TransientSessionKeyManager |
Implement the session key management, but keep everything in memory (don't write to disk).
|
-
Package net.i2p.router.crypto Description
Router-specific cryptographic operations and implementations for I2P security.
This package contains cryptographic classes and utilities that are used exclusively by the I2P router for secure communication, key management, and cryptographic operations. These classes were moved from the general net.i2p.crypto package to separate router-specific cryptographic functionality from client-facing APIs.
Key Components:
- ElGamalEngine - ElGamal encryption for I2P
- AESEngine - AES encryption operations
- DHSessionKeyBuilder - Diffie-Hellman key exchange
- SessionEncryptionManager - Session encryption coordination
- SessionKeyManager - Session key lifecycle management
- HMAC256 - HMAC-SHA256 implementation
- SHA256Generator - SHA-256 hash generation
- EdDSA - Edwards curve digital signatures
- KeyGenerator - Cryptographic key generation utilities
Main Functionality:
- ElGamal asymmetric encryption for garlic messages
- AES symmetric encryption for tunnel and message encryption
- Diffie-Hellman key exchange for session establishment
- Digital signatures for router authentication
- Hash generation for data integrity
- Session key management and rotation
- Cryptographic random number generation
- Post-quantum cryptography support (PQC)
Usage Notes:
- These classes are for internal router use only
- Client applications should use higher-level cryptographic APIs
- Essential for I2P's security and anonymity guarantees
- Integrates with transport and tunnel encryption