Symmetric Encryption Algorithms Review
Symmetric Encryption Algorithms Review
net/publication/349324592
Article in International Journal of Communication Networks and Information Security · August 2020
CITATIONS READS
24 4,203
3 authors, including:
All content following this page was uploaded by Haneen Alabdulrazzaq on 15 February 2021.
1. Introduction
Figure2. Basic Classification of Cryptography
With the increased usage of data exchange and
In the symmetric key technique, both Encryption and
communication through the Internet, it becomes crucial to
decryption are done based on a single key called a private
secure data from cyber-attacks. Nowadays, providing data
key. It is also referred to as a secret key. A secure channel is
confidentiality and privacy has presented a significant
required for sharing this private key between the sender and
challenge for researchers and professionals in the realm of
receiver. Symmetric key cryptographic algorithms are divided
cybersecurity. Data confidentiality means protecting data
into two types based on the input data: block ciphers and
against unauthorized access or theft. It can be achieved with
stream ciphers. In block cipher-based systems, data is being
the help of cryptography through data encryption and
processed or encrypted on a fixed-length group of bits called
decryption. The aim of cryptography is to secure critical data
a block, whereas in stream cipher-based systems, data is
or documents on a hard disk, or when it is transferred
being processed on a stream of bits. Figure 3 illustrates the
through an insecure communication channel.
process of Symmetric Encryption.
Data encryption is the art of securing messages by converting
them to hidden texts, whereas the inverse process of
retrieving original texts from hidden texts is called
decryption. Encryption/decryption is made possible with the
help of some keys. Every encryption algorithm aims to make
the decryption process as difficult as possible without the
help of the key used in encryption. Figure 1 shows the
general idea of encryption and decryption. There are three
types of cryptographic techniques: symmetric key,
asymmetric key, and hashing shown in figure 2. Figure3. Symmetric Encryption
257
International Journal of Communication Networks and Information Security (IJCNIS) Vol. 12, No. 2, August 2020
Asymmetric key cryptographic systems require two keys, one Section 3 presents an overview of the inner workings of
is kept secret, and the other is a public key. Encryption is common encryption algorithms. Our performance and
accomplished with the use of a public key, whereas the secret analysis are described in Section 4. Finally, the conclusion
key is used to decrypt the encrypted text. Both of these keys is presented in Section 5, where we summarize our
are mathematically related. Although asymmetric systems findings.
provide a higher level of security, they might not be well
suited for large sized documents. This is because the speed 2. Related Work
is slow compared with symmetric key-based systems and There is a variety of encryption algorithms available to
they also record a higher rate of CPU utilization. Figure 4 provide privacy of data and confidentiality. Any encryption
illustrates the process of Asymmetric Encryption. algorithm will secure data; however, choosing an appropriate
algorithm depends on several factors such as performance
measures, system specifications, complexity, and the level of
security provided. Several researchers have evaluated the
Cipher Text
performance of various encryption algorithms using different
My Secret
65aljf54 parameters. In this section, we discuss some of the work
found in the literature.
Sender Receiver
Abood and Guirguis [1] made a comparative study of
currently available encryption algorithms like AES, DES,
Figure 4. Asymmetric Encryption TDES, DSA, RSA, ECC, EEE, and CR4 based on their
performance in security, key size, complexity and time.
The third type of cryptographic algorithms is hashing. In Based on this study, AES, BlowFish, RC4, E-DES, and
hashing, an input message is mapped into a compact fixed- TDES are the fastest algorithms in terms of encryption, time,
size bit string called a hash. Hash functions are one-way speed and flexibility. They concluded AES is the most
functions which are mathematical algorithms that map the reliable algorithm in terms of speed of Encryption, decoding
input message of arbitrary size into a fixed-size hash or complexity, key length, security, as well as flexibility.
message digest. Figure 5 presents the general concept of the Riman and Abi-Char [2] have analyzed the performance of
hash function. Hash functions are mainly used for password four block cipher algorithms such as AES, DES, 3DES, and
storage and data integrity check. The most widely used hash E- DES based on speed, block size, and key size. They
functions are: concluded that E-DES outperforms all the other three models
based on the input files and experimental results. It
encrypts/decrypts the data faster than the other algorithms
that were tested. In comparison to DES, E-DES showed an
improvement in two areas; more straightforward
implementation and more significant key and input blocks to
provide security.
Dixit et al. [3] explained the various available encryption and
decryption methods and compared them in terms of
Figure 5. Hash function general concept development, number of rounds, key length, block size,
attacks found, level of security, possible keys, time required
• Secure Hashing Algorithm(SHA)
to check all possible keys, etc. They have made a comparison
• RACE Integrity Primitives Evaluation Message Digest between traditional as well as hybrid encryption techniques
(RIPEMD) such as DSA-RSA, AES-RC4, RC4-AES-SERPENT,
• Message Digest Algorithm (MD) SERPENT-RC4, and AES-ECC. They concluded that AES-
ECC reduced time and space complexity and DSA-RSA
• Whirlpool hybrid algorithm had better performance and throughput.
Digital signatures are mathematical techniques or algorithms Bhanot and Hans [4] compared and analyzed different data
that are used to validate the authenticity and integrity of encryption algorithms in both symmetric and asymmetric
information or messages such as an email, a credit card categories, to find the best performing algorithm. They
transaction, or a digital document. It acts like an electronic compared the algorithms based on development, key length,
fingerprint to uniquely identify users and to protect user number of rounds needed for encryption and decryption,
data. Using a digital signature ensures that a message or block size, various types of attacks found, level of security,
document was not modified from the time it was signed. It is and encryption speed. In their study, they observed that the
done by applying hashing to the document or message and strength of each algorithm could be determined by key
then encrypting the document with the sender’s secret key. management, type of cryptography, number of keys, number
Digital signatures use Public Key Infrastructure (PKI) to of bits used in a key, etc. They have concluded that BlowFish
strengthen security. PKI represents the policies and standards and ECC had better performance results. They also stated
which support the distribution of public keys and the identity that there was no successful attack reported on BlowFish at
validation of individuals or entities with digital certificates. the time, whereas ECC has been successfully attacked.
The remainder of this paper is organized as follows: Wahid et al. [5] performed an analysis of various encryption
Section 2 shows the related work conducted by various algorithms such as DES, 3DES, AES, RSA, and BlowFish,
researchers in comparing different encryption algorithms. based on their performance, weaknesses, and strengths. In
258
International Journal of Communication Networks and Information Security (IJCNIS) Vol. 12, No. 2, August 2020
their study, they concluded that BlowFish is better in terms security, flexibility, memory usage, as well as performance.
of memory usage, time, and mitigation of attacks. However, Marwaha et al. [12] analyzed DES, Triple DES, and RSA
if confidentiality and integrity are the main concerns, then based on level of security, time taken for
AES becomes the better choice. encryption/decryption, and throughput. The performance of
Kaur and Mahajan [6] have conducted a comparison of the algorithms varies with different input sizes. They
symmetric key algorithms on both a local system and a cloud summarized that the speed and throughput of DES are better
system. For the two systems, they implemented four than that of 3DES. Moreover, DES showed less power than
symmetric key algorithms: AES, DES, BlowFish, and 3DES and RSA. 3DES provided more confidentiality and
DESede. The local implementation was done using Java on scalability overall, but in comparison to DES and RSA; it
eclipse and the cloud implementation used eclipse-SDK and consumed more power with less throughput.
Google App Engine. Their evaluation used input lengths of Nadeem and Javed [13] implemented and compared DES,
10KB, 13KB, 39 KB, and 56 KB. They found that the speed- 3DES, AES, and BlowFish using Java and evaluated their
up ratio of DES and BlowFish reflected a small change with performance based on varying input types and sizes,
an increase in input size, whereas, for AES, it decreases. execution speeds, and different hardware platforms. Based on
They noted that DESede was more time consuming and their comparison, BlowFish had better performance than the
BlowFish was the lowest in terms of time consumption. rest. They ranked these algorithms based on execution time:
Their conclusion states that performance-wise, BlowFish, BlowFish (fastest), DES, AES, Triple DES (slowest). The
AES, and DES are the better algorithms and AES execution speed of the block cipher based algorithms
demonstrated high security with the least time consumption. increased when increasing the size of blocks and decreasing
Hendi et al. [7] devised a light weight cryptosystem referred the size of the key. However, in stream cipher algorithms,
to as Simple and Highly Secure Encryption Decryption speed decreases when increasing the block size. They also
algorithm (SHSED) for data storage on cloud computing. concluded that the security provided by an algorithm
Their system is based on the IDEA encryption algorithm and increases with the number of encryption rounds, although it
its performance was compared against AES, DES, and LED. slowed down the speed of an algorithm.
The proposed algorithm performed better than AES and Sun [14] presented a recent survey on most privacy
LED, however, its performance was slightly slower than protection techniques proposed in the literature for cloud
DES. systems. The work organizes different techniques available
Tyagi and Ganpati [8] conducted a theoretical study of four in the literature for cloud systems. The survey found several
popular symmetric algorithms, such as DES, 3DES, AES, techniques that fall under Attribute-based Encryption (ABE),
and BlowFish. They compared these algorithms based on Key Policy Attribute-based Encryption (KP-ABE), (KP-
various factors like speed, block size, security against ABE), Ciphertext Policy Attribute-based Encryption (CP-
attacks, confidentiality, throughput, power consumption, key ABE) and many other techniques. The survey highlights
size, etc. Based on their study, BlowFish had better current challenges related to several proposed protection
performance when considering encryption time, decryption technologies for the cloud. The main challenges listed are:
time, and throughput. They also concluded that 3DES was Trust, Access Control, and Encryption. Therefore, encryption
the lowest in terms of performance. for cloud-based systems remains as a current challenge for
Princy [9] analyzed various symmetric key algorithms such researchers.
as AES, DES, 3DES, BlowFish, RC4, and RC6 with regards
to security, performance, processing time, and number of 3. Common Encryption Algorithms
rounds. The results showed that BlowFish delivered more There are many encryption methods being used in
privacy and security in data transmission over an unsafe cryptography. In this section, we detail some common
channel when increasing its key size from 128 to 448. encryption algorithms based on both stream and block
Mathur and Kesarwani [10] made a comparison of ciphers as well as explain the different modes of block
performance between DES, 3DES, AES, RC2, RC6, and cipher-based encryption.
BlowFish. They evaluated the performance of these
algorithms based on key length, encoding method, data type, 3.1 Caesar
and packet size. They found that the encoding methods do Caesar cipher [15], [16] is one of the most straightforward
not influence the encryption or decryption processes of these symmetric block cipher encryption schemes; therefore, it is
algorithms. BlowFish outperformed all the other algorithms easy to break. The Roman ruler Julius Caesar created and
when the packet size was changed. Moreover, they showed used this encryption scheme to send military orders to his
that RC2 had low performance and throughput in comparison legions. It is a substitution cipher where encryption and
to the other algorithms. RC2, RC6, and BlowFish faced a decryption keys are the same. The keys used in this scheme
significant disadvantage over the other algorithms when the are integers and the most commonly used integer, is 3. In this
data type of input changed from text to image. They also encryption technique, each alphabet is shifted right or left by
concluded that higher key length would influence both power a key-value, as shown in figure 6 (with key=3).
and time consumption.
Nema and Rizvi [11] analyzed DES, 3DES, AES, BlowFish,
Twofish, Threefish, RC2, RC4, RC5, and RC6 based on
throughput, scalability, security, memory usage, power
consumption, speed, and flexibility. Their results show that
BlowFish was the most efficient algorithm in terms of
259
International Journal of Communication Networks and Information Security (IJCNIS) Vol. 12, No. 2, August 2020
The entire working of RC4 is done in 2 phases: keystream private and public keys as follows. Let the two prime
generation and actual encryption. The encryption key is numbers be p and q; it calculates n as the product of p and
generated by using state array and key. It performs several q and ψ (n) = (p – 1) (q – 1). Then the algorithm chooses
mixing operations, and each consists of swapping and e as 1 < e < ψ(n)), where e and n are co-prime. Once e is
modulo operations. selected, the algorithm calculates a value for d as (d e)
3.11 Rivest Cipher 5 (RC5) %ψ (n) = 1. The resultant private key is (d, n), and the
public key is (e, n). Encryption and decryption are done
RC5 [24] is also a symmetric key block cipher. It encrypts
using equations 1 and 2, respectively.
the data as block sizes of 32, 64, or 128 bits, but the more
suitable size is 64 bits. The key length of RC5 ranges from 𝐶 = 𝑀ℯ (𝑚𝑜𝑑 𝑛) (1)
0 to 2040 bits, 128 bits is the most suggested one. RC5 can
be implemented in both software and hardware since it 𝑀 = 𝐶 𝑑 (𝑚𝑜𝑑 𝑛) (2)
performs only simple operations that can be performed by a
microprocessor. The entire process of RC5 is depicted in 3.14 Modes of Block Cipher based Encryption
figure 14 [24]. When the same key is used for encrypting multiple blocks of
It uses two 32 bit registers A and B to store plain as well as data, intruders can easily break the message. To overcome
ciphertexts; initialized with plaintext and after encryption, it this issue, we need to avoid creating an identical ciphertext
is replaced with the ciphertext. It can take any rounds 1-255 block from the identical plain text by giving an additional
to perform encryption (usually, it takes 12 rounds). input to each block of encryption, which is the mixture of
plain text and ciphertext from the previous block. This idea
is called block cipher modes of operation [25]–[27]. Multiple
encryption modes are used when we are encrypting a large
stream of data using block cipher based methods without
affecting its security. Each mode has its pros and cons. The
encryption modes widely used are: Electronic Code Book
(ECB), Cipher Block Chaining (CBC), Propagating or
Plaintext Cipher Block Chaining (PCBC), Cipher Feedback
(CFB), Output Feedback (OFB) and Counter (CTR).
1) ECB: In ECB [28], each block is encrypted and
decrypted separately, as shown in figure 15.
Furthermore, the percentage of CPU usage is calculated for different file sizes, are listed in table 4. The CPU utilization
each encryption algorithm. Encryption time is considered to rate is closely coupled with the system specifications and
be an essential metric in evaluating any encryption setup at hand. The same algorithms being tested might
algorithm. Based on [35], the throughput can be calculated produce different results on other systems than the results
using equation 3. observed here.
𝑐
To summarize our findings, RC4, RC6, and AES algorithms,
𝑇ℎ𝑟𝑜𝑢𝑔ℎ𝑝𝑢𝑡 = (3) have produced better results compared with their
𝑡
counterparts. However, these results should not be taken at
where c represents the total encrypted plaintext in bytes and t
face value. There are many factors that come into play when
represents the encryption time. The input parameters are
choosing an appropriate encryption algorithm to implement.
standardized for all encryption algorithms to ensure fairness
One such factor is the level of security needed for the data.
in the conducted comparison. To reduce the variance in the
Highly classified or confidential data require a higher level of
results, we have adopted using an average of 10 runs for each
security to be implemented and therefore a more complex
algorithm’s results. Table 2 shows the parameters of the
encryption algorithm might be favorable despite the
system that were used in the simulation.
execution time it takes. Another factor to consider is whether
4.2 Results and Discussion the encryption will take place at the file level or the
The performance measures that were tested in our simulation application level. The performance of an encryption
are: execution time, throughput, and CPU utilization, for the algorithm at the application level will produce larger
encryption algorithms listed in section 4.1. Table 3 shows the overhead in terms of performance. Therefore, choosing an
results of execution time and throughput. The results of CPU encryption algorithm based on the system setup and
utilization rate are presented in table 4. Figures 21 to 25 specifications at hand become vital. Applications that are
illustrate the encryption time, throughput, and CPU usage for executed in real-time might favor encryption speed over
the encryption algorithms under consideration at different complexity. Furthermore, some encryption algorithms have
input sizes 1GB, 500MB, 100MB, 10MB, and 1MB, been considered vulnerable against different types of attacks,
respectively. therefore, striking a balance between the factors being
The simulation results for encryption time in table 3 reflect considered when selecting an encryption algorithm for
the speed of the encryption algorithms that were tested. The implementation, becomes essential.
algorithm that takes the least amount of time to encrypt a plain
text file is considered the fastest. The results for execution
5. Conclusion
time illustrated in figures 21(a) to 25(a) show that the RC4, Encryption algorithms play a pivotal role in providing
RC6, and AES are the fastest algorithms to produce security in today’s digital exchange of data. There are
encrypted data. RC4 and RC6 have previously been known various ways to compare encryption algorithms and
to be vulnerable to attacks, while AES has withheld its level demonstrate both their strengths and weaknesses. In order to
of security, as it has been approved by the US National choose an appropriate encryption algorithm, users can
Institute of Standards and Technology (US-NIST). consider different factors such as speed, throughput,
Therefore, to ensure security of encrypted data, AES seems complexity, CPU utilization, security level, etc. In this paper,
to be the better choice. DESede was the slowest in terms of we provided an overview of several encryption algorithms
execution time; however, it does perform DES encryption detailing the inner workings of each one. Furthermore, we
thrice. Therefore, if time is not a concern, it can be a suitable compared and analyzed the results produced by ten
candidate to consider for highly confidential data. All encryption algorithms: AES, BlowFish, DES, DESede,
encryption algorithms that were tested demonstrated a SEED, IDEA, RC2, RC4, RC6, SEED, and XTEA in terms
proportional increase in execution time when linked with the of encryption time, throughput, and CPU utilization.
increase in the file sizes being tested. Simulation of these algorithms was performed at different
An increase in throughput indicates less power consumption plaintext file sizes such as 1GB, 500MB, 100MB, 10MB, and
by an encryption algorithm. The results for throughput are 1MB. From our results, we observed that RC4, RC6 and AES
illustrated in figures 21(b) to 25(b). The encryption have produced the best results in terms of encryption time
algorithms, arranged in decreasing order of throughput value and throughput. We have determined that AES is the better
are: RC4, RC6, AES, BlowFish, SEED, DES, IDEA, candidate for its performance as well as the level of security
XTEA, RC2, and DESede. It should be emphasized that it provides. Our results are reflected only for the chosen
choosing an appropriate encryption algorithm takes many parameters in our experimental setup. It should be noted,
factors into account. Weighing the factors against each other when selecting an appropriate encryption algorithm, factors
can help in choosing an adequate algorithm. Since RC4 and other than performance measures must be considered. A
RC6 algorithms have been compromised before; AES would good encryption algorithm provides a balance between the
be a better fit when taking into account all the factors being reported performance measures, the required level of
considered. security, and the nature of the data or application being
The percentage of CPU utilization of the encryption encrypted.
algorithms for the different file sizes tested are shown in
figures 21(c) to 25(c). For the most part, all the values are References
comparable, with minimal variances detected. However, [1] O. G. Abood and S. K. Guirguis, “A survey on
distinct differences are found in CPU utilization for file size cryptography algorithms,” International Journal of
1GB. The CPU utilization rates of all the tested algorithms, at Scientific and Research Publications, vol. 8, no. 7, pp.
265
International Journal of Communication Networks and Information Security (IJCNIS) Vol. 12, No. 2, August 2020
Algorithm Algorithm
Encryption Algorithm
Figure 21. (a) Time, (b) Throughput and (c) CPU usage for different encryption algorithm with a file size: 1GB
268
International Journal of Communication Networks and Information Security (IJCNIS) Vol. 12, No. 2, August 2020
Algorithm Algorithm
Encryption Algorithm
Figure 22. (a) Time, (b) Throughput and (c) CPU usage for different encryption algorithm with a file size: 500MB
269
International Journal of Communication Networks and Information Security (IJCNIS) Vol. 12, No. 2, August 2020
Algorithm Algorithm
Encryption Algorithm
Figure 23. (a) Time, (b) Throughput and (c) CPU usage for different encryption algorithm with a file size:100MB
270
International Journal of Communication Networks and Information Security (IJCNIS) Vol. 12, No. 2, August 2020
Algorithm Algorithm
Encryption Algorithm
Figure 24. (a) Time, (b) Throughput and (c) CPU usage for different encryption algorithm with a file size: 10MB
271
International Journal of Communication Networks and Information Security (IJCNIS) Vol. 12, No. 2, August 2020
Algorithm Algorithm
Encryption Algorithm
Figure 25. (a) Time, (b) Throughput and (c) CPU usage for different encryption algorithm with a file size:1M
272
International Journal of Communication Networks and Information Security (IJCNIS) Vol. 12, No. 2, August 2020