Performs a proof of shuffle of commitments. It is an implementation of the Verfication class. More...
#include <proofofshuffleofcommitments.hpp>
Public Member Functions | |
ProofOfShuffleOfCommitments (bool &readingWasOK, XmlConfig *config, std::vector< uint8_t > prefix, unsigned int nZero, arithm::ArrayOfElmts pedersen, verifierUtils::ByteTree *commitmentFSproof, verifierUtils::ByteTree *replyFSproof) | |
Creates an instance of a Verification class by setting its two attributes. | |
bool | isEverythingOK () |
Checks that the mix-servers commited themselves correctly and knew how to this. | |
![]() | |
Verification (XmlConfig *config, std::vector< uint8_t > prefix, unsigned int nZero) | |
Creates an instance of a Verification class by setting its two attributes. | |
arithm::ArrayOfElmts | randomExponents (verifierUtils::ByteTree *bts, std::vector< uint8_t > &s) |
Used to compute a random exponents vector according to the specification. | |
arithm::Elmt | getChallenge (std::vector< uint8_t > s) |
Returns a challenge computed from the original seed s and a bytetree. | |
arithm::ArrayOfElmts | getGenerators () |
Returns the h attribute. |
Private Attributes | |
arithm::ArrayOfElmts | u |
![]() ![]() |
Additional Inherited Members | |
![]() | |
XmlConfig * | protocolFile |
A class containing the information in the protocol info file. | |
cryptoTools::SHAx * | H |
The hashfunction to be used by the random oracles. | |
cryptoTools::RO * | ROs |
The random oracle to use to seed the PRG. | |
cryptoTools::RO * | ROv |
The random oracle to use to generate challenges. | |
std::vector< uint8_t > | rho |
![]() | |
unsigned int | n0 |
![]() ![]() | |
unsigned int | ne |
![]() | |
unsigned int | nr |
![]() | |
unsigned int | nv |
![]() | |
cryptoTools::PRG * | prg |
Pseudo-random generator ![]() | |
arithm::Group * | gq |
![]() ![]() | |
arithm::Field * | zq |
The field in which the exponent live, ![]() | |
arithm::ArrayOfElmts | h |
An array of independant generators ![]() | |
verifierUtils::ByteTree * | tau |
The commitment of the Fiat-Shamir proof, ![]() | |
verifierUtils::ByteTree * | sigma |
The reply of the Fiat-Shamir proof, ![]() |
Performs a proof of shuffle of commitments. It is an implementation of the Verfication class.
The operation performed in this class are just implementation of the verificatum verifier specification, namely page 15.
Definition at line 32 of file proofofshuffleofcommitments.hpp.
ProofOfShuffleOfCommitments::ProofOfShuffleOfCommitments | ( | bool & | readingWasOK, |
XmlConfig * | config, | ||
std::vector< uint8_t > | prefix, | ||
unsigned int | nZero, | ||
arithm::ArrayOfElmts | pedersen, | ||
verifierUtils::ByteTree * | commitmentFSproof, | ||
verifierUtils::ByteTree * | replyFSproof | ||
) |
Creates an instance of a Verification class by setting its two attributes.
If any variable is wrong, readingWasOK takes the value false. Otherwise, this variable is equal to true at the end of the construction.
[out] | readingWasOK | Is false at the end of the construction if there was a problem. |
config | The protocol info file to use. | |
prefix | The value to give to the rho attribute. | |
nZero | The value to give to the n0 attribute. | |
pedersen | Arrays of Pedersen commitments. | |
commitmentFSproof | Commitments of the Fiat-Shamir proof. | |
replyFSproof | Reply of the Fiat-Shamir proof. |
Definition at line 19 of file proofofshuffleofcommitments.cpp.
|
virtual |
Checks that the mix-servers commited themselves correctly and knew how to this.
The detail of this algorithm is given page 15 of the verificatum verifier specification.
Reimplemented from proofs::Verification.
Definition at line 69 of file proofofshuffleofcommitments.cpp.
|
private |
, an array of Pedersen commitments in
.
Definition at line 39 of file proofofshuffleofcommitments.hpp.