You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
11.[Short group signatures](./short_group_sig/). BB signature and weak-BB signature and their proofs of knowledge based on the papers [Short Signatures Without Random Oracles](https://eprint.iacr.org/2004/171) and [Scalable Revocation Scheme for Anonymous Credentials Based on n-times Unlinkable Proofs](http://library.usc.edu.ph/ACM/SIGSAC%202017/wpes/p123.pdf).
13.[SyRA](./syra). Implements sybil resilient signatures to be used for generating pseudonyms for low-entropy credential attributes.
33
-
14.[Verifiable encryption](./verifiable_encryption) using [this paper Verifiable Encryption from MPC-in-the-Head](https://eprint.iacr.org/2021/1704.pdf).
33
+
14.[Verifiable encryption](./verifiable_encryption) using the paper [Verifiable Encryption from MPC-in-the-Head](https://eprint.iacr.org/2021/1704.pdf).
//! - proof of knowledge of accumulator membership and non-membership
102
103
//! - proof of knowledge of Pedersen commitment opening.
103
104
//! - proof of knowledge of BBS or BBS+ or PS signature(s) and that certain message(s) satisfy given bounds (range proof)
104
-
//! - verifiable encryption of messages in a BBS or BBS+ or PS signature
105
+
//! - verifiable encryption of messages in a BBS or BBS+ or PS signature using zk-SNARK based protocol SAVER or
106
+
//! MPCitH based TZ-21
105
107
//! - proof of knowledge of BBS or BBS+ signature(s) and that certain message(s) satisfy given R1CS. The R1CS is generated
106
108
//! from [Circom](https://github.com/iden3/circom) and the proof system used is [LegoGroth16](https://github.com/lovesh/legogro16).
107
109
//! LegoGroth16 is similar to Groth16 but in addition to the zero knowledge proof, it provides a Pedersen
@@ -122,16 +124,18 @@
122
124
//! a Pedersen commitment.
123
125
//! - test `verifier_local_linkability` shows how a verifier can link separate proofs from a prover (with prover's
124
126
//! permission) and assign a unique identifier to the prover without learning any message from the BBS+ signature.
125
-
//! Also this identifier cannot be linked across different verifiers (intentional by the prover).
127
+
//! Also, this identifier cannot be linked across different verifiers (intentional by the prover).
126
128
//! - test `pok_of_bbs_plus_sig_and_bounded_message` shows proving knowledge of a BBS+ signature and that a specific
127
129
//! message satisfies some upper and lower bounds i.e. min <= signed message <= max. This is a range proof.
128
-
//! - test `pok_of_bbs_plus_sig_and_verifiable_encryption` shows how to verifiably encrypt a message signed with BBS+ such
129
-
//! that the verifier cannot decrypt it but still ensure that it is encrypted correctly for the specified decryptor.
130
+
//! - test `pok_of_bbs_plus_sig_and_verifiable_encryption_using_saver` shows how to verifiably encrypt a message signed with BBS+ and
131
+
//! using SAVER protocol such that the verifier cannot decrypt it but still ensure that it is encrypted correctly for the specified decryptor.
132
+
//! - test `pok_of_bbs_plus_sig_and_verifiable_encryption_using_tz21` shows how to verifiably encrypt a message signed with BBS+ and
133
+
//! using TZ21 protocol such that the verifier cannot decrypt it but still ensure that it is encrypted correctly for the specified decryptor.
130
134
//! - test `pok_of_bbs_plus_sig_with_reusing_setup_params` shows proving knowledge of several BBS+ signatures
131
135
//! using [`SetupParams`]s. Here the same signers are used in multiple signatures thus their public params
132
136
//! can be put as a variant of enum [`SetupParams`]. Similarly test
133
137
//! `pok_of_knowledge_in_pedersen_commitment_and_equality_with_commitment_key_reuse` shows use of [`SetupParams`]
134
-
//! when the same commitment key is reused in several commitments and test `pok_of_bbs_plus_sig_and_verifiable_encryption_of_many_messages`
138
+
//! when the same commitment key is reused in several commitments and test `pok_of_bbs_plus_sig_and_verifiable_encryption_of_many_messages_using_saver`
135
139
//! shows use of [`SetupParams`] when several messages are used in verifiable encryption for the same decryptor.
136
140
//! - For R1CS/Circom, see various tests like using less than, not-equals comparison operators on messages signed with BBS+, proving
137
141
//! that the preimage of an MiMC hash is the message signed with BBS+, sum of certain signed messages (from same or different signatures)
Copy file name to clipboardexpand all lines: short_group_sig/README.md
+1
Original file line number
Diff line number
Diff line change
@@ -7,5 +7,6 @@
7
7
3. An optimized implementation of proof of knowledge of weak-BB signature taken from the paper [Scalable Revocation Scheme for Anonymous Credentials Based on n-times Unlinkable Proofs](http://library.usc.edu.ph/ACM/SIGSAC%202017/wpes/p123.pdf). This does not require the prover to do pairings
8
8
4. Similar to weak-BB, proof of knowledge of BB signature that does not require the prover to do pairings.
9
9
5. A keyed-verification protocol for proving knowledge of weak-BB signature. Here the verifier is assumed to have the secret key and the protocol does not require pairings.
10
+
6. Threshold issuance protocol for weak-BB signatures
0 commit comments