Skip to content

Commit 259b628

Browse files
docs(kyberlib): 📝 minor documentation tweaks
1 parent b4d4658 commit 259b628

File tree

4 files changed

+37
-21
lines changed

4 files changed

+37
-21
lines changed

Cargo.lock

+11-11
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

+4-4
Original file line numberDiff line numberDiff line change
@@ -27,14 +27,14 @@ license = "MIT OR Apache-2.0"
2727
name = "kyberlib"
2828
readme = "README.md"
2929
repository = "https://github.com/sebastienrousseau/kyberlib"
30-
version = "0.0.2"
30+
version = "0.0.3"
3131

3232
[dependencies]
3333
aes = { version = "0.8.3", optional = true }
3434
ctr = { version = "0.9.2", optional = true }
3535
rand_core = { version = "0.6.4", default-features = false }
3636
sha2 = { version = "0.10.8", optional = true , default-features = false }
37-
wasm-bindgen = { version = "0.2.88", optional = true }
37+
wasm-bindgen = { version = "0.2.89", optional = true }
3838

3939
[dev-dependencies]
4040
criterion = "0.5.1"
@@ -49,8 +49,8 @@ optional = true
4949
benchmarking = ["criterion"]
5050

5151
[build-dependencies]
52-
cc = {version = "1.0.73", optional = true }
53-
nasm-rs = {version = "0.2.4", optional = true }
52+
cc = {version = "1.0.83", optional = true }
53+
nasm-rs = {version = "0.2.5", optional = true }
5454

5555
[lib]
5656
crate-type = ["cdylib", "rlib"]

README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,7 @@ To use the `kyberlib` library in your project, add the following to your
9999

100100
```toml
101101
[dependencies]
102-
kyberlib = "0.0.2"
102+
kyberlib = "0.0.3"
103103
```
104104

105105
Add the following to your `main.rs` file:

TEMPLATE.md

+21-5
Original file line numberDiff line numberDiff line change
@@ -42,13 +42,27 @@ A Robust Rust Library for CRYSTALS-Kyber Post-Quantum Cryptography
4242

4343
## Features ✨
4444

45-
- Feature 1
46-
- Feature 2
47-
- Feature 3
45+
### Core Features
4846

49-
## Changelog 📚
47+
- **`no_std` compatible**: No dependence on the Rust standard library
48+
- **Avoid allocations**: Uses stack-based data structures only
49+
- **Configurable**: Features to enable different parameter sets
50+
- **Optimised x86_64**: Uses assembly for performance-critical code, including an optimised AVX2 version by default.
51+
- **Safe code**: Reference implementations have no `unsafe` blocks
52+
- **WebAssembly Support**: Can be compiled to WASM using wasm-bindgen.
53+
54+
### Advanced Features
55+
56+
- **Allocation-free Guarantee**: KyberLib guarantees all its core cryptography operations are free of heap allocations.
57+
- **Assembly Optimizations**: The x86_64 assembly implementations use AVX2 instructions for high performance.
58+
- **Security**: KyberLib contains no unsafe code in its public API surface.
5059

51-
-
60+
## Functionality 📚
61+
62+
- **Key Generation**: Create public/private key pairs
63+
- **Encapsulation**: Encapsulate a shared secret with a public key
64+
- **Decapsulation**: Decapsulate a shared secret with a private key
65+
- **Key Exchange**: Perform authenticated key exchanges
5266

5367
[0]: https://kyberlib.com/
5468
[2]: http://opensource.org/licenses/MIT
@@ -66,3 +80,5 @@ A Robust Rust Library for CRYSTALS-Kyber Post-Quantum Cryptography
6680
[libs-badge]: https://img.shields.io/badge/lib.rs-v0.0.1-orange.svg?style=for-the-badge 'Lib.rs badge'
6781
[license-badge]: https://img.shields.io/crates/l/kyberlib.svg?style=for-the-badge 'License badge'
6882
[made-with-rust-badge]: https://img.shields.io/badge/rust-f04041?style=for-the-badge&labelColor=c0282d&logo=rust 'Made With Rust badge'
83+
84+
## Changelog 📚

0 commit comments

Comments
 (0)