0% found this document useful (0 votes)
15 views18 pages

Symmetric Encryption Algorithms Review

Uploaded by

Saniya Rahma
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
15 views18 pages

Symmetric Encryption Algorithms Review

Uploaded by

Saniya Rahma
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

See discussions, stats, and author profiles for this publication at: [Link]

net/publication/349324592

Symmetric Encryption Algorithms: Review and Evaluation study

Article in International Journal of Communication Networks and Information Security · August 2020

CITATIONS READS

24 4,203

3 authors, including:

Mohammed N. Alenezi Haneen Alabdulrazzaq


Public Authority for Applied Education and Training Public Authority for Applied Education and Training
18 PUBLICATIONS 269 CITATIONS 10 PUBLICATIONS 179 CITATIONS

SEE PROFILE SEE PROFILE

All content following this page was uploaded by Haneen Alabdulrazzaq on 15 February 2021.

The user has requested enhancement of the downloaded file.


256
International Journal of Communication Networks and Information Security (IJCNIS) Vol. 12, No. 2, August 2020

Symmetric Encryption Algorithms: Review and


Evaluation study
Mohammed N. Alenezi 1, Haneen Alabdulrazzaq1, and Nada Q. Mohammad1
1
Computer Science & Information Systems Department, Public Authority for Applied Education & Training, Kuwait

Abstract: The increased exchange of data over the Internet in the


past two decades has brought data security and confidentiality to the
fore front. Information security can be achieved by implementing
encryption and decryption algorithms to ensure data remains secure Cipher Text
and confidential, especially when transmitted over an insecure
65aljf54
communication channel. Encryption is the method of coding
information to prevent unauthorized access and ensure data Sender Receiver
integrity and confidentiality, whereas the reverse process is known
as decryption. All encryption algorithms aim to secure data;
however, their performance varies according to several factors such Figure1. General Idea of Encryption and Decryption
as file size, type, complexity, and platform used. Furthermore,
while some encryption algorithms outperform others, they have
been proven to be vulnerable to specific attacks. In this paper, we
present a general overview of common encryption algorithms and
explain their inner workings. Additionally, we select ten different
symmetric encryption algorithms and conduct a simulation in Java
to test their performance. The algorithms we compare are AES,
BlowFish, RC2, RC4, RC6, DES, DESede, SEED, XTEA, and
IDEA. We present the results of our simulation in terms of
encryption speed, throughput, and CPU utilization rate for various
file sizes ranging from 1MB to 1GB. We further analyze our results
for all measures that have been tested, taking into account the level
of security they provide.
Keywords: Information security, Encryption, Decryption,
Cryptography, Symmetric, Block-Cipher, Hashing.

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

Figure 6. Shifting method in Caesar Encryption


3.2 Data Encryption Standard(DES)
DES [16], [17] is one of the basic symmetric key block
cipher algorithms which takes plain texts as blocks each one
carrying 64 bits and converts ciphertexts using keys of 64
bits. Out of these 64 bits, 8 bits of the key are used for odd
parity which will not count in key length. Therefore there
exist 256 possible ways to find the correct key. The DES
algorithm performs two permutations (initial permutation and
final permutation) and 16 processing steps, each of which is
called a round, and for each round, a different key is used.
DES is based on two cryptographic operations: substitution
and transposition. In each round of DES, some substitutions
and transpositions are performed. Before starting the first
round, an initial permutation is applied to the plain text. For
example, an initial permutation replaces the first bit of the
plain text with the 58th bit, and the second with the 50th bit,
and so on. The resultant permuted block is divided into two
halves, both having 32 bits and each one is going through
16 rounds of encryption processes. The final permutation is Figure7. The process of DES Algorithm
applied to the combined block to get the ciphertext. DES has 3.4 Advanced Encryption Standard (AES)
been reported vulnerable and as such was replaced with Advanced Encryption Standard (AES) [16], [20] is a block
3DES [18]. The overall working of DES is explained in cipher algorithm that came as a replacement for DES and
figure 7 [16], [17]. There are three modes of operation for Triple DES. It encrypts and decrypts a 128-bit block of
DES. They are ECB, CBC, and CFB. We explain these data. Based on the choice of key size, 128 bits, 196 bits, or
modes in detail in Section 3.14. 256 bits, AES can take 10, 12, or 14 rounds for encryption.
3.3 Triple Data Encryption Standard(3DES) Each round consists of four operations: substitute bytes, shift
Triple-DES [19] is a block cipher encryption algorithm. As keys, mix column and add round key. However, mix column
its name indicates, 3DES applies DES three times to each operation is not performed in the last round. Separate round
data block to enhance the security of the encrypted data. keys generated from the given cipher key are used in each
Since the security of 3DES is three times better than that of round of encryption. Data to be encrypted is divided into
DES, it is now considered more preferable than DES. blocks. Each block is represented as an array of data which is
However, it does consume a considerable amount of time in known as a state array. AES is not vulnerable like DES
comparison with its predecessor. and is also known to provide a good level of security [18].
3DES works in the same way as DES, in a loop with length The encryption process of AES is shown in figure 8 [16],
3. Initially, the original plain text is encrypted with one key, [20].
the resulting ciphertext is again encrypted using another
key, and finally, it is performed again with a third key. The
four modes of operation for Triple DES are shown in table 1.
260
International Journal of Communication Networks and Information Security (IJCNIS) Vol. 12, No. 2, August 2020

