Skip to content

Commit

Permalink
Update readme
Browse files Browse the repository at this point in the history
Signed-off-by: lovesh <[email protected]>
  • Loading branch information
lovesh committed Jan 4, 2024
1 parent e8f280c commit 77ebdfa
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 5 deletions.
5 changes: 3 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,10 @@ Library providing privacy enhancing cryptographic primitives.

## Primitives

1. [Schnorr proof of knowledge protocol](./schnorr_pok) to prove knowledge of discrete log. [This](https://crypto.stanford.edu/cs355/19sp/lec5.pdf) is a good reference.
1. [Schnorr proof of knowledge protocol](./schnorr_pok) to prove knowledge of discrete log and inequality of discrete logs. [This](https://crypto.stanford.edu/cs355/19sp/lec5.pdf) is a good reference.
2. [BBS and BBS+ signatures](./bbs_plus) for anonymous credentials. BBS+ is based on the paper [Anonymous Attestation Using the Strong Diffie Hellman Assumption Revisited](https://eprint.iacr.org/2016/663) and
BBS is based on the paper [Revisiting BBS Signatures](https://eprint.iacr.org/2023/275). Also implements the threshold variants of these based on the paper [Threshold BBS+ Signatures for Distributed Anonymous Credential Issuance](https://eprint.iacr.org/2023/602)
3. [Dynamic accumulators, both positive and universal](./vb_accumulator). Based on the paper [Dynamic Universal Accumulator with Batch Update over Bilinear Groups](https://eprint.iacr.org/2020/777)
3. [Dynamic accumulators, both positive and universal](./vb_accumulator). Based on the papers [Dynamic Universal Accumulator with Batch Update over Bilinear Groups](https://eprint.iacr.org/2020/777) and [Efficient Constructions of Pairing Based Accumulators](https://eprint.iacr.org/2021/638)
4. [Composite proof system](./proof_system) that combines above primitives for use cases like
- prove knowledge of a BBS+ signature and the corresponding messages
- prove knowledge of a modified PS signature and the corresponding messages
Expand All @@ -26,6 +26,7 @@ Library providing privacy enhancing cryptographic primitives.
8. [Cocount and PS signatures](./coconut/). Based on the paper [Security Analysis of Coconut, an Attribute-Based Credential Scheme with Threshold Issuance](https://eprint.iacr.org/2022/011)
9. [LegoGroth16](./legogroth16/). LegoGroth16, the [LegoSNARK](https://eprint.iacr.org/2019/142) variant of [Groth16](https://eprint.iacr.org/2016/260) zkSNARK proof system
10. [Oblivious Transfer (OT) and Oblivious Transfer Extensions (OTE)](./oblivious_transfer).
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).

## Composite proof system

Expand Down
13 changes: 10 additions & 3 deletions vb_accumulator/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,11 @@ Dynamic Positive and Universal accumulators according to the paper: [Dynamic Uni
Implements
- a dynamic positive accumulator [`PositiveAccumulator`], that supports membership proofs.
- a dynamic universal accumulator [`UniversalAccumulator`], that supports membership and non-membership proofs.
- a zero knowledge proof of membership and non-membership in the accumulators with [`ProofProtocol`].
- a zero knowledge proof of membership and non-membership in the accumulators with [`ProofProtocol`] as described in the paper.
These are essentially proofs of knowledge of a weak-BB signature
- an alternate and more efficient protocol of zero knowledge proof of membership and non-membership based on a more
efficient protocol for proving knowledge of a weak-BB signature. This isn't described in the paper.
- keyed verification proofs of membership and non-membership where the verifier knows the secret key

Allows
- single and batch updates (additions, removals or both) to the accumulators.
Expand All @@ -23,9 +27,12 @@ The implementation tries to use the same variable names as the paper and thus vi
## kb_accumulator
Dynamic Positive and Universal accumulators according to the paper: [Efficient Constructions of Pairing Based Accumulators](https://eprint.iacr.org/2021/638)
Implements
- a dynamic positive accumulator [`KBPositiveAccumulator`], that supports membership proofs. Based on construction 2 in the paper
- a dynamic positive accumulator [`KBPositiveAccumulator`], that supports membership proofs. Based on construction 2 in the paper.
- a dynamic universal accumulator [`KBUniversalAccumulator`], that supports membership and non-membership proofs. Based on construction 3 in the paper
- zero knowledge proofs of membership and non-membership in the accumulators
- zero knowledge proofs of membership and non-membership in the accumulators. These are essentially proofs of knowledge of a
BB signature and weak-BB signature.
- an alternate and more efficient protocol for membership and non-membership proofs
- keyed verification proofs of membership and non-membership where the verifier knows the secret key

Allows batch updates to the accumulator and the witness using the techniques from `vb_accumulator`

Expand Down

0 comments on commit 77ebdfa

Please sign in to comment.