Confidential and end-to-end verifiable voting