Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/parazyd/kyber-kem
Kyber IND-CCA2 KEM in Rust
https://github.com/parazyd/kyber-kem
cryptography kyber lattice-based-crypto postquantum pqc pqcrypto rust
Last synced: about 1 month ago
JSON representation
Kyber IND-CCA2 KEM in Rust
- Host: GitHub
- URL: https://github.com/parazyd/kyber-kem
- Owner: parazyd
- License: agpl-3.0
- Created: 2023-12-06T12:50:48.000Z (12 months ago)
- Default Branch: master
- Last Pushed: 2024-01-09T15:56:39.000Z (10 months ago)
- Last Synced: 2024-09-14T22:29:43.460Z (2 months ago)
- Topics: cryptography, kyber, lattice-based-crypto, postquantum, pqc, pqcrypto, rust
- Language: Rust
- Homepage:
- Size: 1.23 MB
- Stars: 4
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
Kyber-KEM
=========[![CI](https://img.shields.io/github/actions/workflow/status/parazyd/kyber-kem/ci.yml?branch=master&style=flat-square)](https://github.com/parazyd/kyber-kem/actions)
[![Docs](https://img.shields.io/badge/rust-doc-blue?style=flat-square)](https://docs.rs/kyber-kem)Implementation of [Kyber](https://pq-crystals.org/kyber) IND-CCA2
secure key encapsulation mechanism (KEM)This is a direct Rust reimplementation/port of the
[Go implementation](https://github.com/SymbolicSoft/kyber-k2so)
Symbolic Software under the MIT license.This Rust implementation is licensed under GNU AGPL-3
## Benchmarks
```
$ cargo bench
```Intel i7-1370P results:
| Function | | | |
| -------------------|-----------|---------------|-----------|
| `kem_keypair_512` | 17.907 µs | **18.019 µs** | 18.127 µs |
| `kem_encrypt_512` | 22.458 µs | **22.504 µs** | 22.562 µs |
| `kem_decrypt_512` | 27.844 µs | **28.058 µs** | 28.288 µs |
| `kem_keypair_768` | 31.836 µs | **31.950 µs** | 32.103 µs |
| `kem_encrypt_768` | 37.207 µs | **37.298 µs** | 37.435 µs |
| `kem_decrypt_768` | 44.192 µs | **44.402 µs** | 44.632 µs |
| `kem_keypair_1024` | 53.455 µs | **53.568 µs** | 53.721 µs |
| `kem_encrypt_1024` | 56.700 µs | **56.820 µs** | 56.962 µs |
| `kem_decrypt_1024` | 64.039 µs | **64.464 µs** | 64.992 µs |