kyberlib

A Robust Rust Library for CRYSTALS-Kyber Post-Quantum Cryptography 🦀

Downloads
2.9K
Stars
24

Bot releases are hidden (Show)

kyberlib - Kyberlib v0.0.3

Published by sebastienrousseau 10 months ago

kyberlib

A Robust Rust Library for CRYSTALS-Kyber Post-Quantum Cryptography

Made With Rust Crates.io Lib.rs Docs.rs License

WebsiteDocumentationReport BugRequest FeatureContributing Guidelines

divider

Overview 📖

A Robust Rust Library for CRYSTALS-Kyber Post-Quantum Cryptography

Features ✨

Core Features

  • no_std compatible: No dependence on the Rust standard library
  • Avoid allocations: Uses stack-based data structures only
  • Configurable: Features to enable different parameter sets
  • Optimised x86_64: Uses assembly for performance-critical code, including an optimised AVX2 version by default.
  • Safe code: Reference implementations have no unsafe blocks
  • WebAssembly Support: Can be compiled to WASM using wasm-bindgen.

Advanced Features

  • Allocation-free Guarantee: KyberLib guarantees all its core cryptography operations are free of heap allocations.
  • Assembly Optimizations: The x86_64 assembly implementations use AVX2 instructions for high performance.
  • Security: KyberLib contains no unsafe code in its public API surface.

Functionality 📚

  • Key Generation: Create public/private key pairs
  • Encapsulation: Encapsulate a shared secret with a public key
  • Decapsulation: Decapsulate a shared secret with a private key
  • Key Exchange: Perform authenticated key exchanges

Changelog 📚

What's Changed

New Contributors

Full Changelog: https://github.com/sebastienrousseau/kyberlib/commits/0.0.3

Package Rankings
Badges
Extracted from project README
Made With Love Crates.io Lib.rs Docs.rs License Codecov