software. Twofish encrypts the documents of 128-bit block


size with key sizes of 128, 198, or 256 bits in 16 rounds of
encryption. The building blocks of Twofish are shown in
figure 10 [21].

Figure 8. Encryption Process of AES


Figure 10. The building blocks of Twofish
3.5 BlowFish
The actual processing of each round of Twofish starts and
BlowFish is a block cipher-based encryption algorithm
ends with pre-whitening and post-whitening (meaning text
whose key length varies from 32-bits to 448-bits. Each block
blocks are XORed with additional subkeys), respectively.
handles 64-bits of data [16], [21]. BlowFish encrypts the data
Two 32-bit words are given as input to function F, which is
through 16 rounds of operations. At each round, data under-
split into four bytes and sent to four different key-dependent
goes a key-dependent permutation in P-block and
S- blocks. The outputs of these four S-blocks are combined
substitution in S-block. Each S-block carries 32-bits of data.
with the help of a Maximum Distance Separable (MDS)
Figure 9 shows the BlowFish function F, which splits 32-bit
matrix to form a 32-bit word. Then these two 32-bit words
data into four quarters; each carrying 8-bits [16], [21]. These
are combined by using a Pseudo Hadamard Transform
quarters would be the inputs for the S-block. In S-blocks,
(PHT), two round subkeys are added, and then the right half
XOR and Modulo 232 operations are performed to get the
of the text is XORed with it. Before and after the XOR
final encrypted data. The reverse process is done to decrypt
operation, a 1-bit rotation is performed. After repeating
the data.
these rounds 16 times, the last swap is reversed, and an XOR
operation is performed between four keywords with another
four keywords to get the final encrypted text.
3.7 Threefish
Threefish [16], [17], [21] is a tweak-able block cipher based
encryption standard that takes three inputs: a key, a tweak,
and plain text, to be encrypted. Threefish uses the same
length key as the data block size for encrypting a block of
data. This encryption method is used for data blocks of size
256, 512, and 1024 bits. Threefish scheme produces
encrypted data by repeating the same sequence of operations
Figure 9. BlowFish function F 72 times (or rounds) except for 1024-bit block of data, which
3.6 Twofish takes 80 rounds. A 128-bit tweak value is used for all of
Twofish [16], [20], [21] is also a block cipher based these data block sizes. Operations of Threefish encryption
symmetric encryption system that works in a similar manner standards are of three types: addition, XOR, and rotations.
to BlowFish. Unlike BlowFish however, Twofish is Threefish is also free to users since it is an unpatented and
considered to be flexible. Twofish allows users to customize license-free encryption standard. Figure 11 shows in detail
encryption speed, key setup time, code size and works fast in how each round of Threefish-256 works [22].
an 8-bit CPU as well as in smart cards, embedded chips, etc.
It is freely available to use as it is un-patented, license-free
261
International Journal of Communication Networks and Information Security (IJCNIS) Vol. 12, No. 2, August 2020

3.9 Rivest Cipher 2(RC2)


