International Journal of Computer Applications (0975 – 8887) Volume 182 – No. 48, April 2019 7 A Comparative Analysis of Symmetric Algorithms in Cloud Computing: A Survey Enas Elgeldawi Computer Science Department Faculty of Science Minia University, Egypt Maha Mahrous Computer Science Department Minia University Minia, Egypt Awny Sayed Computer Science Department Faculty of Science Minia University, Egypt ABSTRACT Introducing Cloud computing to the globe has changed many conceptual and infrastructural bases for today’s and tomorrow’s computing. It has made the global thinking migrates rapidly towards cloud based architecture. Clouds bring out a variety of benefits including computing resources configurability, cost controllability, sustainability, mobility and service flexibility. However, the new concepts that clouds introduce such as outsourcing, multi-tenancy, and resource sharing create new challenges and raise a broad range of security and privacy issues. Cryptography is the art-of-science of protecting data privacy by converting it to unreadable format using standard mathematical techniques. This paper provides a comprehensive study for eight of the most common symmetric cryptographic algorithms, namely, DES, 3DES, Blowfish, Twofish, RC2, RC5, RC6 and AES. A comparative analysis based on the structure of the algorithm, encryption and decryption times, throughput and memory utilization has been performed to examine the performance of each algorithm. General Terms Cloud Computing, Cryptography, Symmetric Algorithm Keywords Cloud Computing, DES, 3DES, Blowfish, Twofish, RC2, RC5, RC6, AES 1. INTRODUCTION Cloud computing is the delivery of computing services over the Internet. When you share your latest news with your friends over Facebook, or upload your photos to Instagram, you are using “Cloud Computing”. Instead of storing data on your local system or downloading applications you need, you use a service over the Internet at another location, to store your information or use its applications. The cloud computing model allows individuals and organizations to use software and hardware that are managed by a third party at remote locations to access information and to use a shared pool of resources. Cloud Computing has been defined by the National Institute of Standards and Technology (NIST) [1] as: “Cloud computing is a model for enabling convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, servers, storage, applications, and services) that can be rapidly provisioned and released with minimal management effort or service provider interaction.” With the introduction of numerous cloud based services, the possibility that sensitive information stored in remote servers could be exposed to unwanted parties is compromised. If security is not consistent and robust enough, the advantages that cloud computing has to offer will have questionable credibility.Cryptography is the key concept used to handle data security concerns in cloud computing. Cryptography is to convert data into unreadable form during storage and transmission. The unreadable form of data is known as cipher text. When data is received, the cipher text is converted back into its original form which is known as plain text. Conversion of plain text to cipher text is known as encryption and the reverse process is known as decryption. Encryption takes place at sender’s end whereas decryption takes place at receiver’s end. In section 2, we frame the way cryptographic algorithms is classified. Section 3, explains Feistel network which is the major scheme most symmetric ciphers are based on. A detailed study for each algorithm is given in Section 4. Computational analysis is discussed in Section 5. And finally the conclusion key notes are presented in Section 6. 2. CLASSIFICATION OF CRYPTOGRAPHIC ALGORITHMS Cryptography is the art of science of using mathematical techniques to convert plain text (P) into an unreadable cipher text (C) according to some encryption algorithm that uses a numeric or alpha numeric parameter called key (K1). and similarly, reconvert the cipher text back to plain text via a decryption algorithm which uses a decryption key (K2). This can be interpreted as Cipher text C = E (P, K1) and Plain text P = D (C, K2). This is indicated by Figure 1. Figure 1: Encryption and Decryption Processes There are many Cryptographic algorithms in use for cloud computing, they can be classified as follows: 2.1 Symmetric Algorithms Symmetric Algorithms (also known as secret key algorithm) use a single key for both encryption and decryption, this key is known to both the sender and receiver. Symmetric algorithms can be subdivided into: Block Cipher and Stream Cipher. The major difference between block cipher and stream cipher is that block cipher takes a message and break it into a fixed size of blocks and converts one block of the message at a time [2]. On the other hand, a stream cipher algorithm typically encrypts and decrypts the text by converting one byte of the text at a time. Sender Receiver C = E(P, K1) P = D(C, K2) Transmission line Encryption Decryption