## Identity Module Purpose : Uses PKI Algorithms to generate a Key-pair that will be used to derive a User PeerID The Identity Module provides functionality for generating key-pairs using public-key cryptography algorithms. These key-pairs can then be used to derive unique User PeerIDs, which serve as identifiers in decentralized systems. This module supports a variety of cryptographic algorithms and PeerID generation methods to cater to diverse use cases. ## Supported Algorithms - RSA (Default) ☑️ - EdDSA - SECP256k1 - NTRU - ❓ Not Sure ## Supported PeerID Generation - UUID ☑️ - SHA256/SHA3/SHA512 ☑️ - Encoding Format : Base64/58 ## Fingerprinting - Device Fingerprinting Feature allowing to gather a unique ID of the Device that cannot be replicated binded to the user Identity ### Use Cases: - Decentralized Applications (dApps): Securely generate and identify peers in distributed systems. - Blockchain Integration: Create wallet addresses or node identifiers using robust cryptographic algorithms. - Identity Management: Use the generated PeerID as a unique user identifier in privacy-focused systems. ### Key Features: - Flexible Algorithm Selection: Choose between standard RSA or more modern, secure alternatives like ECDSA, EdDSA, NTRU, FrodoKEM, and SECP256k1. - PeerID Customization: Derive PeerIDs from various cryptographic hash functions (SHA variants or UUID) to suit your specific security or application requirements. - Multiple Encoding Options: Output PeerIDs in Base64 or Base58 encoding, which ensures compatibility with a variety of platforms and protocols. ### Federalized Identity Management Interfaces - LDAP (Active Directory) : ldap3 => Active Directory integration for user authentication - OAuth2 : oauth2 => OAuth2-based authentication - OpenID : Connect (OIDC) openidconnect => Federated authentication via OIDC - JWT : jsonwebtoken JWT => token creation/validation (OAuth2/OIDC) - SAML 2.0 : saml => Integration with SAML-based SSO services - Kerberos : kerberos => Kerberos-based authentication (Windows/AD) - WebAuthn/FIDO2 : webauthn => Passwordless authentication (FIDO2/WebAuthn) - CAS : None => (use HTTP client libraries like reqwest) Single Sign-On (SSO) integration for CAS