RC2 [16], [24] is a symmetric block cipher, also known as
ARC2. It handles data blocks of 8 bytes (64-bits), and each
data block is divided into four words each of size 2 bytes
(16- bits), represented as R[0], R[1], R[2], R[3]. The entire
process of encryption and decryption is done on this array as
input and output are also stored in the same array. RC2 uses a
key of variable length - from a byte to 128-bytes. After
accepting a key value to RC2, it expands this key value to
get new 128 key bytes to use in both encryption and
decryption. RC2 also accepts another value as input, called
key bit limit, to identify maximum adequate key size,
represented in bits. RC2 has a heterogeneous round structure
with two mashing rounds and 16 mixing rounds. RC2 is
mainly based on four operations: AND, NOT, XOR, and
modular addition.
Every 64-bit data block is encrypted using 64 words of the
expanded key. Each mixing or mashing operation consists of
4 mixing or four mashing operations, respectively.
3.10 Rivest Cipher 4(RC4)
RC4 [16], [24] is a symmetric stream cipher algorithm in
which each character is encrypted one at a time, commonly
Figure 11. One round of Threefish-256
used in wireless routers. The key length of RC4 varies
3.8 International Data Encryption Algorithm (IDEA) from 40 to 2048-bits. To get a more robust encrypted text,
IDEA [23] is a block cipher encryption algorithm that 16-byte keys are preferred. Data blocks are XORed with
processes 64-bit data blocks with the help of a 128-bit key. keystream bytes one by one to encrypt the data. The working
This 64-bit data block is divided into four equal sub-blocks, of RC4 is mainly relayed on the creation of keystream bytes,
each of size 16 bits. Each of these sub-blocks undergoes which is entirely independent of plain text.
eight rounds of repeated sequences of operations and one The overall working of encryption using RC4 is depicted in
output transformation phase. For each round of operation, figure 13 [16]. An S-block of size 8*8 (whose entries are
this system needs six unique keys, which are all generated permutations of numbers from 0 to 255) and a state table
from the 128- bit original key. The output of each round is of 256 bytes long (initialized with variable length key from 1
given as the input to the next round except in the eighth to 256 bytes) are generated as an initial step of RC4. This
round. The output of the eighth round is given to the output state table is used for the creation of pseudo-random bytes
transformation phase, which performs only arithmetic and pseudo-random stream. The plaintext is XORed with this
operations, and it needs four keys. The output transformation generated pseudo-random stream to get ciphertext.
phase produces the final cipher key. The entire process of
encryption needs 52 keys. The process of IDEA is depicted
in figure 12 [23].

Figure 12. The Process of IDEA Encryption Algorithm


Figure 13. RC4 Encryption Algorithm
262
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.

Figure 14. RC5 Encryption Algorithm


3.12 Rivest Cipher 6(RC6)
RC6 [24] is a block cipher similar to RC5, which uses all
operations that RC5 uses in addition to multiplication. It
performs encryption in 20 rounds of subsequent operations.
RC5 and RC6 are parameterized algorithms. RC6 is
represented as RC6w/r/b; where w is word size in bits, r is Figure 15. Encryption and Decryption in ECB mode
the number of rounds to complete the encryption process,
and b i s the size of the encryption key in bytes. The basic 2) CBC: In CBC mode [25], each plaintext block is
operations of RC6 are addition, subtraction, XOR, XORed with a previously created ciphertext block. Due to
multiplication, left rotation, and right rotation. this chaining, each ciphertext block depends on its previous
In comparison with other algorithms, the variants in the block. The first block is XORed with a random initialization
family of RC encryption algorithms were proven to be vector that has the same length as the plaintext block. Figure
vulnerable against certain types of attacks. 16 explains encryption and decryption using CBC mode. In
3.13 Rivest-Shamir-Adleman Algorithm(RSA) this mode, we cannot recover the plain text from ciphertext if
RSA is a widely used asymmetric or public key- based a single-bit transmission error in plaintext occurs. However,
cryptosystem. RSA is considered to be one of the secure if a single bit error occurred in ciphertext, it will not affect
encryption algorithms used [18]. It encrypts the data in the entire text; it will damage only two plaintext blocks.
one particular round. It is a block cipher that uses two
different keys for encryption and decryption. The security
of RSA depends on the factoring problem, which is the
practical difficulty in factoring the product of two prime
numbers. Anyone with good knowledge of prime numbers
is able to decrypt the data. RSA algorithm creates both
263
International Journal of Communication Networks and Information Security (IJCNIS) Vol. 12, No. 2, August 2020

