Skip to content

Commit

Permalink
add references to the bluepaper
Browse files Browse the repository at this point in the history
  • Loading branch information
tschudid committed Aug 11, 2023
1 parent a763ba1 commit 49348e9
Show file tree
Hide file tree
Showing 10 changed files with 41 additions and 38 deletions.
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
//! The module provides the implementation of the `aggregate_dlog` sigma
//! protocol. This protocol enables one to prove knowledge of discrete
//! logarithms $a_1 ... a_n$ public values $ y = \prod G_i^{a_i} $.
//! This is a specialization of `com_eq` protocol where we do not require
//! commitments.
//! protocol (cf. Section 9.2.2, Bluepaper v1.2.5). This protocol enables one to
//! prove knowledge of discrete logarithms $a_1 ... a_n$ public values $ y =
//! \prod G_i^{a_i} $. This is a specialization of `com_eq` protocol where we do
//! not require commitments.
use super::common::*;
use crate::{
common::*,
Expand Down
7 changes: 4 additions & 3 deletions rust-src/concordium_base/src/id/sigma_protocols/com_enc_eq.rs
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
//! Implementation of the `com_enc_eq` sigma protocol.
//! This protocol is used to prove that the encrypted value (encrypted via
//! ElGamal) is the same as the value commited to via the Pedersen commitment.
//! Implementation of the `com_enc_eq` sigma protocol (cf. Section 9.2.8,
//! Bluepaper v1.2.5). This protocol is used to prove that the encrypted value
//! (encrypted via ElGamal) is the same as the value committed to via the
//! Pedersen commitment.

use super::common::*;
use crate::{
Expand Down
14 changes: 7 additions & 7 deletions rust-src/concordium_base/src/id/sigma_protocols/com_eq.rs
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
//! The module provides the implementation of the `com_eq` sigma protocol.
//! This protocol enables one to prove knowledge of discrete logarithm $a_1$
//! together with randomnesses $r_1$ corresponding to the public value
//! $ y = \prod G_i^{a_i} $ and commitment $C = commit(a_1, r_1)$.
//! The product y and commitments can be in different groups, but they have to
//! be of the same prime order, and for the implementation the field of scalars
//! must be the same type for both groups.
//! The module provides the implementation of the `com_eq` sigma protocol (cf.
//! Section 9.2.5, Bluepaper v1.2.5). This protocol enables one to prove
//! knowledge of discrete logarithm $a_1$ together with randomnesses $r_1$
//! corresponding to the public value $ y = \prod G_i^{a_i} $ and commitment $C
//! = commit(a_1, r_1)$. The product y and commitments can be in different
//! groups, but they have to be of the same prime order, and for the
//! implementation the field of scalars must be the same type for both groups.

use super::common::*;
use crate::{
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
//! The module provides the implementation of the `com_eq_diff_groups` sigma
//! protocol. This protocol enables one to prove that the value committed to in
//! two commitments $C_1$ and $C_2$ in (potentially) two different groups (of
//! the same order) is the same.
//! protocol (cf. Section 9.2.9, Bluepaper v1.2.5). This protocol enables one to
//! prove that the value committed to in two commitments $C_1$ and $C_2$ in
//! (potentially) two different groups (of the same order) is the same.
use super::common::*;
use crate::{
common::*,
Expand Down
10 changes: 5 additions & 5 deletions rust-src/concordium_base/src/id/sigma_protocols/com_eq_sig.rs
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
//! This module implements the proof of knowledge of signature sigma protocol.
//! This protocol allows a user to prove knowledge of a signature without
//! revealing the original signature, or the message, but they have to reveal
//! the blinded version of the signature, and commitments to the values that
//! were signed.
//! This module implements the proof of knowledge of signature sigma protocol
//! (cf. Section 5.3.5, Bluepaper v1.2.5). This protocol allows a user to prove
//! knowledge of a PS signature without revealing the original signature, or the
//! message, but they have to reveal the blinded version of the signature, and
//! commitments to the values that were signed.

use super::common::*;
use crate::{
Expand Down
6 changes: 3 additions & 3 deletions rust-src/concordium_base/src/id/sigma_protocols/com_ineq.rs
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
//! The module provides the implementation of the sigma protocol for "proof of
//! inequality for committed value and public value". This protocol enables one
//! to prove that a committed value is not equal to a public one, without
//! revealing the value.
//! inequality for committed value and public value" (cf. Section 9.2.13,
//! Bluepaper v1.2.5). This protocol enables one to prove that a committed value
//! is not equal to a public one, without revealing the value.
//! Note that the interface is different from that of other sigma protocols.
//! The reason is that the SigmaProtocol trait is implemented based on Maurer's
//! definition of Sigma protocols, where the first message (i.e.,
Expand Down
9 changes: 5 additions & 4 deletions rust-src/concordium_base/src/id/sigma_protocols/com_lin.rs
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
//! This module implements the com-lin sigma protocol, which allows
//! the prover to prove knowledge of pairs (s_i, r_i) and (s, r) such that
//! \sum_{i} u_i * s_i = u * s for some public constants u_i and u.
//! The r's are randomness in commitments to s_i's and s'.
//! This module implements the com-lin sigma protocol (cf. Section 9.2.11,
//! Bluepaper v1.2.5). This protocol enables the prover to prove knowledge of
//! pairs (s_i, r_i) and (s, r) such that \sum_{i} u_i * s_i = u * s for some
//! public constants u_i and u. The r's are randomness in commitments to s_i's
//! and s'.

use super::common::*;
use crate::{
Expand Down
8 changes: 4 additions & 4 deletions rust-src/concordium_base/src/id/sigma_protocols/com_mult.rs
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
//! The module provides the implementation of the `com_mult` sigma protocol.
//! This protocol enables one to prove that the the product of two commited
//! values is equal to the third commited value, without revealing the values
//! themselves.
//! The module provides the implementation of the `com_mult` sigma protocol (cf.
//! Section 9.2.10, Bluepaper v1.2.5). This protocol enables one to prove that
//! the the product of two commited values is equal to the third commited value,
//! without revealing the values themselves.
use super::common::*;
use crate::{
common::*,
Expand Down
4 changes: 2 additions & 2 deletions rust-src/concordium_base/src/id/sigma_protocols/dlog.rs
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
//! This module provides the implementation of the discrete log sigma protocol
//! which enables one to prove knowledge of the discrete logarithm without
//! revealing it.
//! (cf. Section 9.2.1, Bluepaper v1.2.5) which enables one to prove knowledge
//! of the discrete logarithm without revealing it.
use super::common::*;
use crate::{
common::*,
Expand Down
7 changes: 4 additions & 3 deletions rust-src/concordium_base/src/id/sigma_protocols/vcom_eq.rs
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
//! The module provides the implementation of the `vcom_eq` sigma
//! protocol. This protocol enables one to prove knowledge of
//! $x_1, ..., x_n, r, (r_i)_{i\in I}$ such that $ C = h^r \prod_{i=1}^n
//! g_i^{x_i}$ and $C_i = \bar{g}^{x_i} \bar{h}^{r_i}$ for $i\in I$.
//! protocol (cf. Section 9.7.1, Bluepaper v1.2.5). This protocol enables one to
//! prove knowledge of $x_1, ..., x_n, r, (r_i)_{i\in I}$ such that $ C = h^r
//! \prod_{i=1}^n g_i^{x_i}$ and $C_i = \bar{g}^{x_i} \bar{h}^{r_i}$ for $i\in
//! I$.
use super::common::*;
use crate::{
common::*,
Expand Down

0 comments on commit 49348e9

Please sign in to comment.