I am wondering if there might be a scheme for the following scenario: Let's suppose a government wants a truly democratic intelligence agency. For this the government publishes all intelligence reports in an encrypted format to the public and allows people to do a majority vote to declassify its contents.
A naive solution would be to simply employ a Verifiable Secret Sharing Scheme for every published encrypted report. Let's say a two-third-majority vote is needed. Then we encrypt the report with a key, separate that key into $n$ shares and make sure that $\frac{2n}{3}$ shares are enough to reconstruct the key.
The problem is that the numbers of voters $n$ might not stay the same. People become eligible to vote or die. An approach to this would be to publish the voting shares on the day of the vote (not together with the report), however that way there would be no possible result of voting not to declassify the report. Even if a second vote with voter set $V_2$ is called in the future after people from voter set $V_1$ did not put enough shares together, it would still give voter $V_1$ an unfair advantage of declassifying the report at the second vote, because they have all the necessary shares.
Is there a way to address this? The scheme does not necessarily need to employ secret sharing (it was just my first guess on how to approach it). The scheme should simply have a number of properties:
- The encrypted report $e(R)$ is universally known
- Voters receive ballots $s$ for a vote round $i$
- If they vote to declassify a key is produced.
- Voters should be able to verify through $s$ that they are able to produce the key in vote round $i$
- If voters vote against declassifying $e(R)$ in round $i$ they should not be able to produce a key once round $i$ is over.
Thanks in advance.