Crates.io | zkryptium |
lib.rs | zkryptium |
version | 0.3.1 |
source | src |
created_at | 2023-10-24 15:47:03.360474 |
updated_at | 2024-10-15 10:06:38.269212 |
description | Rust crypto library for zero-knowledge proofs |
homepage | |
repository | https://github.com/Cybersecurity-LINKS/zkryptium |
max_upload_size | |
id | 1012525 |
size | 620,522 |
ZKryptium provides an implementation in accordance with:
BBS+(draft-irtf-cfrg-bbs-signatures-07) signature scheme
Blind BBS Signatures (draft-kalos-bbs-blind-signatures-01)
CL2003 (https://link.springer.com/chapter/10.1007/3-540-36413-7_20) signature scheme
This library enables the creation of zero-knowledge proofs, exposing cryptographic primitives facilitating the development of a Verifiable Credentials (VCs) system capable of handling both Anonymous Credentials and Selective Disclosure Credentials.
Rust (>= 1.65)
Cargo (>= 1.65)
The ZKryptium CL03 implementation also depends on the Rug crate which depends on GMP, MPFR and MPC libraries through the low-level FFI bindings in the gmp-mpfr-sys crate, which needs some setup to build; the gmp-mpfr-sys documentation has some details on usage under GNU/Linux, macOS and Windows.
[dependencies]
zkryptium = { version = "0.3.0", default-features = false, features = ["bbsplus"] }
[dependencies]
zkryptium = { version = "0.3.0", default-features = false, features = ["cl03"] }
Take a look at the examples.
You can run the example based on the BBS+ Signature Scheme with:
cargo run --example bbsplus <ciphersuite>
You can run the example based on the CL2003 Signature Scheme with:
cargo run --example cl03 <ciphersuite>
CL1024-SHA-256
To test the library you can launch the test vectors with:
cargo test