We fully review homomorphic encryption schemes systematically. Homomorphic encryption permits arbitrary calculations on encrypted data and therefore keeps many applications. With many others, an important one is to work for as a key method to solve security and privacy concerns in cloud computing, where users delegate their informations in an encrypted form to cloud service, suppliers, including at the same moment wish that the clouds could help keep their data, i.e. taking out some in a way computing on their encrypted data. Here, we provide some inspirations why people are affected about such plans. Then, we systematically done what a homomorphic encryption scheme is. Understanding this, we prove a secure public-key homomorphic encryption plan can be constructed from any secure private-key homomorphic encryption scheme. Slowly, we give a easy working example that indicates a proof-of-concept formation of such a scheme based on integers. Thi formation is easy to know and the security is founded on the approximate largest common divisor problem. Understanding this, we perform a fundamental review on many fully homomorphic encryption schemes proposed in occurring recently years, additionally as the mathematical grounds. On lattices underlying these constructions. We also review typical applications of homomorphic encryption in variable computing outsourcing, private information retrieval, zero-knowledge proof system and secure multiparty computation protocols.