libslug 0.10.0

A Rust Library For Cryptography Intended For Slug20 That Supports X59 Certificate Format and Post-Quantum Cryptography
Documentation

Slug20 Library

Static Badge Crates.io Version Crates.io License Deps.rs Crate Dependencies (latest) Crates.io Total Downloads Crates.io Dependents

Bluesky followers YouTube Channel Subscribers X (formerly Twitter) Follow X (formerly Twitter) Follow

Description

slug20 is a tool used to encrypt data inspired by minisign. It is simple, minimilastic, and has advanced security built-in. It implements zeroize, subtle, and subtle-encoding for maxmimum security.

On top of encryption, it creates a new standard for Modern Certificates using YAML. Its format (X59CERT) is lightweight and can easily be serialized.

It extends to include development of modern, decentralized PKI systems and modular formats for use with different systems.

Features

  • Default Encryption: ECIES Encryption over Curve25519 using AES-GCM
  • Post-Quantum Encryption: ML-KEM
  • Signature Schemes: ED25519, Schnorr over Ristretto (Curve25519), BLS12-381, ECDSA (secp256k1), Ed448
  • Post-Quantum Signature Schemes: SPHINCS+ (SHAKE256) (Level 5), ML_DSA56 (Level 3), FALCON1024
  • Hybrid Digital Signature Schemes: EsphandSigning (FALCON1024 + ED25519), ShulginSigning (SPHINCS+ & ED25519), AbsolveSigning (ML-DSA3 + ED25519)
  • Cert Format: X59 Certificate Standard, PEM
  • Message-Types: Supports UTF-8 Messages (so we can include emojis)
  • Encryption: AES-GCM 256 + XChaCha20-Poly1305
  • Randomness Generation: Supports Randomness Generation from the Operating System. Supports VRFs via Schnorr
  • BIP39: true, supported
  • BIP32: still in works

Table of Contents

  1. Symmetric Encryption
  2. Public Key Encryption
  3. Digital Signing
  4. Other

1: Symmetric Encryption

  • AES256-GCM
  • XChaCha20-POLY1305
  • Morus

2: Public Key Encryption

  • ECIES over ED25519 using SHA3 + AES-GCM
  • Kyber

3: Digital Signatures

3.1 Hybrid Digital Signature Schemes

  • ShulginSigning (SPHINCS+ (SHAKE256) + ED25519)
  • EsphandSigning (Falcon1024 + ED25519)
  • AbsolveSigning (MLDSA3 + ED25519)

3.2 Classical Signature Schemes

  • EdDSA
    • Ed25519
    • Ed448
  • ECDSA
    • Secp256k1
  • Other
    • BLS12-381
    • Schnorr Over Ristretto

3.3 Post-Quantum Digital Signature Schemes

  • SPHINCS+ (SHAKE256) (Level 5)
  • FALCON1024
  • MLDSA3 (Dilithium65)

4: Other

  • BIP39
  • BIP32
  • Schnorr VRF
  • Cryptographic Randomness
    • SecureRand-rs
    • From_OS
    • Schnorr VRF

Progress On Signatures

Classical

  • [Signature] ED25519-dalek
    • Generation
      • OSCSPRNG
      • Securerand-rs
    • Signing
    • Verifying

Post-Quantum

  • [Signature] FALCON1024
    • Generation
      • OSCSPRNG
    • silene/slugencode
    • Signing
    • Verifying
    • Serialization/Deserialization
    • Zeroize
    • Protocol Info
    • Derive Public Key From Secret
  • [Signature] SPHINCS+ (SHAKE256) Level 5
    • Generation
      • OSCSPRNG
    • Signing
    • Verifying
    • Serialization/Deserialization
    • Zeroize
    • Protocol Info
    • Other
      • Derive Public Key From Secret

X59Registar

X59Registar is a novel project being developed for decentralized public-key infrastructures using the X59CERT format in YAML.