Skip to content

Commit e775611

Browse files
committed
Add some docs and make some fields public
Signed-off-by: lovesh <lovesh.bond@gmail.com>
1 parent 8675371 commit e775611

3 files changed

Lines changed: 9 additions & 5 deletions

File tree

Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ zeroize = { version = "1.7.0", features = ["derive"] }
4949
blake2 = { version = "0.10", default-features = false }
5050
ark-bls12-381 = { version = "^0.4.0", default-features = false, features = [ "curve" ] }
5151
ark-secp256r1 = { version = "^0.4.0", default-features = false }
52-
itertools = "0.12.1"
52+
itertools = "0.14.0"
5353
sha3 = { version = "0.10.6", default-features = false }
5454

5555
[profile.release]

README.md

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ Library providing privacy enhancing cryptographic primitives.
88

99
## Primitives
1010

11-
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.
11+
1. [Sigma protocols](./schnorr_pok) to prove knowledge of discrete log, equality, inequality of discrete logs, knowledge of opening of a generalized Pedersen commitment, etc. [This](https://crypto.stanford.edu/cs355/19sp/lec5.pdf) is a good reference.
1212
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
1313
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)
1414
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). Implements a keyed-verification variant of these accumulators as well which does not require pairings.
@@ -31,6 +31,7 @@ Library providing privacy enhancing cryptographic primitives.
3131
12. [Keyed-Verification Anonymous Credentials (KVAC)](./kvac). Implements Keyed-Verification Anonymous Credentials (KVAC) schemes.
3232
13. [SyRA](./syra). Implements sybil resilient signatures to be used for generating pseudonyms for low-entropy credential attributes.
3333
14. [Verifiable encryption](./verifiable_encryption) using the paper [Verifiable Encryption from MPC-in-the-Head](https://eprint.iacr.org/2021/1704.pdf).
34+
15. [Utilities](./utils) like inner product, hadamard product, polynomial utilities, solving discrete log, Elgamal encryption, etc.
3435

3536
## Composite proof system
3637

@@ -63,4 +64,7 @@ Some tests also print time consumed by the operations, run `cargo test --release
6364

6465
## WASM wrapper
6566

66-
A WASM wrapper has been created over this repo [here](https://github.com/docknetwork/crypto-wasm). The wrapper is then used to create [this Typescript library](https://github.com/docknetwork/crypto-wasm-ts) which is more ergonomic than using the wrapper as the wrapper contains free floating functions.
67+
A WASM wrapper has been created over this repo [here](https://github.com/docknetwork/crypto-wasm).
68+
The wrapper is then used to create [this Typescript library](https://github.com/docknetwork/crypto-wasm-ts) which is more ergonomic
69+
than using the wrapper as the wrapper contains free floating functions. The Typescript wrapper also contains abstractions for
70+
anonymous credentials like schemas, credentials, presentations, etc.

utils/src/transcript.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,8 @@ pub fn new_merlin_transcript(label: &'static [u8]) -> impl Transcript + Clone +
2121
Clone, Zeroize, ZeroizeOnDrop, CanonicalSerialize, CanonicalDeserialize, Serialize, Deserialize,
2222
)]
2323
pub struct MerlinTranscript {
24-
merlin: Merlin,
25-
next_label: Vec<u8>,
24+
pub merlin: Merlin,
25+
pub next_label: Vec<u8>,
2626
}
2727

2828
impl MerlinTranscript {

0 commit comments

Comments
 (0)