error in this mode will damage the corresponding plain or


ciphertext bit only. Figure 19 shows the encryption and
decryption in OFB mode.

Figure 16. Encryption and Decryption in CBC mode

3) PCBC: PCBC [29] is similar to CBC mode. It mixes


plaintext and ciphertext blocks of the previous block with the
plaintext of the current block. Here, a single-bit transmission
error will affect the entire decryption, and the plaintext Figure 19. Encryption and Decryption in OFB mode
cannot be recovered. The way PCBC mode works is shown 6) CTR: CTR [32] works in a similar manner to a stream
in figure 17. cipher. It uses additional input for encrypting the plaintext;
this additional input is created by adding an increasing
counter with a nonce value (means number used once).
Figure 20 shows encryption and decryption in CTR mode.

Figure 17. Encryption and Decryption in PCBC mode


4) CFB: In CFB mode [30], the ciphertext data from the
previous block is encrypted first and then added to the
plaintext of the current block. It uses the same encryption
procedure for both encryption and decryption depicted in
figure 18. A single-bit transmission error in plaintext block
will damage all the subsequent ciphertexts, but single-bit
errors in ciphertexts affect only two subsequent blocks.
Figure 20. Encryption and Decryption in CTR mode
4. Performance and Analysis
4.1 Simulation and System Setup
In order to evaluate and compare the performance of the
presented encryption algorithms, a simulation in Java
programming language is created. Java by default offers Java
Cryptography Extension (JCE) [33] to support encryption.
However, not all the encryption algorithms are available
within JCE. To facilitate testing other encryption algorithms
not included in JCE, we incorporated the use of Bouncy
Castle [34] which offers a wide range of encryption
algorithms. The algorithms tested in our simulation are
AES, BlowFish, RC2, RC4, RC6, DES, DESede, SEED,
XTEA, and IDEA. The block cipher mode selected in our
Figure 18. Encryption and Decryption in CFB mode
simulation is Cipher Block Chaining (CBC). In this
5) OFB: OFB mode [31] is similar to the way stream simulation, the speed of encryption (execution time) and the
cipher works. The ciphers in OFB mode create keystream throughput are evaluated with respect to different file sizes.
bytes to encrypt subsequent blocks. A single-bit transmission The sizes tested are 1MB, 10MB, 100MB, 500MB and 1GB.
264
International Journal of Communication Networks and Information Security (IJCNIS) Vol. 12, No. 2, August 2020

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

410–415, 2018. pp. 1475–1499, 2018.


