benadida / helios-server

Helios server
http://heliosvoting.org
Apache License 2.0
711 stars 341 forks source link

homomorphic encryption #352

Open AlZotova opened 2 years ago

AlZotova commented 2 years ago

Hello, please tell me how homomorphic encryption works in this system. At what point is the information encrypted and how does the decryption take place

BenSmyth commented 2 years ago

I've written extensively about Helios (https://bensmyth.com/publications.php) in works such as:

Ben Smyth (2021) Ballot secrecy: Security definition, sufficient conditions, and analysis of Helios. Journal of Computer Security, 29(6), https://bensmyth.com/publications/2015-ballot-secrecy/

There's a high-level description of encryption, homomorphically combining ciphertexts, and decryption in Sidebar 2 (p14). In Definition 23, more technical details are provided, including a description of ballot construction where votes are encrypted (p41) and tallying where ballots are homomorphically combined and decrypted (p42).

For sourcecode, see https://github.com/benadida/helios-server/blob/master/helios/crypto/algs.py

nealmcb commented 2 years ago

Thanks, good info @BenSmyth! I think we can close this now.