Input two numbers to add them (Distributed and Encrypted)

Addition is done by encrypting the numbers and then sending them to a centralized server. The centralized server then redistributes the two numbers to peers, who add them. The peers send the result back to the server, who sends it back to your computer, and your computer decrypts it. However, the numbers are never decrypted by the server or the peers. These peers have added two numbers together without even knowing what they are. This is done using a mathematical construction known as the Paillier Cryptosystem.

The Paillier Cryptosystem only allows for the addition of numbers, it supports what is known as Partially Homomorphic Encryption scheme. Recently (2009), Craig Gentry constructed a Fully Homomorphic Encryption scheme (FHE), permitting both the addition and multiplication of numbers. FHE is not used here due to practical considerations. FHE could have a potentially enormous impact for cloud computing firms and privacy advocates. Readers interested in current implementations of FHE are directed to HElib (sadly incomplete).

Like this? Consider donating Bitcoin: 133VB1bfTsdEKp6ovyUTrXRfH4HgNxBdQQ