A Python port of the Invisible Internet Project (I2P)
1__version__ = "0.1.0"
2"""I2P crypto module — hashing, HMAC, HKDF, AES, ChaCha20, X25519, EdDSA, ElGamal."""
3
4from i2p_crypto.hash_data import Hash, SHA1Hash, Hash384, Hash512
5from i2p_crypto.sha256_generator import SHA256Generator
6from i2p_crypto.hmac_generator import HMACGenerator, HMAC256Generator
7from i2p_crypto.hkdf import HKDF
8from i2p_crypto.aes import AESEngine
9from i2p_crypto.chacha20 import ChaCha20
10from i2p_crypto.x25519 import X25519DH
11from i2p_crypto.eddsa import EdDSAEngine, EdDSAKeyPair, public_key_from_private
12from i2p_crypto.elgamal import ElGamalEngine
13from i2p_crypto.dsa import SigType, KeyGenerator, DSAEngine
14from i2p_crypto.noise import CipherState, SymmetricState, HandshakeState
15from i2p_crypto.session_key_manager import SessionKeyManager, TagSet
16from i2p_crypto.garlic_crypto import GarlicEncryptor, GarlicDecryptor
17from i2p_crypto.mlkem import (
18 MLKEMVariant, MLKEMKeyPair,
19 generate_keys as mlkem_generate_keys,
20 encapsulate as mlkem_encapsulate,
21 decapsulate as mlkem_decapsulate,
22 is_available as mlkem_is_available,
23)
24
25__all__ = [
26 "Hash", "SHA1Hash", "Hash384", "Hash512",
27 "SHA256Generator", "HMACGenerator", "HMAC256Generator", "HKDF",
28 "AESEngine", "ChaCha20", "X25519DH",
29 "EdDSAEngine", "EdDSAKeyPair", "public_key_from_private",
30 "ElGamalEngine", "SigType", "KeyGenerator", "DSAEngine",
31 "CipherState", "SymmetricState", "HandshakeState",
32 "SessionKeyManager", "TagSet",
33 "GarlicEncryptor", "GarlicDecryptor",
34 "MLKEMVariant", "MLKEMKeyPair",
35 "mlkem_generate_keys", "mlkem_encapsulate", "mlkem_decapsulate",
36 "mlkem_is_available",
37]