Releases: sebastienrousseau/kyberlib
Kyberlib 🦀 v0.0.6
Release v0.0.6 - 2024-05-12
kyberlib
A Robust Rust Library for CRYSTALS-Kyber Post-Quantum Cryptography
• Website • Documentation • Report Bug • Request Feature • Contributing Guidelines
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
- v0.0.6 by @sebastienrousseau in #34
- Merge pull request #34 from sebastienrousseau/feat/kyberlib
Full Changelog: v0.0.5...v0.0.6
Kyberlib 🦀 v0.0.5
Release v0.0.5 - 2024-05-09
kyberlib
A Robust Rust Library for CRYSTALS-Kyber Post-Quantum Cryptography
• Website • Documentation • Report Bug • Request Feature • Contributing Guidelines
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:
-
Documentation:
- Updated documentation macros and
KyberLibError
for improved clarity and readability.
- Updated documentation macros and
-
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.
-
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.
-
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.
-
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
- v0.0.5 by @sebastienrousseau in #33
- Merge pull request #33 from sebastienrousseau/feat/kyberlib
Kyberlib 🦀 v0.0.4
Release v0.0.4 - 2024-05-08
kyberlib
A Robust Rust Library for CRYSTALS-Kyber Post-Quantum Cryptography
• Website • Documentation • Report Bug • Request Feature • Contributing Guidelines
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
, andsymmetric.rs
modules.
What's Changed
- Merge pull request #32 from sebastienrousseau/feat/kyberlib
- build(deps): bump anyhow from 1.0.76 to 1.0.77 by @dependabot in #8
- build(deps): bump anyhow from 1.0.77 to 1.0.78 by @dependabot in #9
- build(deps): bump wasm-bindgen from 0.2.89 to 0.2.90 by @dependabot in #11
- build(deps): bump actions/cache from 3 to 4 by @dependabot in #12
- build(deps): bump nasm-rs from 0.2.5 to 0.3.0 by @dependabot in #13
- build(deps): bump wasm-bindgen from 0.2.90 to 0.2.91 by @dependabot in #15
- build(deps): bump codecov/codecov-action from 3 to 4 by @dependabot in #14
- build(deps): bump aes from 0.8.3 to 0.8.4 by @dependabot in #16
- build(deps): bump anyhow from 1.0.78 to 1.0.82 by @dependabot in #26
- build(deps): bump cc from 1.0.83 to 1.0.92 by @dependabot in #24
- build(deps): bump peaceiris/actions-gh-pages from 3 to 4 by @dependabot in #25
- build(deps): bump wasm-bindgen from 0.2.91 to 0.2.92 by @dependabot in #20
- build(deps): bump cc from 1.0.92 to 1.0.94 by @dependabot in #27
- build(deps): bump cc from 1.0.94 to 1.0.95 by @dependabot in #28
- build(deps): bump cc from 1.0.95 to 1.0.96 by @dependabot in #29
- build(deps): bump cc from 1.0.96 to 1.0.97 by @dependabot in #31
- build(deps): bump anyhow from 1.0.82 to 1.0.83 by @dependabot in #30
- v0.0.4 by @sebastienrousseau in #32
Full Changelog: 0.0.3...v0.8.4
Kyberlib v0.0.3
kyberlib
A Robust Rust Library for CRYSTALS-Kyber Post-Quantum Cryptography
• Website • Documentation • Report Bug • Request Feature • Contributing Guidelines
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
- Feat/kyberlib by @sebastienrousseau in #1
- build(deps): bump wasm-bindgen from 0.2.88 to 0.2.89 by @dependabot in #2
- build(deps): bump actions/upload-artifact from 3 to 4 by @dependabot in #3
- build(deps): bump anyhow from 1.0.75 to 1.0.76 by @dependabot in #4
- fix(kyberlib): 🐛 Using outdated edition for no reason by @sebastienrousseau in #5
- fix(kyberlib): 🐛 Using outdated edition for no reason by @sebastienrousseau in #6
- fix(kyberlib): 🚑 added panic_handler by @sebastienrousseau in #7
New Contributors
- @sebastienrousseau made their first contribution in #1
- @dependabot made their first contribution in #2
Full Changelog: https://github.com/sebastienrousseau/kyberlib/commits/0.0.3