arithm | Implements useful algebraic structures such as groups, fields, p-subgroups, etc |
Field | Models a mathematical field with a given additive order, multiplicative order, addition, multiplication, unit and zero |
ModField | Implements a modular field (i.e. where is prime) |
ArrayOfElmts | Implements an array of group elements with several mathematical operations depending on the group the associated to it |
Elmt | Implements an element of any group |
Group | Models a mathematical multiplicative group |
ModPGrp | Implements a q-subgroup of a modular field |
PSubGroup | Implements a p-subgroup (as defined in Sylow theory) of any multiplicative group |
cryptoTools | Contains cryptographic tools, namely implementations of the SHA-2 hashfunctions, a pseudo-random generator and a random oracle |
PRG | Implements a pseudo-random byte generator as explained in the verificatum verifier specification |
RO | Implements a random oracle as explained in the verificatum verifier specification |
SHA256 | Implements the SHA256 hashfunction, i.e. sha-256. Inherits from SHAx |
SHA384 | Implements the SHA384 hashfunction, i.e. sha-384. Inherits from SHAx |
SHA512 | Implements the SHA512 hashfunction, i.e. sha-512. Inherits from SHAx |
SHAx | Provides a common interface for all the hashfunctions of the SHA-2 family |
elGamal | Implements the el Gamal assymmetric cipher independantly of the group in which it is used |
ArrayOfCiphers | Implements an array containing several ciphers |
CipherGroup | Implements a CipherGroup, i.e. the cartesian product of two Groups. El-Gamal operations are implemented here |
CipherText | Implements an El-Gamal ciphertext, i.e. a pair of group elements |
proofs | Implements all the proof a verificatum verifier must perform |
ProofOfCorrectDecryption | Performs a proof of shuffle of commitments. It is an implementation of the Verfication class |
ProofOfShuffleOfCiphers | Performs a proof of shuffle of ciphers. It is an implementation of the Verfication class |
ProofOfShuffleOfCommitments | Performs a proof of shuffle of commitments. It is an implementation of the Verfication class |
Verification | Provides an interface every verification we want to perform must implement |
verifierUtils | Contains several classes and functions used throughout the whole verifier, in particular the ByteTree |
ByteTree | A virtual class providing a partial common interface for Node and Leaf |
Leaf | Implements the ByteTree virtual class in the case when the data stored is not other bytetrees but actual bytes |
Node | Inherits from the ByteTree and implements the case where the ByteTree has children |
XmlConfig | Encapsulates the TinyXml library to retrieve easily information from the xml configuration file described in the verificatum verifier specification |