Secure voting based on the ElGamal and Pedersen protocols.
Heavily based on this paper: A Secure and Optimally Efficient Multi-Authority Election Scheme.
Also borrowing a bit from this paper: Electronic Voting Schemes.
Added help from this Crypto SE answer.