Skip to content

Releases: sebastienrousseau/kyberlib

Kyberlib 🦀 v0.0.6

12 May 09:40
9bbbade
Compare
Choose a tag to compare

Release v0.0.6 - 2024-05-12

kyberlib's logo

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

Changelog 📚

Refactorings:

  • 🎨 Eliminated division operations to prevent timing variability.

Testing:

  • 🐛 Added a test case that triggers the KyberLibError::InvalidLength variant.

What's Changed

Full Changelog: v0.0.5...v0.0.6

Kyberlib 🦀 v0.0.5

09 May 19:22
a8d3285
Compare
Choose a tag to compare

Release v0.0.5 - 2024-05-09

kyberlib's logo

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

Changelog 📚

KyberLib v0.0.5 includes several bug fixes, documentation improvements, and the addition of comprehensive test suites. This release focuses on enhancing the overall quality and reliability of the library.

Key Changes:

  1. Documentation:

    • Updated documentation macros and KyberLibError for improved clarity and readability.
  2. Bug Fixes:

    • Fixed derive declarations to ensure proper functionality.
    • Addressed a warning about an unused result of type Box<dyn Any + Send> in the test suite.
  3. Test Suite Enhancements:

    • Added a comprehensive test suite for the WASM module, covering various scenarios and edge cases.
    • Implemented unit tests for rng.rs to ensure the correctness of random number generation.
    • Added unit tests for KyberLibError to verify proper error handling.
  4. Code Style and Formatting:

    • Fixed Rustfmt warnings to adhere to the recommended coding style.
    • Applied minor style tweaks and formatting improvements for better code readability.
  5. Refactoring:

    • Performed minor refactoring in the test suite to improve code organization and maintainability.

This release aims to provide a more stable and reliable version of KyberLib, with improved documentation, bug fixes, and extensive test coverage. We recommend updating to this version to benefit from these enhancements.

Please note that this release may contain breaking changes. Make sure to review the documentation and update your code accordingly.

We appreciate your continued support and feedback. If you encounter any issues or have suggestions for improvement, please let us know through our issue tracker.

What's Changed

Kyberlib 🦀 v0.0.4

08 May 20:42
bf741cc
Compare
Choose a tag to compare

Release v0.0.4 - 2024-05-08

kyberlib's logo

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

Changelog 📚

Features

  • Implemented new macros for kem.rs module to enhance code readability and maintainability.
  • Added support for application-level logging with the integration of the rlg crate.
  • Introduced new macros, fixed issues, and updated documentation across the library to improve usability.

Fixes

  • Added a new import function to address a specific bug.
  • Cleaned up lib.rs file for better code organization and readability.

Refactoring

  • Removed Cargo.lock file to streamline the project structure.

Tests

  • Improved formatting and added new tests to ensure code integrity and correctness.
  • Expanded test coverage to include all constants defined in params.rs.
  • Addressed warnings and simplified loops in tests for improved efficiency and clarity.
  • Added new tests for api.rs, wam.rs, wasm.rs, and symmetric.rs modules.

What's Changed

Full Changelog: 0.0.3...v0.8.4

Kyberlib v0.0.3

25 Dec 10:42
6aac7c8
Compare
Choose a tag to compare

kyberlib's logo

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