The document discusses homomorphic encryption, which allows computations to be performed on encrypted data and obtain an encrypted result without decrypting the inputs. It provides examples of partially homomorphic encryption schemes like RSA that allow only addition or multiplication, and fully homomorphic encryption introduced by Craig Gentry in 2009 that allows any computation. The document also discusses applications of homomorphic encryption like secure cloud computing and processing of sensitive encrypted medical records. It summarizes Craig Gentry's homomorphic encryption scheme and the HELib software library implementation.