#decentralization #prototype #decentralized-applications #peer-2-peer

nautilus-identity

This is a library used for generating Decentralied Identity

1 unstable release

new 0.1.0 Dec 9, 2024

#14 in #prototype

MIT/Apache

19KB
368 lines

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

Dependencies

~10–17MB
~238K SLoC