Skip to content

✨ Range Chaum-Pedersen proofs are needed to efficiently support cumulative voting #760

@eionblanc

Description

@eionblanc

Is there an existing issue for this?

  • I have searched the existing issues

Suggestion

Toward the initial goal of supporting cumulative voting, range Chaum-Pedersen proofs (encrypted plaintext is one of 0, 1, ..., or limit) generalize disjunctive Chaum-Pedersen proofs. When range Chaum-Pedersen proofs are used for both selection encryption limits and contest limits (replacing constant Chaum-Pedersen proofs there), they render placeholder selections unnecessary and in turn are more efficient (fewer exponentiations required for ballot encryption of all contest types, not just cumulative voting; submitted file size reduction).

Possible Implementation

Proof components will generalize to lists/arrays and eradicate the hard-coded zero- and one- proof components. Placeholder selections and their infrastructure will be removed.

The nuance between votes allowed for a particular selection and votes allowed across a contest (in sum) will be reflected in the code; meanwhile, this can amend the current conflation between number_elected and votes_allowed.

Anything else?

See this pull request with the corresponding schema changes.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requesttriageWaiting to be triaged

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions