Cybersecurity-LINKS / zkryptium

Rust crypto library for zero-knowledge proofs

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

ZKryptium

License

Description

ZKryptium offers implementations of the BBS+ and CL2003 signature schemes, enabling the creation of zero-knowledge proofs for both signed attributes and signatures. This library has been designed to expose cryptographic primitives, facilitating the development of a Verifiable Credentials (VCs) system capable of supporting:

  • Anonymous Credentials
  • Selective Disclosure Credentials

Getting Started

Requirements

Usage

Add this to your Cargo.toml:

[dependencies]
zkryptium = "0.1.6"

Only BBS+:

[dependencies]
zkryptium = { version = "0.1.6", default-features = false, features = ["bbsplus"] }

Only CL2003:

[dependencies]
zkryptium = { version = "0.1.6", default-features = false, features = ["cl03"] }

Examples

Take a look at the examples.

You can run the example based on the BBS+ Signature Scheme with:

cargo run --example bbsplus <ciphersuite>
Available Ciphersuites:
  • BLS12-381-SHA-256
  • BLS12-381-SHAKE-256

You can run the example based on the CL2003 Signature Scheme with:

cargo run --example cl03 <ciphersuite>
Available Ciphersuites:
  • CL1024-SHA-256

Test

To test the library you can launch the test vectors with:

cargo test

About

Rust crypto library for zero-knowledge proofs

License:Apache License 2.0


Languages

Language:Rust 100.0%