With the growth of data stored in cloud, data may become the target of attackers in the Internet. Therefore, the end users require high confidentiality, integrity and authentication in order to protect their data in cloud. In this paper, we aim at a comprehensive studying about the data security in cloud computing. The paper will discuss the details of cloud computing data security challenges and find out which are the most important challenges as well as the efficient solutions. The existing authentication and encryption algorithms are compared in terms of users' scenarios, outstanding features and the limitation. We also review the advantages and drawbacks of the algorithms for data security in terms of cloud computing services.