[2] C. Riman and P. E. Abi-Char, “Comparative analysis [16] W. Stallings, “The principles and practice of
of block cipher-based encryption algorithms: A cryptography and network security 7th edition, isbn-
survey,” Information Security and Computer Fraud, 10: 0134444280,” Pearson Education, vol. 20, no. 1,
vol. 3, no. 1, pp. 1–7, 2015. p. 7, 2017.
[3] P. Dixit, A. K. Gupta, M. C. Trivedi, and V. K. Yadav, [17] W. Tuchman, A Brief History of the Data Encryption
“Traditional and hybrid encryption techniques: a Standard. USA: ACM Press/Addison-Wesley
survey,” in Networking Communication and Data Publishing Co., 1997, Ch. 16, pp. 275–280.
Knowledge Engineering. Springer, 2018, pp. 239–248. [18] N. Advani, C. Rathod, and A. M. Gonsai,
[4] R. Bhanot and R. Hans, “A review and comparative “Comparative study of various cryptographic
analysis of various encryption algorithms,” algorithms used for text, image, and video,” in
International Journal of Security and Its Applications, Emerging Trends in Expert Applications and Security.
vol. 9, no. 4, pp. 289–306, 2015. Springer, 2019, pp. 393–399.
[5] M. N. A. Wahid, A. Ali, B. Esparham, and M. Marwan, [19] R. P. Adhie, Y. Hutama, A. S. Ahmar, M. Setiawan et
“A comparison of cryptographic algorithms: Des, 3des, al., “Implementation cryptography data encryption
aes, rsa and BlowFish for guessing attacks standard (des) and triple data encryption standard
prevention,” J Comp Sci Appl Inform Technol, vol. 3, (3des) method in communication system based near
no. 2, pp. 1–7, 2018. field communication (nfc),” in Journal of Physics:
[6] G. Kaur and M. Mahajan, “Evaluation and comparison Conference Series, vol. 954, no. 1. IOP Publishing,
of symmetric key algorithms,” International Journal of 2018, p. 012009.
Science, Engineering and Technology Research [20] J. Katz and Y. Lindell, Introduction to Modern
(IJSETR), vol. 2, no. 10, pp. 1960–1962, 2013. Cryptography, ser. Chapman & Hall/CRC
[7] A. Y. Hendi, M. O. Dwairi, Z. A. Al-Qadi, and M. S. Cryptography and Network Security Series. CRC
Soliman, “A novel simple and highly secure method Press, 2014. [Online]. Available: Link.
for data encryption-decryption,” International [21] B. Schneier, “The BlowFish encryption algorithm,”
Journal of Communication Networks and Information Link, 2008, [Online; Accessed 1 July 2020].
Security, vol. 11, no. 1, pp. 232–238, 2019. [Online]. Available: Link.
[8] N. Tyagi and A. Ganpati, “Comparative analysis of [22] N. At, J.-L. Beuchat, and I. San, “Compact
symmetric key encryption algorithms,” International implementation of threefish and skein on fpga,” in
Journal of Advanced Research in Computer Science 2012 5th International Conference on New
and Software Engineering, vol. 4, no. 8, pp. 63–70, Technologies, Mobility and Security (NTMS). IEEE,
2014. 2012, pp. 1–5.
[9] P. Princy, “A comparison of symmetric key algorithms [23] S. Basu, “International data encryption algorithm
des, aes, BlowFish, rc4, rc6: A survey,” International (idea)– a typical illustration,” Journal of global
Journal of Computer Science & Engineering research in Computer Science, vol. 2, no. 7, pp.
Technology (IJCSET), vol. 6, no. 5, pp. 328–331, 116–118, 2011.
2015. [24] S. Charbathia and S. Sharma, “A comparative study
[10] M. Mathur and A. Kesarwani, “Comparison between of rivest cipher algorithms,” International Journal of
des, 3des, rc2, rc6, BlowFish and aes,” in Proceedings Information & Computation Technology. ISSN, vol. 4,
of National Conference on New Horizons in IT- pp. 0974–2239, 2014.
NCNHIT, vol. 3, 2013, pp. 143–148. [25] M. Dworkin, “Recommendation for block cipher
[11] P. Nema and [Link], “Critical analysis of various modes of operation. methods and techniques,”
symmetric key cryptographic algorithms,” National Inst of Standards and Technology
International Journal on Recent and Innovation Trends Gaithersburg MD Computer security Div, Tech. Rep.,
in Computing and Communication, vol. 3, no. 6, pp. 2010, [Online; accessed 27 June 2020]. [Online].
4301–4306, June 2015. Available: Link.
[12] M. Marwaha, R. K. Bedi, A. Singh, and T. Singh, [26] P. Rogaway, “Evaluation of some blockcipher modes
“Comparative analysis of cryptographic algorithms,” of operation,” Cryptography Research and Evaluation
International Journal of Advanced Engineering Committees (CRYPTREC) for the Government of
Technology, pp. 16–18, 09 2013. Japan, 2011, [Online; accessed 27 June 2020].
[13] A. Nadeem and M. Y. Javed, “A performance [Online]. Available: Link.
comparison of data encryption algorithms,” [27] A. J. Malozemoff, J. Katz, and M. D. Green,
International Conference on Information and “Automated analysis and synthesis of block-cipher
Communication Technologies, pp. 84–89, 2005. modes of operation,” in 2014 IEEE 27th Computer
[14] P. J. Sun, “Privacy protection and data security in cloud Security Foundations Symposium. IEEE, 2014, pp.
computing: a survey, challenges, and solutions,” IEEE 140–152.
Access, vol. 7, pp. 147 420–147 452, 2019. [28] W. Stallings, “Nist block cipher modes of operation
[15] F. Zhang, Z.-y. Liang, B.-l. Yang, X.-j. Zhao, S.-z. for confidentiality,” Cryptologia, vol. 34, no. 2, pp.
Guo, and K. Ren, “Survey of design and security 163–175, 2010.
evaluation of authenticated encryption algorithms in [29] C. J. Mitchell, “Cryptanalysis of two variants of
the caesar competition,” Frontiers of Information pcbc mode when used for message integrity,” in
Technology & Electronic Engineering, vol. 19, no. 12, Australasian Conference on Information Security and
266
International Journal of Communication Networks and Information Security (IJCNIS) Vol. 12, No. 2, August 2020

