CL Signatures, cryptographic signatures with efficient protocols are a form of digital signature invented by [Jan Camenisch] and [Anna Lysyanskaya] (papers: [2001], [2003], [2004]). In addition to being secure digital signatures, they need to allow for the efficient implementation of two protocols:
In applications, the first protocol allows a signer to possess the signing key to issue a signature to a user (the signature owner) without learning all the messages being signed or the complete signature.
The second protocol allows the signature owner to prove that he has a signature on many messages without revealing the signature and only a (possibly) empty subset of the messages.
CL Signatures are the basis of [Hyperledger AnonCreds v1.0] and the implementation in this repository is used in the [Hyperledger AnonCreds Rust implementation].
This implementation of CL Signatures was initially in the [Hyperledger Ursa] project.
This crate implements a version of the CL signature scheme.
To start, all that is needed is to add this to your Cargo.toml
.
toml
[dependencies]
anoncreds-clsignatures = "0.1"
For an example of using this crate, see the [Hyperledger AnonCreds Rust implementation] repository.