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

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

Đang mở
#760 0 bình luận 0 reaction 0 người được giao Xem trên GitHub
enhancement triage
Ngôn ngữ chính
Python
Star
168
Fork
103
Chỉ số merge pull request
Không có pull request nào được merge trong 30 ngày

Mô tả

### 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.

Hướng dẫn đóng góp

Mở hướng dẫn đóng góp

Đánh giá

Issue này chưa được đánh giá.

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.