PIVX Core  5.6.99
P2P Digital Currency
Public Member Functions | Public Attributes | List of all members
libzerocoin::ZerocoinParams Class Reference

#include <Params.h>

Collaboration diagram for libzerocoin::ZerocoinParams:
[legend]

Public Member Functions

 ZerocoinParams (CBigNum accumulatorModulus, uint32_t securityLevel=ZEROCOIN_DEFAULT_SECURITYLEVEL)
 Construct a set of Zerocoin parameters from a modulus "N". More...
 
 SERIALIZE_METHODS (ZerocoinParams, obj)
 

Public Attributes

bool initialized
 
AccumulatorAndProofParams accumulatorParams
 
IntegerGroupParams coinCommitmentGroup
 The Quadratic Residue group from which we form a coin as a commitment to a serial number. More...
 
IntegerGroupParams serialNumberSoKCommitmentGroup
 One of two groups used to form a commitment to a coin (which it self is a commitment to a serial number). More...
 
uint32_t zkp_iterations
 The number of iterations to use in the serial number proof. More...
 
uint32_t zkp_hash_len
 The amount of the hash function we use for proofs. More...
 

Detailed Description

Definition at line 141 of file Params.h.

Constructor & Destructor Documentation

◆ ZerocoinParams()

libzerocoin::ZerocoinParams::ZerocoinParams ( CBigNum  accumulatorModulus,
uint32_t  securityLevel = ZEROCOIN_DEFAULT_SECURITYLEVEL 
)
explicit

Construct a set of Zerocoin parameters from a modulus "N".

Parameters
NA trusted RSA modulus
securityLevelA security level expressed in symmetric bits (default 80)

Allocates and derives a set of Zerocoin parameters from a trustworthy RSA modulus "N". This routine calculates all of the remaining parameters (group descriptions etc.) from N using a verifiable, deterministic procedure.

Note: this constructor makes the fundamental assumption that "N" encodes a valid RSA-style modulus of the form "e1 * e2" where "e1" and "e2" are safe primes. The factors "e1", "e2" MUST NOT be known to any party, or the security of Zerocoin is compromised. The integer "N" must be a MINIMUM of 1024 in length. 3072 bits is strongly recommended.

Definition at line 19 of file Params.cpp.

Here is the call graph for this function:

Member Function Documentation

◆ SERIALIZE_METHODS()

libzerocoin::ZerocoinParams::SERIALIZE_METHODS ( ZerocoinParams  ,
obj   
)
inline

Definition at line 191 of file Params.h.

Member Data Documentation

◆ accumulatorParams

AccumulatorAndProofParams libzerocoin::ZerocoinParams::accumulatorParams

Definition at line 163 of file Params.h.

◆ coinCommitmentGroup

IntegerGroupParams libzerocoin::ZerocoinParams::coinCommitmentGroup

The Quadratic Residue group from which we form a coin as a commitment to a serial number.

Definition at line 169 of file Params.h.

◆ initialized

bool libzerocoin::ZerocoinParams::initialized

Definition at line 161 of file Params.h.

◆ serialNumberSoKCommitmentGroup

IntegerGroupParams libzerocoin::ZerocoinParams::serialNumberSoKCommitmentGroup

One of two groups used to form a commitment to a coin (which it self is a commitment to a serial number).

This is the one used in the serial number poof. It's order must be equal to the modulus of coinCommitmentGroup.

Definition at line 177 of file Params.h.

◆ zkp_hash_len

uint32_t libzerocoin::ZerocoinParams::zkp_hash_len

The amount of the hash function we use for proofs.

Definition at line 189 of file Params.h.

◆ zkp_iterations

uint32_t libzerocoin::ZerocoinParams::zkp_iterations

The number of iterations to use in the serial number proof.

Definition at line 183 of file Params.h.


The documentation for this class was generated from the following files: