# Package net.i2p.router.crypto

Router-specific cryptographic operations and implementations for I2P security.

See: Description

- 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).

- Enum Summary
  Enum | Description
  --- | ---
  FamilyKeyCrypto.Result | Only STORED_KEY is fully trusted.

## 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