# Module elastic_elgamal::app

source · ## Expand description

High-level applications for proofs defined in this crate.

For now, the applications are:

`EncryptedChoice`

. Single-choice or multi-choice selection from a predefined list of options, with summable selection ciphertexts.`QuadraticVotingBallot`

. Quadratic voting on a predefined list of options, with summable selection ciphertexts.

## Structs§

- Parameters of an
`EncryptedChoice`

polling. - Zero or more encrypted choices from
`n`

options (`n >= 1`

) together with zero-knowledge proofs of correctness. - Multi-choice setup for
`EncryptedChoice`

, in which it can contain any possible number of selected options (`0..=n`

, where`n`

is the number of options). - Encrypted ballot for quadratic voting together with zero-knowledge proofs of correctness.
- Quadratic voting parameters prepared for a certain
`Group`

. - Single-choice setup for
`EncryptedChoice`

, in which it can contain a single selected option.

## Enums§

- Error verifying an
`EncryptedChoice`

. - Errors that can occur when verifying
`QuadraticVotingBallot`

s.

## Traits§

- Encapsulation of functionality for proving and verifying correctness of the sum of option ciphertexts in an
`EncryptedChoice`

.