Privacy. Springer, 2005, pp. 560–571.


[30] T. Syben, “Introduction to block cipher,” Link, April
2011, [Online; accessed 30 June 2020].[Online].
Available: Link.
[31] S. Almuhammadi and I. Al-Hejri, “A comparative
analysis of aes common modes of operation,” in 2017
IEEE 30th Canadian conference on electrical and
computer engineering (CCECE). IEEE, 2017, pp. 1–4.
[32] D. Bujari and E. Aribas, “Comparative analysis of
block cipher modes of operation,” in International
Advanced Researches & Engineering Congress, 2017,
pp. 1–4.
[33] Java, “Cryptography extension (jce),” Link, [Online;
accessed 30 June 2020]. [Online]. Available: Link
[34] BouncyCastle, “The legion of the bouncy castle,”
Link, 2014, [Online; accessed 30 June 2020]. [Online].
Available: Link.
[35] A. A. Tamimi, “Performance analysis of data
encryption algorithms,” Retrieved October, vol. 1,
2008. Available: Link.
267
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

Table 1: Triple DES modes of operation


Mode Definition
EEE3 a block of data is encrypted three times using three different keys.
The block of data is encrypted using one key, then decrypt with another key, and finally
EDE3
encrypted with a third key.
EDE2 It is like EDE3, with only two keys being used.
EEE2 It is like EEE3, with only two keys, first and last keys are the same.

Table 2: System and Experiment Setup


Component Parameter
Programming language Java
Application platform Java SE JDK 14.01 & Bouncy Castle 1.65
Operating system Windows 10, 64-bit
Computer specs CPU Intel® Xeon® CPU X5570 @ 2.93 GHz and 32 GB for RAM
Encryption algorithms AES, BlowFish, RC2, RC4, RC6, DES, DESede, SEED, XTEA, and IDEA
File type plaintext
File sizes 1MB, 10MB, 100MB, 500MB, and 1GB

Table 3: Encryption Time and Throughput for Various Algorithms

Encryption Time (in seconds) Throughput (in MB)


Algorithms
1GB 500MB 100MB 10MB 1MB 1GB 500MB 100MB 10MB 1MB
AES 29.41 14.62 2.91 0.3 0.03 36.51 35.85 35.98 35.32 33.93
BlowFish 41.91 20.31 4.13 0.42 0.04 25.62 25.81 25.37 25.13 24.44
DES 49.35 24.19 4.87 0.49 0.05 21.76 21.67 21.55 21.58 23.31
DESede 118.92 58.05 11.65 1.18 0.12 9.03 9.03 9 8.92 8.93
IDEA 49.95 24.53 4.81 0.48 0.05 21.5 21.37 21.78 21.66 22.8
RC2 68.75 33.52 6.77 0.68 0.07 15.62 15.64 15.5 15.5 15.47
RC4 14.45 7.14 1.48 0.15 0.01 74.3 73.47 70.92 72.12 76.54
RC6 28.36 13.91 2.85 0.29 0.03 37.86 37.7 36.81 36.45 36.54
SEED 46.13 22.47 4.55 0.46 0.04 23.28 23.34 23.04 29.98 23.35
XTEA 54.79 26.61 5.42 0.54 0.05 19.6 19.7 19.33 19.28 19.2

Table 4: CPU Utilization Percentage for Various Algorithms

CPU Utilization Percentage


Algorithms

1GB 500MB 100MB 10MB 1MB


AES 13.28 14.35 13.55 13.74 1.88
BlowFish 13.71 12.78 12.98 13.49 2.31
DES 14.85 13.35 13.22 13.75 1.61
DESede 13.48 12.76 12.79 12.92 3.93
IDEA 20.67 13.14 13.62 14.61 1.3
RC2 12.95 12.72 13.26 13.3 2.84
RC4 13.61 13.92 16.91 13.79 1.5
RC6 12.88 12.82 16.77 12.51 1.8
SEED 13.6 12.81 13.06 13.29 1.96
XTEA 14.02 12.74 14.19 13.72 4.2

View publication stats

You might also like