Election-Tech-Initiative / Election-Tech-Initiative/electionguard-python

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

Offen
#760 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
enhancement triage
Vorherrschende Sprache
Python
Sterne
168
Forks
103
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Beschreibung

### Is there an existing issue for this?

- [X] 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](https://github.com/microsoft/electionguard/pull/293) with the corresponding schema changes.

Beitragsleitfaden

Beitragsleitfaden öffnen

Bewertung

Dieses Issue wurde noch nicht bewertet.

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.