Abstract
This first lecture on secure computing introduced two approaches to computing over private data without revealing it to the operators of the computation: homomorphic encryption, which enables certain computations to be performed over encrypted data and equally encrypted results to be produced, without giving the decryption keys to the computation; and secure multiparty computing, in which several participants cooperate to compute a function of their private data, without ever revealing this data to the other participants. These two approaches will be explored in greater depth later in the lecture.
To complete this first lecture, we have studied three examples of the use of these techniques. The first case study is multi-party averaging, enabling a group of friends, for example, to determine their average salary without each revealing his or her salary to the others. The second case study concerns the counting of a simplified electronic vote, using homomorphic encryption to totalize votes without having to decrypt individual ballots, as well as zero-knowledge disclosure proofs to ensure that votes are properly formed without having to disclose them. The third case study concerns the bipartite computation of the intersection of two private sets, an algorithm that enables, for example, the discovery of contacts on a social network without revealing personal data.