Efficiency Advanced Encryption Standard (ESE- AES) Algorithm

95
Debre Berhan University College of Computing Department of Information Technology Enhanced Security Efficiency Advanced Encryption Standard (ESE- AES) Algorithm A Thesis Submitted to the Department of Information Technology in Partial Fulfillment for the Degree of Master of Science in Computer Networking and Security By: Nigusu Gebeyehu Zinabu Advisor: Samuel Asferaw (PhD) Debre Berhan, Ethiopia June, 2019

Transcript of Efficiency Advanced Encryption Standard (ESE- AES) Algorithm

Debre Berhan University

College of Computing

Department of Information Technology

Enhanced Security – Efficiency Advanced Encryption Standard (ESE-

AES) Algorithm

A Thesis Submitted to the Department of Information Technology in Partial Fulfillment for

the Degree of Master of Science in Computer Networking and Security

By: Nigusu Gebeyehu Zinabu

Advisor: Samuel Asferaw (PhD)

Debre Berhan, Ethiopia

June, 2019

Enhanced Security – Efficiency Advanced Encryption Standard (ESE-

AES) Algorithm

By

Nigusu Gebeyehu Zinabu

Advisor: Samuel Asferaw (PhD)

Debre Berhan University

College of Computing

Department of Information Technology

In Partial Fulfillment for the Degree of Master of Science in Computer

Networking and Security

Debre Berhan, Ethiopia

June, 2019

APPROVAL PAGE

DEBRE BERHAN UNIVERSITY

COLLEGE OF COMPUTING

DEPARTMENT OF INFORMATION TECHNOLOGY

BY: NIGUSU GEBEYEHU ZINABU

ADVISOR: SAMUEL ASFERAW (PhD)

This is to certify that the thesis prepared by Nigusu Gebeyehu, in titled: Enhanced Security–

Efficiency Advanced Encryption Standard (ESE-AES) Algorithm and submitted in partial fulfillment

of the requirements for the Degree of Master of Science in Computer Networking and Security

complies with the regulations of the university and meets the accepted standards with respect to its

originality.

Signature of the Board of Examiners for Approval

_____________________________ ______________ _______________

Chairperson Signature Date

_______________________________ ______________ _______________

Advisor Signature Date

________________________________ ______________ _______________

Internal Examiner Signature Date

________________________________ ______________ _______________

External Examiner Signature Date

Dedicat ion

. . . t o m y b e l ov ed wi f e

T i r in go S hew al e f a

an d

… t o m y ch i lds :1 . N u h ami n Ni gu su Geb e yeh u

2 . A m an nu e l Ni gu su G eb e yeh u

Acknowledgements

First and foremost, I would like to thank my God for giving me the strength to carry out and complete

this work.

I am extremely grateful to my advisor Dr. Samuel Asferaw for his valuable advice, guidance,

beneficial discussions and encouragement throughout my research. He gave me all his knowledge,

time, patience and advices.

I would also like to thank my parents, brothers, sisters and my friends for their support, patience and

love. Without their encouragement, motivation and understanding, it would have been impossible for

me to complete this work. Finally, thanks to all people who supported me to complete this work.

i

Abstract

Encryption is a method of coding information or sensitive data or asset, to prevent unauthorized

users from accessing it. Now a day, it is essential to secure data that is at rest in our computer or

is transmitted via web against attacks. Several of cryptographic techniques are being used to

preserve security and could be classified as: symmetric and asymmetric. A symmetric algorithm

named as (AES) is selected for enhancement due to its applicability and widely used algorithm. In

AES, among the four stages that are used for encryption and decryption Sub Bytes and Mix Column

produce more delay; from the two, mix column accounts 60% of the whole delay. On the other side,

Shift Rows stage contribute to less security level of AES because it uses easy operation that is linear

in nature. To overcome these challenges, in the designed symmetrical cryptography algorithm shift

row stage of AES is replaced by symmetrical transposition technique to advance security and mix

column stage is replaced by bitwise reverse transposition technique to improve the sped efficiency

of the existing AES algorithm. The simulation result of our Symmetrical Transposition technique

has shown better security achievement, with greater than 50% avalanche effect and Bitwise Reverse

Transposition technique resulted in better encryption speed and decryption sped time when

compared with original AES: 112.48%, 128.953% and 122.9% encryption speed performance

because of symmetrical transposition, bitwise reverse transposition and combination of both

techniques (ESE-AES), respectively taking average of ten trials; 114.3%, 140.8% and 128.4%

increased the throughput because of symmetrical transposition, bitwise reverse transposition and

combination of both techniques (ESE-AES). Hence, our proposed Enhanced Security-Efficiency

Advanced Encryption Standard (ESE-AES) has better security, encryption and decryption speed

performance and throughput when compared to original Advance Encryption Standard (AES).

Keywords: Cryptography, Security, AES, Modified AES, Efficiency, Security, Avalanche Effect,

Symmetrical Transposition, Bitwise Reverse Transposition.

ii

Table of Contents

Abstract .............................................................................................................................................. i

Table of Contents ............................................................................................................................. ii

List of Figures ................................................................................................................................... v

List of Tables ................................................................................................................................... vi

List of Abbreviations ..................................................................................................................... vii

Chapter 1. Introduction ..................................................................................................................... 1

1.1 Background of the Study ................................................................................................ 1

1.2 Motivation ....................................................................................................................... 2

1.3 Statements of the Problem .............................................................................................. 2

1.4 Objective of the Study .................................................................................................... 3

1.5 Significance of the Study ................................................................................................ 3

1.6 Scope of the Study .......................................................................................................... 3

1.7 Limitation of the Study ................................................................................................... 3

1.8 Organization of the Thesis .............................................................................................. 4

Chapter 2. Literature Review ............................................................................................................ 5

2.1 Survey of related literature ............................................................................................. 5

2.1.1 Security ........................................................................................................................... 5

2.1.2 Cryptography .................................................................................................................. 5

2.1.3 Symmetric and Asymmetric Methods ............................................................................ 6

2.2 Related Work .................................................................................................................. 6

2.2.1 Original Advanced Encryption Standard Algorithm (AES) ........................................... 6

2.2.1.1 High-level Description of the AES algorithm ................................................................ 7

2.2.1.2 Operation of AES ........................................................................................................... 7

2.2.1.3 Encryption Process ......................................................................................................... 8

2.2.1.4 Byte Substitution (Sub Bytes) ........................................................................................ 9

iii

2.2.1.5 Shift Rows ...................................................................................................................... 9

2.2.1.6 Mix Columns .................................................................................................................. 9

2.2.1.7 Add Round Key ............................................................................................................ 10

2.2.1.8 Decryption Process ....................................................................................................... 10

2.3 Follow up work on Original Advanced Encryption Standard Algorithm (AES) ......... 11

2.4 Summary ....................................................................................................................... 16

Chapter 3. The Proposed Enhanced Security – Efficiency Advanced Encryption Standard

Algorithm ........................................................................................................................................ 17

3.1 Enhanced Security Advanced Encryption Standard (ES-AES) Algorithm ........................... 17

3.1.1 Mathematical Model of Symmetrical Transposition Stage .......................................... 19

3.1.2 Symmetrical Transposition Rule .................................................................................. 20

3.1.1 Algorithm of Symmetrical Transposition Stage ........................................................... 22

3.2 Enhanced Efficiency Advanced Encryption Standard (EE-AES) Algorithm ............... 22

3.2.1 Mathematical Model for Bitwise Reversed Transposition ........................................... 24

3.2.2 Bit Wise Reverse Transposition Rule ........................................................................... 25

3.2.3 Algorithm of Bitwise Reverse Transposition Stage ..................................................... 29

3.2.4 Comparison of the Existing Mix Column and proposed Bitwise Reverse Transposition

with the Same Input ..................................................................................................................... 29

3.2.4.1 Existing Mix Column ............................................................................................ 30

3.2.4.2 Proposed Bit Wise Reverse Transposition ............................................................ 31

3.3 The ESE- AES Algorithm Encryption Procedure ........................................................ 31

3.3.1 Add Round Key ............................................................................................................ 32

3.3.2 Sub Bytes ...................................................................................................................... 32

3.3.3 Symmetrical Transposition ........................................................................................... 32

3.3.4 Bitwise Reverse Transposition ..................................................................................... 32

3.3.5 Decryption in ESE-AES ............................................................................................... 33

3.4 Summary ................................................................................................................................ 35

iv

Chapter 4. Implementation and Performance Evaluation ............................................................... 36

4.1 Implementation of our Proposed Algorithms ............................................................... 36

4.2 Result and Discussion of the Proposed ESE-AES Algorithm ............................................... 36

4.2.1 The Key Expansion Algorithm ..................................................................................... 36

4.2.2 Encryption Process of ESE-AES .................................................................................. 37

4.3 Security Analysis: Enhanced Security Advanced Encryption Standard (ES-AES)

Algorithm ..................................................................................................................................... 40

4.3.1 Comparison of the Existing Shift Rows and Proposed Symmetrical Transposition based

on Randomness of the Output ..................................................................................................... 40

4.3.2 Avalanche Effect .......................................................................................................... 42

4.3.3 Analysis of the Existing and Proposed Algorithm Effects on the Diffusion Property . 46

4.4 Performance Analyses: Enhanced Efficiency Advanced Encryption Standard (EE-AES)

algorithm ...................................................................................................................................... 49

4.4.1 Encryption Speed .......................................................................................................... 49

4.4.2 Decryption Speed .......................................................................................................... 51

4.4.3 Throughput ................................................................................................................... 53

Chapter 5. Conclusions and Future Work ....................................................................................... 55

5.1 Conclusions ................................................................................................................... 55

5.2 Future Work .................................................................................................................. 55

References ....................................................................................................................................... 56

Appendices ....................................................................................................................................... A

v

List of Figures

Figure 2.1 Over all structure of AES Encryption and Decryption Process ....................................... 8

Figure 2.2 AES Encryption Process .................................................................................................. 8

Figure 2.3 Byte Substitution ............................................................................................................. 9

Figure 2.4 Shift Rows........................................................................................................................ 9

Figure 2.5 Mix Columns ................................................................................................................. 10

Figure 2.6 Add Round key .............................................................................................................. 10

Figure 3.1 The AES and MAES algorithm compared with our proposed Stages and ESE-AES

algorithm design .............................................................................................................................. 17

Figure 4.1 Shows identical input of shift rows and symmetrical transposition, however distinction

output .............................................................................................................................................. 40

Figure 4:2 Comparison of avalanche effect of proposed ES-AES, EE-AES, ESE-AES and AES

algorithms for the same data size. ................................................................................................... 45

Figure 4.3 Comparison of avalanche effect of AES, ES-AES, EE-AES and ESE-AES algorithms

for the same data size. ..................................................................................................................... 46

Figure 4.4 Analysis of the existing shift rows and proposed symmetrical transposition Algorithm

Effects on the Diffusion Property ................................................................................................... 49

Figure 4.5 Encryption time bar graph of taking average of 10 trials (16 byte). ………………….50

Figure 4:6 throughputs for encryption side………………………………………………………………54

vi

List of Tables

Table 2.1 AES parameters for the various AES ................................................................................ 7

Table 2.2.Proposed Methods, Major Contribution, Drawback/Limitation of the Papers ............... 13

Table 3.1 Bit Wise Reversed Transposition rule............................................................................. 25

Table 3.2 Bit Wise Reversed Transposition rule............................................................................. 26

Table 3.3 Input and output of Bit Wise Reversed Transposition conversation rule ....................... 27

Table 4.1 shows over all encryption process of ESE-AES algorithm with each rounds. ............... 37

Table 4.2 Degree of Input and Shift Row Output Confusion.......................................................... 41

Table 4.3 The existing shift row transformation ............................................................................ 41

Table 4.4 Degree of Input and Symmetrical Transposition Output Confusion .............................. 42

Table 4.5 The Proposed Symmetrical Transposition ...................................................................... 42

Table 4.6 Comparison of avalanche effect of ES-AES, EE-AES, AES and ESE-AES algorithms for

the same data size (128-bit) ............................................................................................................ 43

Table 4.7 The Cipher Value and Hamming Distance for the Change Shift Rows Operation. ........ 47

Table 4.8 The Cipher Value and Hamming Distance (bits) for the Change Symmetrical

Transposition Operation .................................................................................................................. 48

Table 4.9 Encryption time taking average of 10 trials (16 byte) ..................................................... 50

Table 4.10 Encryption time taking average of 1st 5 trials (16 byte) ................................................ 51

Table 4.11 Encryption time taking average of 2nd 5 trials (16 byte) ............................................... 51

Table 4.12 Decryption time taking average of 10 trials (16 byte) .................................................. 52

Table 4.13 Decryption Time taking 1st 5 Trials (16 byte) ............................................................... 52

Table 4.14 Decryption Time taking 2st 5 Trials (16 byte) ............................................................... 52

Table 4.15 Comparison of throughput at encryption side of AES, ESE-AES, ES-AES and EE-AES

based on ten trails experimental result. ........................................................................................... 53

vii

List of Abbreviations

AES Advanced Encryption Standard

ASCII American Standard Code for Information Interchange

BSS Bit Wise Reverse Transposition

CIA Confidentiality Integrity Authentication

CPU Central Processing Unit

CSE Common Sub-Expression Elimination

DES Data Encryption Standard

ECC Elliptic-Curve Cryptography

EE Enhanced Efficiency Advanced Encryption Standard

ES Enhanced Security Advanced Encryption Standard

ESE-AES Enhanced Security – Efficiency Advanced Encryption Standard

GF Galois field

GHz Gigahertz

HD Hamming Distance

IP Initialization vector for permutation

IV Initialization vector

LUTs Look up Tables

MAES Modified Advanced Encryption Standard

NIST National Institute of Standards and Technology

PAES Proposed Advanced Encryption Standard

PBWRT Proposed Bitwise Reverse Transposition

PDAs Personal Digital Assistances

PST Proposed Symmetrical Trans potion

viii

RAM Random Access Memory

RCon Round Constant

S-Box Substitution-box

TLS Transport Layer Security

Triple-DES Triple- Data Encryption Standard

Verilog HDL Verilog Hardware Description Language

XOR Exclusive Or

1

Chapter 1. Introduction

1.1 Background of the Study

Information security is process or method designed and implemented to secure electronic, or other

form of confidential, personal and sensitive data from unauthorized access, use, misuse,

disclosure, destruction, modification, or disruption. Among such methods the dominant technique

is used today is cryptography. Cryptography is the process of changing plain text in to encrypted

text and encrypted text back to plain text. Cryptography in most literature is classified into

symmetric and asymmetric cryptography. Advanced Encryption Standard (AES) is one of the

most popular symmetric cryptography encryption with block cipher structure. It was introduced

by Rijndael who is from US National Institutions of Standard and Technology Computation in

2001. It is a replacement of DES.

For data security, AES is the most used encryption algorithms from symmetric cipher. Every

rounds within the secret writing method contains four operations (Daemen and Rijmen, 2013)

[1]. Sub Byte, Shift Rows, Mix Column and Add Round Key. The algorithm is capable to use

key lengths of 128, 192 and 256 bits and also the range of rounds 10, 12 and 14 severally [1].

Every round has four operations and repetitious in nature. So, the output of 1st round is input to

the second round and performs constant operations with another set of keys. This method

continues until the last round reaches. In the last round, there is no mix-column operation. The

state array obtained when the last round is cipher text for transmission.

AES has four stages for encrypting and decrypting message these are: Sub Bytes, Shift Rows,

Mix Columns and Add Round Key. Among them Sub bytes, and Mix Columns produce more

delay [1]. The execution delay of Mix Columns accounts to 60% percent of the total delay. Due

to this AES algorithm is not adopted for IoT, wireless detector networks, low power devices like

PDAs. Therefore, cost effective symmetrical data encryption algorism with less power

consumption is critical for these environments [1]. Thus, the study focuses on proposing an

efficient and secured technique by modifying shift rows and mix column steps of AES.

2

1.2 Motivation

The major motivations were:

1. Small device has limited capabilities of battery power and memory and it is not possible to

use a typical AES Algorithm.

2. Secure information transmission between low power devices are required.

3. Encrypting data using standardized cryptographic algorithms consume more energy which

decrease the lifetime of small device [2].

1.3 Statements of the Problem

For information or data security, AES is the most used encryption algorithms from symmetric

cipher. In AES each rounds in the encryption process contains four operations as follows: Sub

Byte, Shift Rows, Mix Column and Add Round Key [2].

The algorithm is capable to use key lengths of 128, 192 and 256 bit and also the range of rounds

is 10,12 and 14, severally. However, previous research work identified the following shortcoming

on AES. Among its stages Sub bytes, Shift Rows, Mix Columns and Add Round Key, Sub bytes,

and Mix Columns cause more delay, more specifically the execution delay of Mix Columns

accounts to 60% percent of the total delay. Moreover, among these stages, shift rows stage of

AES exposes it to be less secure, due to simple operation and linear in nature [1].

To overcome these challenges, symmetric key encryption algorism with less power consumption

and better security level is necessary especially for small battery capability.

Hence, this research work attempted to answer the following research questions:

1. How can we improve the execution delay of Mix Columns in AES which accounts 60%

percent of the total delay of AES algorithm’s?

2. How can we enhance data encryption efficiency of AES keeping the security level of AES

not affected?

3. How can we improve the security problem of Shift rows stage in AES algorithm?

3

1.4 Objective of the Study

General Objective

The general objective of this study was Enhanced Security – Efficiency Advanced Encryption

Standard (ESE-AES) Algorithm by using optimal techniques, while not minimize the protection

level of the algorithmic.

Specific Objective

The specific objectives of this study include:

1. To design data encryption algorithm which enhances data encryption speed of AES algorithm.

2. To design data encryption algorithm which enhances data encryption security of AES

algorithm.

3. To evaluate our proposed techniques against data encryption efficiency and security of AES

algorithm.

1.5 Significance of the Study

This study enhances data encryption efficiency of AES algorithm, which would be more

important especially for battery scarce devices by replacing the more power consuming stage of

mix column and the low security level of AES by our proposed efficient techniques. It also

provides new directions for the researchers in the future.

1.6 Scope of the Study

This research exhaustively discusses the AES algorithm and its shortcomings. Then, it attempted

to propose algorithm to overcome these shortcomings. The proposed algorithm was evaluated

with AES algorithm using simulation, not test bed.

1.7 Limitation of the Study

AES supports 3 key length alternatives with 128, 192, or 256 bits and block length of 128 bits.

But, in our proposed algorithm we implemented using only 128-bit size because of constraint

of time.

4

1.8 Organization of the Thesis

The rest part of this thesis is organized as follows: Chapter 2, literature review and related work

for cryptanalytic algorithms were presented. Then, the proposed techniques symmetrical

transposition and bitwise reverse transposition for replacement of the shift rows and mix columns

is introduced in Chapter 3. Chapter 4 discusses implementation and performance analysis of the

proposed techniques. Finally, conclusion and future work is discussed in Chapter 5.

5

Chapter 2. Literature Review

In this section we surveyed related literature and related work about information security,

cryptography, symmetric cryptography and AES algorithm. These include concepts of security,

cryptography, encryption and decryption of AES. In addition, we include further ideas about

related work Modified Advanced Encryption Standard (MAES) which particularly focuses on

enhancing data encryption security and efficiency of Advanced Encryption Standard algorithm.

2.1 Survey of related literature

2.1.1 Security

Information security has extended to incorporate many analytical directions like user

authentication and authorization, network and hardware security, software security and

information cryptography [3]. Data security has importance for safeguarding the majority data

dealings applications. Security is taken into account as a crucial science discipline which has

several multifarious complexities [18].

The security of the sensitive data may be a prime concern for each company. It should have

fashionable communication, storage techniques and victimization computers which is connected

through networks that builds the sensitive information vulnerable for lot of threats.

The fundamental security ideas that are vital to sensitive data contain [18].

Confidentiality: the data is accessed solely by the licensed user.

Integrity: solely the licensed user will amendment the information.

Availability: accessing the information while not downside.

Also, the ideas that concern the sensitive data users are [18]:

Authentication: proving that a user is that the person he claims to be.

Authorization: the act of determinant whether or not a selected user has the proper to access

the information.

Non-repudiation: the user cannot deny playing associate activity [4].

2.1.2 Cryptography

Cryptography is the science of victimization arithmetic to cypher and decipher. The origin of

cryptography is found in Roman and Egyptian culture. Cryptography is thousand years previous

6

method to encipher the messages [5]. In its ancient type, folks use cryptography to cover their

messages that they need to stay secret from different attackers by using symbols, numbers or

photos on their part of the message. However, with the rise in technology, the necessity of

cryptography is augmented which supplies rise to new science algorithms like DES, 3DES and

AES [6].

With the arrival of technology, Cryptography has got emphasis because it has a discipline that

studies the mathematical techniques associated with data security like providing the protection

services of confidentiality, knowledge integrity, authentication and nonrepudiation. It is an

imperative tool to defend data in computing systems. It is used everyplace and by billions of

individuals worldwide on a routine. It is used to defend knowledge at rest and data in motion.

Cryptographic systems are an integral part of standard protocols, most notably the Transport

Layer Security (TLS) protocol, creating it comparatively straightforward to include robust coding

into a wide range of applications [2].

2.1.3 Symmetric and Asymmetric Methods

The cryptographic systems may be classified into symmetric and asymmetric. In symmetric

cryptography, the same secret key is used for the encoding and decoding. Whereas, in asymmetric

cryptography, separate keys are used for the encoding and decoding method. The Advanced

Encryption Standard AES can be encountered in symmetrical cryptography algorithm. It is found

a minimum of six time quicker than triple DES. A replacement for DES was that its key size was

too small. However, triple DES was designed to beat this downside but, it absolutely was found

slow [7]. To overcome the weak side of DES, AES was brought in to application with the

following

Options: 128/192/256-bit keys and block size-128-bit. It is stronger and quicker than Triple-DES,

give full specification and style details, software system implementable in C and Java.

2.2 Related Work

2.2.1 Original Advanced Encryption Standard Algorithm (AES)

AES is a symmetric block cipher with block length of 128 bits. It permits 3 different key lengths

128,192 and 256 bits. As it is shown in Table 2:1, it needs 128 bit keys for ten rounds, 192 bit

keys for twelve rounds and 256 bit keys for fourteen rounds for encoding process. For encryption

7

and decryption, every round has four functions except the last round. The last round needs 3

functions.

The encryption algorithm has four round functions: Sub Byte (), Shift Rows (), Mix Column ()

and Add Round Key (). The decryption, also has the same number of rounds with reverse

transformation order of round operation i.e. InvShiftRow (), InvSubByte (), AddRoundKey () and

InvMixColumn () [8].

Table 2.1 AES parameters for the various AES

AES Parameters AES-128 AES-192 AES-256

Key Size (Bits) 128 192 256

Number of rounds 10 12 14

Plaintext box size(Bits) 128 128 128

2.2.1.1 High-level Description of the AES algorithm

Key Expansions round keys are derived from the cipher key using Rijndael's key schedule. AES

needs a separate 128-bit round key block for every round.

Add Round Key (): every computer memory unit of the state is combined with a block of

the round key using bitwise xor.

Sub Bytes (): A non-linear substitution step wherever every computer memory unit is

replaced with another in step with a lookup table.

Shift Rows (): A transposition step wherever the last 3 rows of the state are shifted

cyclically a certain number of steps.

Mix Columns (): A mixing operation that operates on the columns of the state, combining

the four bytes in every column.

Final round (No Mix Columns) SubBytes () Shift Rows () AddRoundKey () [8].

2.2.1.2 Operation of AES

AES is a reiterative instead of Feistel cipher. It is supported ‘substitution–permutation network.

It consists of a series of joined operations, a number that involve exchange inputs by specific

outputs substitutions and involve shuffling bits around permutations. Curiously, AES performs

8

all its computations on bytes instead of bits. Hence, AES treats the 128 bits of a plaintext block

as sixteen bytes. These sixteen bytes organized in four columns and four rows for processing as

a matrix, not like DES. The amount of rounds in AES is variable and dependent on the length of

the key [9].

The general structure of AES coding and decoding method structure is given in the following

illustration.

Figure 2.1 Over all structure of AES Encryption and Decryption Process

2.2.1.3 Encryption Process

Here, we describe typical round of AES encryption. Every round includes of 4 sub-processes. The

primary round method is delineated below [9].

Figure 2.2 AES Encryption Process

9

2.2.1.4 Byte Substitution (Sub Bytes)

The 16 input bytes are substituted by looking up a fixed table S−box given in design. The result

is in a matrix of four rows and four columns [9].

2.2.1.5 Shift Rows

Each of the four rows of the matrix is shifted to the left. Any entries that ‘fall off’ area unit re-

inserted on the correct aspect of row. Shift is administered as follows 1st row is not shifted.

Second row is shifted one-byte position to the left. Third row is shifted 2 positions to the left.

Fourth row is shifted 3 positions to the left. The result is a new matrix consisting of a similar

sixteen bytes [3] [19].

Figure 2.4 Shift Rows

2.2.1.6 Mix Columns

Perform takes as input the four bytes of 1 column and outputs four fully new bytes, that replace

the initial column. The result is another new matrix consisting of sixteen new bytes. It ought to

be noted that this step is not performed within the last round [1] [19].

Figure 2.3 Byte Substitution

10

Figure 2.5 Mix Columns

2.2.1.7 Add Round Key

The sixteen bytes of the matrix are currently thought of as 128 bits and are XORed to the 128 bits

of the round key. If this is often the last round, then the output is that the cipher text. Otherwise,

the ensuing 128 bits are taken as sixteen bytes and that we begin another similar rounds [9].

Figure 2.6 Add Round key

2.2.1.8 Decryption Process

The method of decipherment of AES cipher text is comparable to the coding process within the

reverse order. Every rounds consists of the four processes conducted within the reverse order:

Add round key, Mix Columns, Shift Rows and byte substitution. Since sub-processes in every

round are in reverse manner, not like for a Feistel Cipher, the coding and decipherment algorithms

has to be singly enforced, though they are very closely connected [9].

11

2.3 Follow up work on Original Advanced Encryption Standard Algorithm

(AES)

Many researchers had conducted a number of researches in the area of cryptography following

the arrival of technology because everything is completed over internet, which results in the

upgrading of algorithms using encrypt information or data. Of the various encryption algorithmic,

Advanced Encryption Standard(AES) is the most generic algorithmic that is used to code

messages or information.

To collect information on AES algorithm, we tried to refer a number of journal and conference

articles. But, in this thesis, we focused on the recent papers which were published between 2015

up to 2018. And from this literature review, we determined three parameters that are necessary

within the AES algorithm: efficiency (Encryption time, decryption time), security (avalanche

result, result of diffusion and confusion) of AES, and randomness of the output or mathematical

soundness of the AES algorithm.

Rahman, A. et al. [2] It is presented under the title of “a modified version of AES for Resource-

Constraint Environments.” A replacement Substitution Box is proposed which works over the

Galois Field (24) by constructing a novel affine transformation equation. The result shows that it

extends the battery lifetime of low power-driven devices by consuming less amount of energy.

However, the speed of the algorithm will not increase significantly due to mix column stage

because the execution delay of mix column stage results is 60% of the whole computational time

of AES rather than s-box stage of AES [1]. Therefore, this is not convenient with restricted

resource and low power-driven devices.

Amina M. et al. [10] Focus on the title of “Secure Encryption for Wireless Multimedia Sensors

Network”. The concept of the approach is predicated on the AES algorithm with shifts rather than

the arithmetic operations named the Shift-AES. During this approach, the Mix-Columns method

of the AES algorithm is replaced by another shift transformation of columns.

12

Fig. 2.7. The Transformation Shift-Cols after the whole processing Sub Byte and Shift Rows of AES

The proposed scheme achieves high speed encryption and decryption process specifically for

media like image also for plaintext transfer by eliminate the complex process of the mix column.

On the other hand, the security level of the algorithm will decrease significantly because shift-

column use similar operation like shift rows stage of AES. Here, the only difference is rows and

columns. In AES Shift row stage, there is less security level stage due to its usage of simple

operation and linear in nature, Therefore, this will not be good solution for high security

requirements, taking into consideration the powerful computational process for the attackers [10].

M.Vaidehi et al [11] Focus on “Enhanced Mix Column Design for AES Encryption.” In this

research work, Structure of Mix Column for AES Encryption has been realized to improve the

hardware architecture of AES Encryption algorithm.

Reducing the Common Sub-Expression Elimination (CSE) technique has been employed in this

analysis work to reduce the hardware structure of mix column design. More technique of

increased Inverse Mix Column is employed in decipherment side. The main goal of the analysis

work is to cut back the hardware Slices, Lookup Tables (LUTs) and Power consumption of AES

encryption architecture. Designed of proposed increased encryption has been designed with the

assistance of Verilog Hardware Description Language (Verilog HDL) [11].

The proposed scheme improves the hardware architecture of AES encryption algorithm. It offers

10.93% reduction in Slices, 13.6% reduction in LUTs and 1.19% reduction in delay consumption

than the existing Mix Column transformation architecture of AES Encryption. But it focuses on

hardware architecture of AES Encryption algorithm rather than reducing execution time of

mathematical structure of mix column stage operations [11].

Rizky Riyaldhia, et al, [12] Focus on “Improvement of advanced encryption standard algorithm

with shift row and s-box modification mapping in mix column.” The Improvement has been made

by reduces shift row circular process and S-Box modification for Mix Column transformation.

The result showed that improvement on encryption process is 86.143% and decryption process is

13.085%. But, the techniques need to consume bigger memory to store two modified S-Box map

and Array Shift Row map. And the approach is not considering security issue of AES.

Mahmoud A. eltatar, et al, [13] Focus on “Modified Advanced Encryption Standard Algorithm

for Reliable Real-Time Communications”. The first goal of the MAES algorithm is to extend the

13

speed of the coding and decoding algorithms. In the MAES design, the Mix Columns stage is

replaced with xor operation between the input state and random vector called IV. The mix column

stage is the most calculation demanding stage in the AES design and therefore it consume most

of the time needed for encryption and decryption. So the modification can increase the speed of

the algorithm by replacing the mix column stage with xor operation.

On the other hand, the security level of the algorithm will decrease significantly because of the

using of the old and part of an in secure algorithms such as DES (FIPS197,2001), therefore this

will not be good solution for high security requirements [13].

Shasi B. Rana Puneet Kumar (2015) [14] Introduced “parallel computation victimization

multicore processors by parallelizing the execution of the algorithmic program in multiple cores/

Moderate Security/.” This paper presents the protection and comparison for the data with the

AES. throughout this analysis, it increases the number of rounds (Nr) to sixteen for the coding

and decoding method of AES algorithmic, which ends up in further security to the system. The

generation of the key has been finished the help of the Polybius square. Therefore, the protection

of the system has been improved. However, with the increase in sort of rounds it is going to take

loads of machine time.

The most related summary of cited publication comparison of the results of the proposed

methods, major contribution and drawback/limitation of the papers was also included in the

following Table

Table 2.2.Proposed Methods, Major Contribution, Drawback/Limitation of the Papers

Author Proposed Methods Major Contribution Drawback/Limitation of the

Paper

14

Arnab

Rahman,

et al 2018

The paper it presents

a modified Version

of AES for

Resource-Constraint

Environments. A

replacement

Substitution Box is

proposed which

works over the

Galois Field (24) by

constructing a novel

affine transformation

equation.

The result shows that extending

the battery lifetime of low

power-driven devices by

consuming less amount of

energy.

The speed of the algorithm

will not increase

significantly due to mix

column stage, because the

execution delay of mix

Column stage results is

60% of the whole

computational time of AES

rather than s-box stage of

AES. Therefore, this is not

convenient with restricted

resource and low power-

driven devices.

Amina M.

et al

(2017)

Focus on Secure

Encryption for

Wireless Multimedia

Sensors Network.

The concept of the

approach is

predicated on the

AES algorithm with

shifts rather than the

arithmetic operations

named the Shift-

AES.

The proposed scheme achieves

high speed encryption and

decryption process specifically

for media like image also for

plaintext transfer by eliminate

the complex process of the mix

column, but in the other hand

the security level of the

algorithm will decrease

significantly because shift-

column use similar operation

like shift row stage of AES, the

only difference is rows and

columns. Because in AES Shift

row stage is less security level

stage, due to it uses simple

operation and linear in nature.

In AES, Shift rows stage

and the proposed shift

column is less security

level stage, due to it uses

simple operation and linear

in nature, Therefore, this

will not be good solution

for better security

requirements.

15

P. Kumar

, et al

(2016)

introduced parallel

computation

victimization

multicore processors

by parallelizing the

execution of the

algorithmic program

in multiple cores/

Moderate Security/.

In this research, it increases the

number of rounds (Nr) to 16 for

the encryption and decryption

process of AES algorithm,

which results in more security

to the system. The generation

of the key has been done with

the help of the Polybius square.

thus the security of the system

has been improved.

However, due to an

increase in number of

rounds it increase more

computational time and

hence is not recommended

for low power device.

Mahmoud

A. eltatar,

et al,

(2017)

Focus on Modified

AES Algorithm for

Reliable Real-Time

Communications.

The 1st goal of the

MAES scheme is to

increase the speed of

the encryption and

decryption

algorithms.

So the modification can

increase the speed of the

algorithm by replacing the mix

column stage with xor

operation.

In the other hand the

security level of the

algorithm will decrease

significantly because the

using of old and concepts

of an in secure algorithms

such as DES principle,

therefore this will not be

good solution for better

security requirements.

Rizky

Riyaldhia,

et al,

(2017)

Focus on

Improvement of

advanced encryption

standard algorithm

with shift row and s-

box modification

mapping in mix

column.

The result show that percentage

improvement on encryption

process is 86.143% and

decryption process is 13.085%.

The techniques are need to

consume bigger memory to

store two modified S-Box

map and Array Shift Row

map and the approach is

not considering security

issue of AES.

16

2.4 Summary

As we have seen, all the above related works do have tradeoff between efficiency and security

level of AES. In other words, when they increase the efficiency, security is affected and vice

versa. To overcome this challenges, efficient symmetrical key cryptography algorithm with less

computational time and better security level is important. It is clear that the robustness of an

encryption algorithm depends of the key length, the number of rounds and its mathematical

complexness.

Therefore, we tried to propose efficient techniques of AES Algorithm with balancing the tradeoff

between the efficiency and the security level of the algorithm. Then, we constructed better data

encryption efficiency technique of AES that is bit wise reverse transposition and symmetrical

transposition techniques. This was done to balance the tradeoff between efficiency and security

of Enhanced Security Efficiency Advanced Encryption Standard (ESE-AES) as much as possible.

17

Chapter 3. The Proposed Enhanced Security – Efficiency Advanced

Encryption Standard Algorithm

In this chapter we have proposed three algorithms: Enhanced Security Advanced Encryption

Standard (ES-AES), Enhanced Efficiency Advanced Encryption Standard (EE-AES) and

Enhanced Security- Efficiency Advanced Encryption Standard (ESE-AES) to improve the

original AES algorithm. Each of these algorithms is discussed in separate sections as follows:

Figure 3.1 shows the overall design of AES, MAES and ESE-AES algorithm. The figure shows

the stage difference between MAES algorithm and AES is in 3rd stage while the difference

between ESE-AES is on 2nd and 3rd stages.

Figure 3.1 The AES and MAES algorithm compared with our proposed Stages and ESE-AES

algorithm design

3.1 Enhanced Security Advanced Encryption Standard (ES-AES) Algorithm

To improve security of AES algorithm among its 4 stages, shift rows stage is substituted by our

new stage called symmetrical transposition. This block brings a 4×4 matrix of bytes. This block

comes into the state array. The state array is changed at every stage of AES. Similarly, the 128-

bit key is represented also as a matrix of 4×4 bytes. Key expansion schedule generates a total of

10 rounds this 4×4-byte matrix (in one round we have 4 words or 16 bytes), with pre-round we

have a total of forty-four words.

AES supports 3 key length alternatives: 128, 192, or 256 bits and a block length of 128 bits. But,

in our proposed algorithm we choose to implement using 128-bits key length. The ES-AES

18

algorithm’s encryption and decryption process design with 128 bit are shown on Figure 3.2 and

Figure 3.3, respectively.

Figure 3.2 ES-AES algorithm encryption process with 128 bit

19

Figure 3.3 ES-AES algorithm decryption process with 128 bit

3.1.1 Mathematical Model of Symmetrical Transposition Stage

Symmetrical Transposition Stage which is 2nd stage in the algorithm is substituted in the place of

Shift Rows in AES enhances data encryption security of AES algorithm. The following example

shows input and output of symmetrical transposition stage:

0 4 8 12

20

Input Output

3.1.2 Symmetrical Transposition Rule

Interchanging the position of non-main diagonal elements that are symmetrical with

respect to the main diagonal elements.

Interchanging the position of the main diagonal elements that are symmetrical with

respect to the non-main diagonal elements.

Figure 3.4 Symmetrical Transposition Rule

1 5 9 13

2 6 10 14

3 7 11 15

15 1 2 3

4 10 6 7

8 9 5 11

12 13 14 0

21

The internal structure of Symmetrical Transposition showed significant confusion and diffusion

in the output compared to the existing shift rows stage of the AES algorithm as shown in Figure

3.5.

Input Output

Figure 3.5 The Internal Structure of Symmetrical Transposition

22

3.1.1 Algorithm of Symmetrical Transposition Stage

An algorithmic could be a procedure or formula for solving a problem, supported by conducting

a sequence of specific actions. A computer program is often viewed as associate degree elaborate

algorithmic rule. In mathematics and computer science, associate degree algorithmic rule

sometimes suggests that a little procedure that solves a continual downside. Therefore, the

proposed algorithm procedure for our symmetrical transposition stage is shown in Algorithm 3.1

Algorithm 3.1 Symmetrical Transposition Stage Algorithm

3.2 Enhanced Efficiency Advanced Encryption Standard (EE-AES)

Algorithm

The primarily goal of the proposed EE-AES scheme is to enhances the computational time of the

AES algorithm. In the proposed EE-AES design, the mix column stage is replaced with a bitwise

reverse transposition, this operation decreases the calculation demands of the original design mix

column stage of AES. Therefore, to improve efficiency of AES algorithm among its 4 stages, mix

columns stage is substituted by our new stage called bitwise reverse transposition.

The proposed diagram of the EE-AES encryption and decryption process with 128-bit design are

shown on Figure 3.6 and Figure 3.7, respectively.

First, Accept 4x4 hex value array of matrix;

Next, Swap the position of non-main diagonal elements that

are symmetrical with respect to the main diagonal;

Then, reversing elements of major diagonal(𝑎11 with 𝑎44 and

𝑎22 with 𝑎33);

Finally, display 4x4 hex value array of matrix.

23

Figure 3.6 EE-AES encryption process with 128 bit

24

Figure 3.7 EE-AES Decryption Structure of Proposed Algorithm

3.2.1 Mathematical Model for Bitwise Reversed Transposition

In this section, we have proposed efficient data encryption technique that can be named as bitwise

reversed transposition operation, which enhances data encryption speed of AES algorithm by

using bitwise reverse transposition, which remove the complexity of addition and multiplication

operations of the current mix column stage of AES. The proposed EE-AES algorithm’s bitwise

reversed transposition operation, mathematical model and overall rules and examples are

discussed as follows:

25

Examples of bitwise reversed transposition string of an array input and output.

We use hex (00-09 and 0A-0F) as a result of two hex digit maps to eight binary bits perfectly,

rather than writing 00001010, we have to use 0A (10 decimal). We will tell Java to use hex

(literals) by beginning with 0x as in 0x0A. As declared before, we must always output 80

(00000001 to 00001000) sifting eight bit.

3.2.2 Bit Wise Reverse Transposition Rule

Taking the 1st row elements of the input to the 1st column in the output, and then interchanging

𝑎21 with 𝑎31 and reverse bit wise in the output.

Taking the 2nd row elements of the input to the 3rd column in the output, and then

interchanging 𝑎23 with 𝑎33 and reverse bit wise in the output.

Taking the 3rd row elements of the input to the 2nd column in the output, and then

interchanging 𝑎22 and 𝑎32 and reverse bit wise in the output.

Taking the 4th row elements of the input to the 4th column in the output, and then interchanging

𝑎24 and 𝑎34 and reverse bit wise in the output.

The above transposition rule can be summarized as follows:

Table 3.1 Bit Wise Reversed Transposition rule

Input Output

1st row 1st column, and interchange 𝑎21 with 𝑎31 and reverse bit wise in the output.

26

2nd row 3rd column, and interchange 𝑎23 with 𝑎33 and reverse bit wise in the output.

3rd row 2nd column, and interchange 𝑎22 with 𝑎32 and reverse bit wise in the output

4th row 4th column, and interchange 𝑎24 with 𝑎34 and reverse bit wise in the output

On the other hand, the transposition can be made by using the following transposition rule:

Interchanging 𝑎12 with 𝑎13 in the input and then taking it to the 1st column in the output.

Interchanging 𝑎22 with 𝑎23 in the input, and then taking it to the 3rd column and reverse

bit wise in the output.

Interchanging 𝑎32 with 𝑎33 in the input, and then taking it to the 2nd column and reverse

bit wise in the output.

Interchanging 𝑎42 with 𝑎43 in the input, and then taking it to the 4th column and reverse

bit wise in the output.

This transposition can be summarized as follows:

Table 3.2 Bit Wise Reversed Transposition rule

Input Output

Taking 1st row elements and interchanging 𝑎12 with 𝑎13 and reverse bit wise in the

output.

1st column

Taking 2nd row elements and interchanging 𝑎22 with 𝑎23 and reverse bit wise in the

output.

3rd column

Taking 3rd row elements and interchanging 𝑎32 and 𝑎33 and reverse bit wise in the

output.

2nd column

Taking 4th row elements and interchanging 𝑎42 and 𝑎43 and reverse bit wise in the

output.

4th column

27

This method is not similar to the original AES design method. It showed easy operation and better

efficiency as compared to the existing mix column of AES method. In this method we take an

array as follows:

Table 3.3 Input and output of Bit Wise Reversed Transposition conversation rule

DEC HEX BIN INVBIN INVHEX DEC

0 00 00000000 00000000 00 0

1 01 00000001 10000000 80 8

2 02 00000010 01000000 40 4

3 03 00000011 11000000 C0 12

4 04 00000100 00100000 20 2

5 05 00000101 10100000 A0 10

6 06 00000110 01100000 60 6

7 07 00000111 11010000 D0 14

8 08 00001000 00010000 10 1

9 09 00001001 10010000 90 9

10 0A 00001010 01010000 50 5

11 0B 00001011 11010000 D0 13

12 0C 00001100 00110000 30 3

13 0D 00001101 10110000 B0 11

14 0E 00001110 01110000 70 7

15 0F 00001111 11110000 F0 15

28

Input Output

Figure 3.8 The Internal structure of bitwise reverse transposition

The above diagram shows that almost all the input data are significantly producing confusion in

the output.

29

3.2.3 Algorithm of Bitwise Reverse Transposition Stage

Algorithm 3.2 Bitwise Reverse Transposition Stage Algorithm

3.2.4 Comparison of the Existing Mix Column and proposed Bitwise Reverse

Transposition with the Same Input

First we compare the existing mix column against the proposed bit wise reverse transposition with

the same input.

First Accept 4x4 hexa value String Array;

Then convert hexa value to binary;

Next apply reverse order bit wise in byte by byte;

Then convert binary to hexa value;

Finally, Display 4x4 hexa value String array;

or

Accept Input I

Get Length of I, L

Declare Input matrix IM

Declare BitRevorder of Input = BR

For (i = 0; I < L; i++)

Im[i]=GetAscii(I[i]);

Decimal = get Decimal (Im[i]);

BR[i] = getBitReverse (decimal);

Display: IM

: BRmatrix

30

3.2.4.1 Existing Mix Column

Figure 3.9 Existing mix column operations

Input = 00 01 02 03

Output (00) of in the output = (00 * 2) XOR (01*3) XOR (02*1) XOR (03*1). So based on

2.2.1.6 related work literature review explanation, every column of 4 bytes is currently

transformed using a special mathematical relation. This operation takes four bytes of one column

as input and results four absolutely new bytes, that replace the initial column. The output matrix

consists of 16 new bytes.

It ought to be noted that this step isn't performed in the last round. So normally one-byte mix

column operation within the encryption process will consume 17 cycles and one-byte mix column

operation within the decryption process will consume 60 cycles that thought-about too very long

time [9].

31

3.2.4.2 Proposed Bit Wise Reverse Transposition

Figure 3.10 Proposed bit wise reverse transposition

Based on section 3.2.2. Bit Wise Reverse Transposition Rule, the above figure showed that

the input matrix is easily transformed in to the output matrix by using bitwise reverse order

without addition and multiplication operation. Therefore, bitwise revers transposition showed

better computational time compared to mix column stages of AES.

3.3 The ESE- AES Algorithm Encryption Procedure

ESE-AES algorithm is integration of ES-AES and EE-AES algorithms discussed above. It

substitutes 2nd and 3rd stages of AES by Symmetrical Transposition, and Bitwise Reverse

Transposition, respectively. The four sub-operations of ESE-AES are Add Round Key, Sub

Bytes, Symmetrical Transposition, and Bitwise Reverse Transposition. These stages are

explained in detail in the following subsections. The coding section of ESE-AES is broken into

three phases: the initial round, the main rounds, and final round.

All of the phases use an equivalent sub-operation in several combinations as follows:

Initial Round: I. Add Round Key

Main Round: I. Sub Bytes II. Symmetrical Transposition III. Bitwise Reverse Transposition

IV. Add Round Key

Final Round: I. Sub Bytes II. Symmetrical Transposition III. Add Round Key

32

3.3.1 Add Round Key

In this paper the Add Round Key operation of ESE-AES is like AES encoding directly operates

on the AES Round key. Throughout this operation, the input to the round is exclusive-ored with

the round key.

3.3.2 Sub Bytes

Similarly, The Sub Bytes part of Proposed ESE-AES and AES involves splitting the input into

bytes. Unlike DES, AES uses constant S-Box for all bytes. And the AES and ESE-AES S-Box

implements inverse multiplication in Galois Field 28.

3.3.3 Symmetrical Transposition

In this part the shift row of AES is replaced by Symmetrical Transposition part of the proposed

ESE-AES, every rows and columns of the 128-bit internal state of the cipher is mixed. That could

be a 4x4 matrix wherever every cell contains a byte. Bytes of the interior state are placed within

the matrix across rows and columns interchanging the position of non-main diagonal parts that

are symmetrical with respect to the main diagonal elements. Then interchanging the position of

the main diagonal parts that are symmetrical with relevance of the non-diagonal array of elements.

3.3.4 Bitwise Reverse Transposition

Like the symmetrical transposition phase of the proposed ESE-AES, the bitwise reverse

transposition stage provides diffusion by mix the input round. In contrast to mix columns section

of original AES, bitwise reverse transposition uses optimum operations to enhance the speed of

the encoding and secret writing algorithm. Wherever position has to range between zero and

seven, if we have got the smallest amount vital bit as "bit 1" then you would like your -1 however

we would suggest against it - that sort of modification of position is often a supply of errors for

us.

The proposed diagram of the ESE-AES encryption process with 128 bit designed is shown below:

33

Figure 3.11 The proposed ESE- AES design algorithm for encryption process

3.3.5 Decryption in ESE-AES

To decipher the proposed ESE-AES-encrypted cipher text, it is necessary to undo every stage of

the encryption operation within the reverse order during which they were applied. The 3 stage of

decryption are as follows:

Inverse Final Round: I. Add Round Key II. Sub Bytes III. Symmetrical Transposition

Inverse Main Round: I. Bit wise Reverse Transposition II. Add Round Key

III. Sub Bytes IV. Symmetrical Transposition

34

Inverse Initial Round: I. Add Round Key

The proposed diagram of the ESE-AES Decryption process with 128 bit designed are shown

bellows:

Figure 3.12 The proposed ESE- AES design algorithm for decryption process

35

3.4 Summary

As we have discussed so far, we proposed the two proposed techniques: symmetrical

transposition, and bitwise reverse transposition. These proposed techniques were designed for

ESE-AES algorithm. Under these proposed techniques, the following points were discussed:

proposed design, mathematical modeling, input and output and algorithms of the proposed

methods.

Based on the proposed techniques, the current AES shift row stage was replaced by symmetrical

transposition. This happened to balance the tradeoff between security and efficiency of ESE-AES.

And the AES mix columns stage was replaced by bitwise reversed transposition. This was done

to enhance the speed of the encryption algorithm and to balance the tradeoff between encryption

time and security.

36

Chapter 4. Implementation and Performance Evaluation

4.1 Implementation of our Proposed Algorithms

Our proposed algorithms: ES-AES, EE-AES and ESE-AES are implemented and compared with

original AES algorithms based on the following evaluation metrics: for security (avalanche effect,

soundness of mathematics, effect of confusion and diffusion, hamming distance) and

computational speed (encryption speed, decryption speed). The implementation is conducted

using Intel-R, Core-TM i5, CPU 2.7-GHz, 64-bit Processor with 4 GB of RAM. We have

implemented these algorithms using NetBeans IDE 8.0.1 software. Input to the algorithm is a

block of 128-bit plaintext (data) and a 128-bit key.

4.2 Result and Discussion of the Proposed ESE-AES Algorithm

A single 128-bit block is depicted as a squared matrix of bytes. This block is copied in to the state

array. Which is modified at each stage of encryption or decryption. After the final stage, state is

copied to an output matrix. Let the message be (consider the value is after add with the given key)

Plain text: ABCDEFGHIJKLMNOP Cipher key: 0123456789012345

4.2.1 The Key Expansion Algorithm

The AES key expansion algorithm takes as input a 4-word (16-byte) key and produces a linear

array of forty-four words (176 bytes). this is often enough to provide a 4-word round key for the

initial add round key step and every of the ten rounds of the cipher [22].

-- Key Hex --

| 30 34 38 32 |

| 31 35 39 33 |

| 32 36 30 34 |

| 33 37 31 35 |

-- Plain Text --

| 41 45 49 4D |

| 42 46 4A 4E |

| 43 47 4B 4F |

| 44 48 4C 50 |

37

-- key Expansion –

4.2.2 Encryption Process of ESE-AES

Table 4.1 shows over all encryption process of ESE-AES algorithm with each rounds.

Table 4.1 Encryption process of proposed ESE-AES with each rounds

| 30 34 38 32 |

| 31 35 39 33 |

| 32 36 30 34 |

| 33 37 31 35 |

| AB F3 AE F1 |

| 9A C6 97 C2 |

| A8 F0 A7 F6 |

| 9B C7 96 C3 |

| 6F 63 80 E5 |

| F5 A5 17 27 |

| 5D 55 B0 D1 |

| C6 92 26 12 |

| 24 94 49 51 |

| D1 31 5E 76 |

| 8C 64 EE A7 |

| 4A F6 C8 B5 |

| 6E 7C 9C 87 |

| BF 4D C2 F1 |

| 33 29 2C 56 |

| 79 DF E4 E3 |

| E0 15 8D 31 |

| 5F 58 4F C0 |

| 6C 71 63 96 |

| 15 AE 87 75 |

| 24 02 10 68 |

| 7B 5A 5F A8 |

| 17 2B 3C 3E |

| 02 85 BB 4B |

| F3 E8 A3 1F |

| 88 B2 FC B7 |

| 9F 99 C0 89 |

| 9D 1C 7B C2 |

| EF C9 86 41 |

| 67 7B 7A F6 |

| F8 E2 BA 7F |

| 65 FE C1 BD |

| 4F B1 FC 0C |

| 28 CA 86 FA |

| D0 28 3C 85 |

| B5 D6 FD 38 |

| 8F E5 FB D9 |

| A7 2F 7D 23 |

| 77 07 41 A6 |

| C2 D1 BC 9E |

38

Round Start of Round

After Sub

Bytes

After Symmetrical

Transposition

Bit Revers

Transposition

Round key

Value

0 | 41 45 49 4D |

| 42 46 4A 4E |

| 43 47 4B 4F |

| 44 48 4C 50 |

| 30 34 38 32 |

| 31 35 39 33 |

| 32 36 30 34 |

| 33 37 31 35 |

1 | 71 74 7B 7E |

| 76 73 7C 79 |

| 7B 7E 7B 7E |

| 76 7B 78 65 |

A3 92 21 F3 |

| 38 8F 10 B6 |

| 21 F3 21 F3 |

| 38 21 BC 4D |

| A3 38 21 38 |

| 92 8F F3 21 |

| 21 10 21 BC |

| F3 B6 F3 4D |

| C4 1C 84 1C |

| 49 F0 CE 84 |

| 84 08 84 3D |

| CE 6D CE B2 |

| 30 31 32 33 |

| 34 35 36 37 |

| 38 39 30 31 |

| 32 33 34 35 |

2 | 6F 86 2C 87 |

| BA 36 3E 43 |

| 2A 9F 23 AB |

| 3F AF 38 71 |

| A8 44 71 17 |

| F4 05 B2 1A |

| E5 DB 26 62 |

| 75 79 07 A3 |

| A8 F4 E5 75 |

| 44 05 DB 79 |

| 71 B2 26 07 |

| 17 1A 62 A3 |

| 15 2F A6 AE |

| 22 A0 DA 9E |

| 8E 4D 64 E0 |

| E8 58 46 C4 |

| AB 9A A8 9B|

| F3 C6 F0 C7 |

| AE 97 A7 96 |

| F1 C2 F6 C3 |

3 | 7A DA FB 68|

| 41 05 8F 0C |

| 0E 5A D4 C6|

| 0D 7F 97 D6 |

| DA 57 0F 45 |

| 83 6B 73 FE |

| AB BE 48 B4|

| D7 D2 88 F6 |

| DA 83 AB D7 |

| 57 6B BE D2 |

| 0F 73 48 88 |

| 45 FE B4 F6 |

| 5B C0 D4 EA |

| EA D6 7D 4B |

| F0 CE 12 11 |

| A2 7F 2D 6F |

| 6F F5 5D C6 |

| 63 A5 55 92 |

| 80 17 B0 26 |

| E5 27 D1 12 |

4 | 7F 11 58 A0 |

| 7E E7 19 BD |

| B9 90 FC D9 |

| F3 09 8A DA|

| D2 82 6A E0 |

| F3 94 D4 7A |

| 56 60 B0 35 |

| 0D 01 7E 57 |

| D2 F3 56 0D |

| 82 94 60 01 |

| 6A D4 B0 7E |

| E0 7A 35 57 |

| 4B CE 6A B0 |

| 41 29 06 80 |

| 56 2B 0D 7E |

| 07 5E AC EA |

| 24 D1 8C 4A |

| 94 31 64 F6 |

| 49 5E EE C8 |

| 51 76 A7 B5 |

5 | 25 71 59 C9 | |3F A3 CB DD| | 3F 27 74 CD | | FC E4 2E B2 | | 6E BF 33 79 |

39

| 3D 64 2F 5F |

| CA E9 21 9A|

| 80 AF FA 09 |

| 27 43 15 CF |

| 74 1E FD B8 |

| CD 79 2D 01 |

| A3 43 1E 79 |

| CB 15 FD 2D |

| DD CF B8 01 |

| C4 C2 78 9E |

| D2 A8 BE B4 |

| BA F2 1D 80 |

| 7C 4D 29 DF |

| 9C C2 2C E4 |

| 87 F1 56 E3 |

6 | 1C BB 42 A7|

| D1 9A 09 30 |

| 5F E7 DD 33 |

| 8B 32 8B F5 |

| 9C EA 2C 5C|

| 3E B8 01 04 |

| CF 94 C1 C3 |

| 3D 23 3D E6 |

| 9C 3E CF 3D |

| EA B8 94 23 |

| 2C 01 C1 3D |

| 5C 04 C3 E6 |

| 39 7C F2 BC |

| 57 1D 29 C4 |

| 34 80 82 BC |

| 3A 20 C2 67 |

| E0 5F 6C 15 |

| 15 58 71 AE |

| 8D 4F 63 87 |

| 31 C0 96 75 |

7 | 1D 07 E5 BE |

| 55 47 02 41 |

| 24 DF BE 07 |

| 52 88 FC 2C |

| A4 C5 D9 AE|

| FC A0 77 83 |

| 36 9E AE C5 |

| 00 C4 B0 71 |

| A4 FC 36 00 |

| C5 A0 9E C4 |

| D9 77 AE B0 |

| AE 83 C5 71 |

| 25 3F 6C 00 |

| A2 05 79 23 |

| 9A EE 75 0D |

| 75 C0 A2 8E |

| 24 7B 17 02 |

| 02 5A 2B 85 |

| 10 5F 3C BB |

| 68 A8 3E 4B |

8 | D6 B7 F3 9D |

| 4A B7 E0 3F |

| 39 12 B5 76 |

| 6A 77 2B 4C |

| F6 A9 0D 5E |

| D6 A9 E1 75 |

| 12 C9 D5 38 |

| 02 F5 F1 29

| F6 D6 12 02 |

| A9 A9 C9 F5 |

| 0D E1 D5 F1 |

| 5E 75 38 29 |

| 6F 6B 48 40 |

| 94 94 92 AE |

| B0 86 AA 8E |

| 7A AE 1C 94 |

| F3 88 9F 9D |

| E8 B2 99 1C |

| A3 FC C0 7B |

| 1F B7 89 C2 |

9 | 80 0C B0 25 |

| 5D EF 70 50 |

| 36 FC 10 4F |

| 3B 58 63 29 |

| CD FE E7 3F|

| 4C DF 51 53 |

| 05 B0 CA 84 |

| E2 6A FB A5|

| CD 4C 05 E2 |

| FE DF B0 6A |

| E7 51 CA FB |

| 3F 53 84 A5 |

| B2 32 A0 47 |

| 7F FA 0D 56 |

| E6 8A 53 DE |

| FC CA 21 A4 |

| EF 67 F8 65 |

| C9 7B E2 FE |

| 86 7A BA C1 |

| 41 F6 7F BD |

10 | DB 2C D5 4E|

| 47 2B F9 D5 |

| AA 42 E9 F5 |

| 50 EE 80 40 |

| 54 A2 51 89 |

| 8B 04 3F CD |

| A2 FE A8 26 |

| 8C 04 49 DE |

| 54 8B A2 8C |

| A2 04 FE 04 |

| 51 3F A8 49 |

| 89 CD 26 DE |

| 4F 28 D0 B5 |

| B1 CA 28 D6 |

| FC 86 3C FD |

| 0C FA 85 38 |

40

4.3 Security Analysis: Enhanced Security Advanced Encryption Standard

(ES-AES) Algorithm

The security analysis was based on the following evaluation metrics: used are soundness of

math, randomness of output, Avalanche effect, effect of diffusion.

To balance the tradeoff between efficiency and security we were working on shift row stage of

AES replacing by symmetrical transposition technique. Firs we would like to compared the

existing and proposed techniques as follows:

4.3.1 Comparison of the Existing Shift Rows and Proposed Symmetrical

Transposition based on Randomness of the Output

Example, let the message be considering this values is after Sub Bytes:

Based on section 2.2.1.5 on related work explanation, Shift Row is a circular method that started

from second row to fourth row on state key array. Table. 4.2. Shows Degree of Input and Shift

Row Output Confusion.

Figure 4.1 Shows identical input of shift rows and symmetrical transposition, however distinction output

41

Table 4.2 Degree of Input and Shift Row Output Confusion

Input 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 50

Output 41 46 4B 50 45 4A 4F 44 49 4E 4B 48 4D 42 47 4C

Table 4.2 shows the input value 41 move to output value 41, then input value 42 move to output

value 41 and so on.

The Shift Row transformation looks like this:

Table 4.3 The existing shift row transformation

From To

41 45 49 4D 41 45 49 4D

42 46 4A 4E 46 4A 4E 42

43 47 4B 4F 4B 4F 43 47

44 48 4C 50 50 44 48 4C

The output of the shift rows shows 75% randomness, which makes less confusion to compare the

proposed symmetrical transposition.

Based on section 3.3.3 proposed technique explanation, symmetrical transposition could be a

symmetrical method that interchanging the position of non-main diagonal elements that are

symmetrical with relation to the most diagonal and interchanging the position of the most diagonal

elements that are symmetrical with relation to the non-diagonal these symmetrical process could

be better output randomness, that has index value that mapped on to index of key state that ought

to be inserting. Table. 4.4. The array symmetrical transposition value input for symmetrical

movement.

42

Table 4.4 Degree of Input and Symmetrical Transposition Output Confusion

Index 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 50

Value 50 45 49 4D 42 4B 4A 4E 43 47 46 4F 44 48 4C 41

Table 4.4 shows the input value 41 move to output value 50, then input value 42 move to index

value 45 and so on.

The Proposed Symmetrical Transposition looks like this:

Table 4.5 The Proposed Symmetrical Transposition

From To

41 45 49 4D 50 42 43 44

42 46 4A 4E 45 4B 47 48

43 47 4B 4F 49 4A 46 4C

44 48 4C 50 4D 4E 4F 41

The output of the proposed symmetrical transposition shows 100% randomness, which makes

better confusion. That the proposed methodology shows better randomness of in the output. Is

shows better security is achieved [1].

4.3.2 Avalanche Effect

Avalanche effect, in cryptography, a property referred to as diffusion reflects cryptographically

strength of associate degree algorithm. If there is small modification in associate degree input

(plaintext or in secret key), the output changes significantly. This is also called avalanche effect.

We have measured Avalanche effect using hamming distance. Hamming distance in information

theory is measure of dissimilarity. We find hamming distance as sum of bit-by-bit xor (exclusive

or) considering ASCII value, as it becomes easy to implement programmatically. A high degree

of diffusion i.e. high avalanche result is desired. Avalanche result reflects performance of

cryptographically algorithm [1].

The avalanche effect formula shows as the follows equation 4.1

43

Avalanche effect% =Number of flipped bits in cipher text

𝑁𝑢𝑚𝑏𝑒𝑟 𝑜𝑓 𝑡𝑜𝑡𝑎𝑙 𝑏𝑖𝑡𝑠 𝑖𝑛 𝑐𝑖𝑝ℎ𝑒𝑟 𝑡𝑒𝑥𝑡∗ 100 ---------------4.1

Where: Number of flipped bits in cipher text is Number of Changed bit in Cipher text

Number of total bits in cipher text is total Number of block size of the algorithm in

the cipher text

Example: Key: 0123456789012345 for all ES-AES, EE-AES, AES and ESE-AES

Table 4.6 Comparison of avalanche effect of ES-AES, EE-AES, AES and ESE-AES algorithms

for the same data size (128-bit)

Plaintext

(Alphabet)

input of AES,

,ES-AES, EE-

AES and ESE-

AES

Cipher text(Hex) of

AES, ES-AES, EE-

AES and ESE-AES

consecutively

Number of bits flipped with Avalanche effect% of

AE

S

ES-

AES

EE-

AES

ESE-

AES

AE

S

ES-

AES

%

EE-

AES

ESE-

AES

ABCDEFGHIJ

KLMNOP(0-

bit change)

| 39 52 BD 72 |

| DD CD FA D7 |

| 33 1A C6 0B |

| F0 4D 26 76 |

66 51.6

| F7 4C D4 B8 |

| 89 3C 44 B3 |

| 6C DA F4 AF |

| B3 39 D7 4E |

77 60.2

| CB 36 78 9F |

| 37 FC BE A3 |

| B1 FC A1 61 |

| 49 6C 35 05 |

62 48.4

44

| CB E5 EE FC |

| 8B B7 3C 47 |

| 86 6B 45 99 |

| 50 02 0E 80 |

54 42.2

ABCDEFGHIJ

KLMNOP (1-

bit change

i.e. A to 1)

| 18 9C 3E F2 |

| 4D 36 35 C9 |

| 63 3A 6F 4C |

| 26 E3 0C 78 |

60 46.9

| 12 33 6F 2E |

| 3C 04 BB 66 |

| E8 A6 94 13 |

| 38 95 EA EE |

71 55.5

| 0E 11 B2 E9 |

| AA D7 C3 26 |

| 47 8A B3 D5 |

| 8C 8E 46 58 |

53 41.4

| 0E 24 E5 37 |

| 03 CB D2 C8 |

| 53 93 C1 CE |

| 28 1B EC 0E |

53 41.4

ABCDEFGHIJ

KLMNOP (2-

bit change

| 5E AC ED DE |

| 0F 5E 6B 08 |

| EA 72 14 0F |

64 50

45

i.e. A to 33) | 62 E3 71 A3

| 76 CE 3A F4 |

| A4 A9 F9 A2 |

| 96 1E 88 94 |

| A0 B2 F9 31 |

79 61.7

| 2F E4 08 5E |

| 63 79 C7 78 |

| 02 8F E2 3D |

| EA 54 9A 78 |

59 46.1

| 2F 3A B3 6C |

| 9B 7B ED 53 |

| A7 A2 0A 1D |

| 5A 93 2C 06 |

65 51

Figure 4:2 Comparison of avalanche effect of proposed ES-AES, EE-AES, ESE-AES and AES

algorithms for the same data size.

0

10

20

30

40

50

60

70

0 bit change 1-bit change 2-bits change

Aval

anch

e ef

fect

%

Number of changed bits in the Input

Avalanche effect% AES Avalanche effect% ES-AES

Avalanche effect% EE-AES Avalanche effect% of ESE-AES

46

Avalanche effect result is extremely necessary characteristic for coding algorithm. This property

seen one bit in plaintext then observance the change within the outcome of a minimum of 1/2 the

bits within the cipher text [1]. Hence in the above graph showed ES-AES and ESE-AES achieved

better avalanche effect respectively compared to EE-AES and AES.

Figure 4.3 Comparison of avalanche effect of AES, ES-AES, EE-AES and ESE-AES algorithms for the

same data size.

4.3.3 Analysis of the Existing and Proposed Algorithm Effects on the

Diffusion Property

In this section we evaluate of diffusion property of the proposed methods (symmetrical

transposition) compared with diffusion of the shift rows of AES. Diffusion property calculated

by using Hamming Distance (HD), wherever the HD could be a range of various symbols

between 2 strings of equal length [15] [16]. In the run time of two previous methods for testing

the change in the cipher value and measured hamming distance between input and output

(current output) for each round. We suggested the message "ABCDEFGHIJKLMNOP" as input

for all methods that consist of 16 char which represent a one block and notice the changing. The

following Table 4.7 showed a change in the cipher value and hamming distance for each round

in the shift rows. Table 4.8 showed a change in the cipher value and hamming distance for each

round in the proposed method (symmetrical transposition).

Example: Key: 0123456789012345

Plain Text: ABCDEFGHIJKLMNOP

51.646.9 49.2

60.255.5

61.7

48.441.4

46.142.2 41.4

51

0 BIT CHANGE 1-BIT CHANGE 2-BITS CHANGE

Ava

lan

che

eff

ect

%

Number of changed bits in the Input

Avalanche effect% AES Avalanche effect% ES-AES Avalanche effect% EE-AES Avalanche effect% of ESE-AES

47

Table 4.7 The Cipher Value and Hamming Distance for the Change Shift Rows Operation.

No,

Rounds

The Change Shift Rows Operation. Hamming

Distance

(bits) Cipher text (Hex)

1 A3 92 21 F3 8F 10 B6 38 21 F3 21 F3 4D 38 21 BC 69

2 CA 58 F1 EF2C 69 42 21 82 D2 F0 E0 4D E2 B0 09 66

3 39 8B 93 A7 E0 14 D7 FD C3 34 E4 49 E9 22 62CA 60

4 A0 42 FC CD CE F0 32 78 9E 6E D8 8A 10 8C 22BB 65

5 89 B5 10 83 74 E1 86 89 15 C4 D9 26 04 FE AC 94 57

6 43 71 C2 80 5E AC 57 84 6D 33 B1 81 F5 61 B4 F4 59

7 61 36 92 0F4A E2 DA 08 F0 32 66 A0 F7 A8 33 42 60

8 9B 1A CD B6 06 27 F4 F8 82 F8 A3 7916 0D 38 BB 66

9 4A8A D9 2E C7A2 DC 03 90 62 B2 EA 60 CFA4 FA 62

10 B6 F5 CA B0 38 E2 FD 06 C8 67 87 B7 29 6E 80 E8 63

48

Example 2: Key: 0123456789012345

Plain Text: ABCDEFGHIJKLMNOP

Table 4.8 The Cipher Value and Hamming Distance (bits) for the Change Symmetrical

Transposition Operation

.

From the results explained in Table 4.7 and Table 4.8, we notice the hamming distance values in

Table 4.8 range from 59 bits to 74 bits, however the hamming distance values in Table 4.7 are

ranged from 57 bits to 71 bits. When shift rows operation changes the position by exchange with

sub operation, it caused less diffusion property. Therefore, the sequence of operations the

proposed symmetrical transposition shows better diffusion.

No, Rounds The Change Symmetrical Transposition Hamming

Distance

(bits) Cipher text (Hex)

1 A3 38 21 38 92 8F F3 21 21 10 21 BC F3 B6 F3 4D 71

2 A7 16 66 83 B4 FF 78 AA 05 65 12 F4 B6 15 E2 64 73

3 2F AB 6A 3E 6D CE 2B 95 1E F0 A9 8B E4 27 53 A2 68

4 9A 5C 63 CD 77 C7 D3 E1 9E E9 7D 27 EA C1 DC 4E 66

5 91 39 8F FA FF 4D E8 3A 80 91 D4 BB D3 CE 20 E6 77

6 60 A5 90 39 06 5E B3 70 AE 40 0E D01E CA AF 05 60

7 58 EE 7D 4A 2C 3B EF BD 1A 21 1E 3C 96 23 5A AC 70

8 EA 53 2C 42 63 02 AB 25 2B CB CD B3 6E 9E AF 1D 59

9 BA 42 E9 8C4F BF C0 55 36 D0 B1 34 B7 3F B0 0E 74

10 51 BC 5C 03 EE 56 0C D8 1A 93 5C 79 8F 3A 58 74 65

49

Figure 4.4 Analysis of the existing shift rows and proposed symmetrical transposition Algorithm

Effects on the Diffusion Property

As we have seen the above line graph, when hamming distance value is increased, the diffusion

of bits in cipher text is increased and this makes our algorithm a more secure encryption

algorithm.

4.4 Performance Analyses: Enhanced Efficiency Advanced Encryption

Standard (EE-AES) algorithm

The analysis is based on metrics: Encryption Speed and Decryption Speed.

Here the performance of our algorithms are compared with AES and MAES algorithms.

4.4.1 Encryption Speed

The Encryption time is one of the vital parameter whereas observing performance of any kind

cipher [18].

Comparison of Encryption time taking average of 1st 5, 2nd 5 and 10 trials (16 byte) of AES, M-

AES, ES-AES, EE-AES and ESE-AES algorithms of 10 trials (16 byte) shows Table:4.9, 4.10

and 4.11.

As it is possible to refer the following Tables, ten trials were taken to test the encryption time of

the proposed algorithm. The reason to take ten trials java run time is that data processing system

of CPU, RAM, and Hard Disk is not constant. In other words, there is time variation among the

first, second and so on trials. In the first trial, it takes longer time than the second and the so on

0

50

100

0 1 2 3 4 5 6 7 8 9 10 11

HA

MM

ING

DIS

TAN

CE

(BIT

S)

NUMBER OF ROUNDS

Hamming Distance(bits)

Shift Rows Symmetrical Transposition

50

trials. This happens due to the text that CPU is unfamiliar with RAM and it also un familiar with

hard disk for the first time. But in the second, third and so on trials, they become familiar each

other and can transfer data with faster manner. As a result, three ways of trials were taken in such

a way that 1st five trials,2nd five trials and 3rd ten trials (the sum of the 1st and 2nd trials) of the

three trials they were took average as a result encryption time of the trials.

Table 4.9 Encryption time taking average of 10 trials (16 byte)

Algorithms Encryption Time Efficiency comparison

Encryption Time (sec) Encryption Time (ms) %

AES 0.4749 474.9 100%

M-AES 0.3865 386.5 118.5%

ES-AES 0.4156 415.6 112.487%

EE-AES 0.3374 337.4 128.953%

ESE-AES 0.37 370 22.09%

Figure 4.5 Encryption time bar graph of taking average of 10 trials (16 byte)

The above bar graph showed comparison of AES, M-AES, ES-AES, EE-AES and ESE-AES

algorithms, as we have seen the encryption time, the proposed method (EE-AES and ESE-AES)

were better performance when compare to the existing AES, ES-AES and MAES.

100.00%

118.50% 112.50%

128.90%122.10%

AES M-AES ES-AES EE-AES ESE-AESEncr

ypti

on

tim

e t

akin

g av

era

ge

of

10

tri

als

(16

byt

e)

in %

Algorithms

51

Table 4.10 Encryption time taking average of 1st 5 trials (16 byte)

Algorithms Encryption Time Efficiency comparison

Encryption Time (sec) Encryption Time (ms) %

AES 0.4936 493.6 100%

ES-AES 0.456 456 107.617%

EE-AES 0.3466 346.6 129.78%

ESE-AES 0.3752 375.2 123.987%

Table 4.11 Encryption time taking average of 2nd 5 trials (16 byte)

Algorithms Encryption Time Efficiency comparison

Encryption Time (sec) Encryption Time (ms) %

AES 0.4936 493.6 100%

ES-AES 0.456 456 108.9%

EE-AES 0.3466 346.6 28.58%

ESE-AES 0.3752 375.2 119.816%

4.4.2 Decryption Speed

Decryption time The time to recover plaintext from cipher text is called decryption time. The

decryption time is desired to be less similar to encryption time to make system responsive and

fast. Decryption time affects performance of system [1] [19]. In our experiment, we have

measured decryption time is milliseconds as follows:

Decryption time: The time to recover plaintext from cipher text is named decipherment time. The

decipherment time is desired to be less almost like encoding time to create system responsive and

52

quick. decipherment time affects performance of system. In our experiment, we've got measured

decipherment time is milliseconds as follows:

Table 4.12 Decryption time taking average of 10 trials (16 byte)

Algorithms Decryption Time Efficiency comparison

Decryption Time (sec) Decryption Time (ms) %

AES 27.579 27579.2 100%

ES-AES 6.836 6835.9 24.9%

EE-AES 4.264 4264.2 15.46 %

ESE-AES 5.6122 5612.2 20.4%

Table 4.13 Decryption Time taking 1st 5 Trials (16 byte)

Algorithms Decryption Time Efficiency comparison

Decryption Time (sec) Decryption Time (ms) %

AES 39.7133 39713.6 100

ES-AES 10.334 10334 26.0%

EE-AES 5.0378 5037.8 12.7%

ESE-AES 5.6696 5669.6 14.4%

Table 4.14 Decryption Time taking 2st 5 Trials (16 byte)

Algorithms Decryption Time Efficiency comparison

Decryption Time (sec) Decryption Time (ms) %

AES 15.4448 15444.8 100

53

ES-AES 3.3378 3337.8 21.6%

EE-AES 3.4906 3490.6 22.6%

ESE-AES 4.5548 4554.8 29.5%

4.4.3 Throughput

The throughput is outlined as variety of bits which will be encoded and decoded throughout one

unit of your time. Thus, in variety of equation the throughput is outlined as: [20].

𝑇𝐻𝑅AES=128/𝑇𝐸𝑁𝐶

𝑇𝐻𝑅𝑃AES=128/𝑇𝐸𝑁𝐶

𝑇𝐻𝑅PST=128/𝑇𝐸𝑁𝐶

𝑇𝐻𝑅𝑃BWRT=128/𝑇𝐸𝑁𝐶

Where, 𝑇𝐻𝑅𝐴ES is representation of throughput for AES algorithm, 𝑇𝐻𝑅𝑃𝐴ES is representation of

throughput for proposed AES algorithm, 𝑇𝐻𝑅PST is representation of throughput for proposed

Symmetrical Transposition algorithm, 𝑇𝐻𝑅𝑃BWRT is representation of throughput for proposed

bitwise reverse transposition algorithm, 𝑇𝐸𝑁𝐶 denotes the time taken to cypher the 128-bit block

message.

Table 4.15 Comparison of throughput at encryption side of AES, ESE-AES, ES-AES and EE-

AES based on ten trails experimental result.

Evaluation matrix AES ESE-AES ES-AES EE-AES

Throughput 269.5 346 308 379.4

% 100% 128.4% 114.3% 140.8%

54

Fig 4.6 shows, throughput for encryption side based on taking average of 10 trials (16 byte)

Figure 4:6 throughputs for encryption side

100114.3

140.8128.4

AES ES-AES EE-AES ESE-AESThro

ugh

pu

t at

en

cryp

tio

n s

ide

(b

ps)

Algorithms

Throughput

55

Chapter 5. Conclusions and Future Work

5.1 Conclusions

To enhance the security and encryption-decryption performance speed AES we have designed

ESE-AES algorithm. ESE-AES algorithm substitutes 2nd and 3rd stages (shift rows and mix

column) of AES with symmetrical transposition and bitwise reverse transposition, respectively.

The symmetrical transposition showed better security measured in metrics: hamming distance,

avalanche effect, diffusion and randomness of the output compared to the existing shift rows of

AES algorithm. For example, it showed that the avalanche effect of our proposed algorithm is

greater than 50% when compared to 49.2% avalanche effect of AES.

The bitwise reverse transposition resulted in better encryption and decryption speed when

compared to the existing mix columns stage of AES algorithm. The experimental result showed

12.48%, 28.953% and 22.9% encryption speed increase by symmetrical transposition, bitwise

reverse transposition and integration of both stages when compared to AES algorithm.

The outcome of the throughput also increased by 114.3% of Symmetrical transposition, 140.8%

of bitwise reverse transposition and 128.4% because of symmetrical transposition, bitwise reverse

transposition and integration of both stages, respectively when compared to AES algorithm.

From this we can conclude that the proposed algorithm showed better security, encryption-

decryption speed and throughput performance than AES algorithm.

5.2 Future Work

As a future work, one can consider testing our algorithm with different bit size and comparing it

with most state-of-the-art algorithms; implementing the algorithm in real environment with

different size of text, image and video.

56

References

[1] Mary James, Deepa S Kumar P.G Scholar (2016, March 03). An Optimized Parallel Mix

column and Sub bytes’ design in Lightweight Advanced Encryption Standard .

International Journal Computational Engineering Research (IJCER) ISSN , ( 25 – 26).

[2] Arnab Rahman Chowdhury∗, Junayed Mahmud†, Abu Raihan Mostofa Kamal†, Md. Abdul

Hamid, Member. (2018). MAES: Modified Advanced Encryption Standard for Resource

Constraint Environments IEEE.

[3] Awad, A. I. (2018, may 16). Introduction to information security foundations and

applications. ResearchGate, . Retrieved from :

https://www.researchgate.net/publication/325170901.

[4] Alexandra Durcikova Murray E. Jennex. ((2017)). Introduction to Confidentiality, Integrity,

and Availability of Knowledge and Data Minitrack. Hawaii: University of Oklahoma San

Diego State University . Retrieved from URI: http://hdl.handle.net/10125/41680

[5] Altatar, M. A. (2017, dece). Modified Advanced Encryption Standard Algorithm for Reliable

Real-Time Communications.

[6] Amit Verma, Simarpreet Kaur, Bharti Chhabra M. Tech. (2016, Oct). Improvement in the

Performance and Security of Advanced Encryption Standard Using AES Algorithm and

Comparison with Blowfish Research Scholar, . International Research Journal of

Engineering and Technology (IRJET).

[7] Sonia Rani Harpreet Kaur. (2017). Implementation and comparison of hybrid encryption

model for secure network using AES and Elgamal.

[8] Mutabaruka, E. (2016). Enhancing Data Security by Using Hybrid Encryption Technique

(Advanced Encryption Standard and Rivest Shamir Adleman) . Elsever.

[9] Avinash Kak. (2018, February 2). The Advanced Encryption Standard February. Springer.

[10] Amina Msolli Abdelhamid Helali Haythem Ameur Hassen Maaref. ( 2017). Secure

Encryption for Wireless Multimedia Sensors Network. 18. Retrieved from

www.ijacsa.thesai.org

57

[11] M. Vaidehi and B. Justus Rabi. (2015, December ). Enhanced Mix Column Design for AES

Encryption.

[12] Rizky Riyaldhia, et al,. (2017., October 13-14). improvement of advanced encryption

standard algorithm with shift row. Elsevier B.V. Retrieved from www.sciencedirect.com

[13] Mohammed Nazeh Abdul Wahid, Abdulrahman Ali, Babak Esparham and Mohamed

Marwan,. ( 2018, JUNE 22). A Comparison of Cryptographic Algorithms: DES, 3DES,

AES, RSA and Blowfish for Guessing Attacks Preventio.

[14] Shashi B.Rna, Puneet Kumar, (2015. November 24). Development of modified AES

algorithm for data security. Elsevier.

[15] Hasanen S. Abdulah, et al. (2018). Analysis of AES Algorithm Effects on the Diffusion

Property. University of Al-Nahrain, Journal/ Issue (29) .

[16] Junjie Yan and Feng. ((2016) ). An Improved AES Key Expansion Algorithm, International

Conference on Electrical, Mechanical and Industrial Engineering. ICEMIE.

[17] Pendli, V.Pathuri, M. Yandrathi, S. and Razaque, A. (2016) Improvising performance of

Advanced Encryption Standard algorithm. Second International Conf. on Mobile and

Secure Services (MobiSecServ). Gainesville, Florida, United States of America.

[18] Stallings, W. ((2014). Cryptography and Network Security - Principles and Practice. (6th

Edn), Upper Saddle River, New Jersey.

[19] Mustafa Emad Hameed (2018, October 20). Review on Improvement of Advanced

Encryption Standard (AES) Algorithm based on Time Execution, Differential

Cryptanalysis and Level of Security. Journal of Telecommunication, Electronic and

Computer Engineering. Retrieved from

https://www.researchgate.net/publication/323081584, Iraq

[20] Ayushi Arya et al. (2016). Effective AES Implementation. International Journal of

Electronics and Communication Engineering & Technology, 6-7.

[21] Weiman, D. (2012). Retrieved from http://creativecommons.org/licenses/by-sa/3.0/ ASCII

Conversion Chart.doc.

[22] Avi Kak, AES: The Advanced Encryption Standard, Avinash Kak, Purdue University,

January 31, 2019, page 20-11

A

Appendices

Appendix I. Java Code for Symmetrical Transposition

Efficient Java program to find Symmetry of Symmetrical Transpositions’ matrix across diagonal.

public class Symmetrical transpositions {

public static String[][] getSymmtry(String[][] state_plain) {

String[][] symm = new String[4][4];

String temp;

for (int i = 0; i < 4; i++) {

for (int j = 0; j < 4; j++) {

temp = state_plain[i][j];

symm[i][j] = state_plain[j][i];

symm[j][i] = temp;

}

}

return symm;

}

}

Appendix II. For Inverse Symmetrical Transpositions

public class InvSymmetricalTransposions {

public static String[][] getInvSymmtry(String[][] state_plain) {

String[][] invsymm = new String[4][4];

String temp;

for (int j = 0; j < 4; j++) {

for (int i = 0; i < 4; i++) {

B

temp = state_plain[j][i];

invsymm[j][i] = state_plain[i][j];

invsymm[i][j] = temp;

}

}

return invsymm;

}

}

Appendix III. Bitwise Reverse Transposition

Efficient Java program to find reverse of Bitwise Reverse Transposition matrix in each byte.

public class BitRevers {

public static void main (String [] args) {

String [][] mat = {{"30", "31", "32", "33"},

{"34", "35", "36", "37"},

{"38", "39", "0A", "0B",},

{"0C", "0D", "0E", "0F"}};

printMat(mat);

String [][] revmat = getBitReverse(mat);

printMat(revmat);

}

public static String [][] getBitReverse(String[][] mat) {

String [][] rmat = new String[4][4];

for (int i = 0; i < 4; i++) {

for (int j = 0; j < 4; j++) {

byte bytval = getBytHexa(mat[i][j]);

C

byte rbyt = getReverseByte(bytval);

String hexaval = getHexaByt(rbyt);

rmat[i][j]=hexaval;

}

}

return rmat;

}

private static int toDigit(char hexChar) {

int digit = Character.digit(hexChar, 16);

if (digit == -1) {

throw new IllegalArgumentException(

"Invalid Hexadecimal Character: " + hexChar);

}

return digit;

}

private static byte getBytHexa(String rmatelement) {

int firstDigit = toDigit(rmatelement.charAt(0));

int secondDigit = toDigit(rmatelement.charAt(1));

byte b = (byte) ((firstDigit << 4) + secondDigit);

return b;

}

private static byte getReverseByte(byte bytval) {

byte reversebyt = 0;

int intSize = 8;

if ((int) bytval % 2 == 0) {

for (int position = intSize - 1; position >= 0; position--) {

reversebyt += ((bytval & 1) << position);

bytval >>= 1;

D

}

} else {

for (int position = intSize - 1; position >0; position--) {

reversebyt += ((bytval & 1) << position);

bytval >>= 1;

}

}

return reversebyt;

}

private static String getHexaByt(byte rbyt) {

String hexval ;//= Integer.toString(rbyt);

hexval = String.format("%02X ", rbyt);

System.out.println("Hexa value: " + hexval);

return hexval;

}

private static void print Mat (String [][] mat) {

System.out.println("-------------------------------------");

for (int i = 0; i < 4; i++) {

for (int j = 0; j < 4; j++) {

System.out.print(mat[i][j] + "\t");

}

System.out.println();

}

}

}

Appendix iv. Inverse Bitwise Reverse Transposition

package reverse;

public class BitReverseDec {

E

public static void main(String[] args) {

String[][] encryptedMatrix = {{"0C", "8C", "2C", "22"}, {"1C", "6C", "2C", "1C"}, {"4C",

"50", "30", "30"}, {"50", "70", "00", "0C"}};

printMat(encryptedMatrix);

String[][] decrptedMatrix = getBitReverseDec(encryptedMatrix);

printMat(decrptedMatrix);

}

public static String[][] getBitReverseDec(String[][] encrptedMat) {

String[][] decrMatrix = new String[4][4];

for (int i = 0; i < 4; i++) {

for (int j = 0; j < 4; j++) {

byte encypHexa = getHexaByt(encrptedMat[i][j]);

byte decrpByte = getReverseByte(encypHexa);

String decrHexa = getHexaByt(decrpByte);

decrMatrix[i][j]=decrHexa;

}

}

return decrMatrix;

}

private static byte getHexaByt(String rmatelement) {

int hb = Integer.parseInt(rmatelement, 16);

System.out.println("Byte : " + hb);

return (byte) hb;

}

private static byte getReverseByte(byte bytval) {

byte reversebyt = 0;

int intSize = 8;

F

if ((int) bytval % 2 == 0) {

for (int position = intSize - 1; position >= 0; position--) {

reversebyt += ((bytval & 1) << position);

bytval >>= 1;

}

} else {

for (int position = intSize - 1; position > 0; position--) {

reversebyt += ((bytval & 1) << position);

bytval >>= 1;

}

}

System.out.println("Reverse Byte: " + reversebyt);

return reversebyt;

}

private static String getHexaByt(byte rbyt) {

String hexval;//= Integer.toString(rbyt);

hexval = String.format("%02X ", rbyt);

System.out.println("Hexa value : " + hexval);

return hexval;

}

private static void printMat(String[][] mat) {

System.out.println("-------------------------------------");

for (int i = 0; i < 4; i++) {

for (int j = 0; j < 4; j++) {

System.out.print(mat[i][j] + "\t");

}

G

System.out.println();

}

}

}

Appendix v. Weiman, D. [21] ASCII - Binary Character Table.

Table 1. Conversions between ASCII, decimal, hexadecimal, octal, and binary values

ASCII Decimal Hexadecimal Octal Binary

null 0 0 0 0

start of header 1 1 1 1

start of text 2 2 2 10

end of text 3 3 3 11

end of

transmission

4 4 4 100

enquire 5 5 5 101

acknowledge 6 6 6 110

bell 7 7 7 111

backspace 8 8 10 1000

H

Table 1. Conversions between ASCII, decimal, hexadecimal, octal, and binary values

ASCII Decimal Hexadecimal Octal Binary

horizontal tab 9 9 11 1001

linefeed 10 A 12 1010

vertical tab 11 B 13 1011

form feed 12 C 14 1100

carriage return 13 D 15 1101

shift out 14 E 16 1110

shift in 15 F 17 1111

data link escape 16 10 20 10000

device control

1/Xon

17 11 21 10001

device control 2 18 12 22 10010

device control

3/Xoff

19 13 23 10011

device control 4 20 14 24 10100

I

Table 1. Conversions between ASCII, decimal, hexadecimal, octal, and binary values

ASCII Decimal Hexadecimal Octal Binary

negative

acknowledge

21 15 25 10101

synchronous idle 22 16 26 10110

end of

transmission

block

23 17 27 10111

cancel 24 18 30 11000

end of medium 25 19 31 11001

end of file/

substitute

26 1A 32 11010

escape 27 1B 33 11011

file separator 28 1C 34 11100

group separator 29 1D 35 11101

record separator 30 1E 36 11110

unit separator 31 1F 37 11111

space 32 20 40 100000

J

Table 1. Conversions between ASCII, decimal, hexadecimal, octal, and binary values

ASCII Decimal Hexadecimal Octal Binary

! 33 21 41 100001

" 34 22 42 100010

# 35 23 43 100011

$ 36 24 44 100100

% 37 25 45 100101

& 38 26 46 100110

' 39 27 47 100111

( 40 28 50 101000

) 41 29 51 101001

* 42 2A 52 101010

+ 43 2B 53 101011

, 44 2C 54 101100

- 45 2D 55 101101

. 46 2E 56 101110

K

Table 1. Conversions between ASCII, decimal, hexadecimal, octal, and binary values

ASCII Decimal Hexadecimal Octal Binary

/ 47 2F 57 101111

0 48 30 60 110000

1 49 31 61 110001

2 50 32 62 110010

3 51 33 63 110011

4 52 34 64 110100

5 53 35 65 110101

6 54 36 66 110110

7 55 37 67 110111

8 56 38 70 111000

9 57 39 71 111001

: 58 3A 72 111010

; 59 3B 73 111011

< 60 3C 74 111100

L

Table 1. Conversions between ASCII, decimal, hexadecimal, octal, and binary values

ASCII Decimal Hexadecimal Octal Binary

= 61 3D 75 111101

> 62 3E 76 111110

? 63 3F 77 111111

@ 64 40 100 1000000

A 65 41 101 1000001

B 66 42 102 1000010

C 67 43 103 1000011

D 68 44 104 1000100

E 69 45 105 1000101

F 70 46 106 1000110

G 71 47 107 1000111

H 72 48 110 1001000

I 73 49 111 1001001

J 74 4A 112 1001010

M

Table 1. Conversions between ASCII, decimal, hexadecimal, octal, and binary values

ASCII Decimal Hexadecimal Octal Binary

K 75 4B 113 1001011

L 76 4C 114 1001100

M 77 4D 115 1001101

N 78 4E 116 1001110

O 79 4F 117 1001111

P 80 50 120 1010000

Q 81 51 121 1010001

R 82 52 122 1010010

S 83 53 123 1010011

T 84 54 124 1010100

U 85 55 125 1010101

V 86 56 126 1010110

W 87 57 127 1010111

X 88 58 130 1011000

N

Table 1. Conversions between ASCII, decimal, hexadecimal, octal, and binary values

ASCII Decimal Hexadecimal Octal Binary

Y 89 59 131 1011001

Z 90 5A 132 1011010

[ 91 5B 133 1011011

\ 92 5C 134 1011100

] 93 5D 135 1011101

^ 94 5E 136 1011110

_ 95 5F 137 1011111

` 96 60 140 1100000

a 97 61 141 1100001

b 98 62 142 1100010

c 99 63 143 1100011

d 100 64 144 1100100

e 101 65 145 1100101

f 102 66 146 1100110

O

Table 1. Conversions between ASCII, decimal, hexadecimal, octal, and binary values

ASCII Decimal Hexadecimal Octal Binary

g 103 67 147 1100111

h 104 68 150 1101000

i 105 69 151 1101001

j 106 6A 152 1101010

k 107 6B 153 1101011

l 108 6C 154 1101100

m 109 6D 155 1101101

n 110 6E 156 1101110

o 111 6F 157 1101111

p 112 70 160 1110000

q 113 71 161 1110001

r 114 72 162 1110010

s 115 73 163 1110011

t 116 74 164 1110100

P

Table 1. Conversions between ASCII, decimal, hexadecimal, octal, and binary values

ASCII Decimal Hexadecimal Octal Binary

u 117 75 165 1110101

v 118 76 166 1110110

w 119 77 167 1110111

x 120 78 170 1111000

y 121 79 171 1111001

z 122 7A 172 1111010

{ 123 7B 173 1111011

| 124 7C 174 1111100

} 125 7D 175 1111101

~ 126 7E 176 1111110

DEL 127 7F 177 1111111

128 80 200 10000000

129 81 201 10000001

130 82 202 10000010

Q

Table 1. Conversions between ASCII, decimal, hexadecimal, octal, and binary values

ASCII Decimal Hexadecimal Octal Binary

131 83 203 10000011

132 84 204 10000100

133 85 205 10000101

134 86 206 10000110

135 87 207 10000111

136 88 210 10001000

137 89 211 10001001

138 8A 212 10001010

139 8B 213 10001011

140 8C 214 10001100

141 8D 215 10001101

142 8E 216 10001110

143 8F 217 10001111

144 90 220 10010000

R

Table 1. Conversions between ASCII, decimal, hexadecimal, octal, and binary values

ASCII Decimal Hexadecimal Octal Binary

145 91 221 10010001

146 92 222 10010010

147 93 223 10010011

148 94 224 10010100

149 95 225 10010101

150 96 226 10010110

151 97 227 10010111

152 98 230 10011000

153 99 231 10011001

154 9A 232 10011010

155 9B 233 10011011

156 9C 234 10011100

157 9D 235 10011101

158 9E 236 10011110

S

Table 1. Conversions between ASCII, decimal, hexadecimal, octal, and binary values

ASCII Decimal Hexadecimal Octal Binary

159 9F 237 10011111

160 A0 240 10100000

161 A1 241 10100001

162 A2 242 10100010

163 A3 243 10100011

164 A4 244 10100100

165 A5 245 10100101

166 A6 246 10100110

167 A7 247 10100111

168 A8 250 10101000

169 A9 251 10101001

170 AA 252 10101010

171 AB 253 10101011

172 AC 254 10101100

T

Table 1. Conversions between ASCII, decimal, hexadecimal, octal, and binary values

ASCII Decimal Hexadecimal Octal Binary

173 AD 255 10101101

174 AE 256 10101110

175 AF 257 10101111

176 B0 260 10110000

177 B1 261 10110001

178 B2 262 10110010

179 B3 263 10110011

180 B4 264 10110100

181 B5 265 10110101

182 B6 266 10110110

183 B7 267 10110111

184 B8 270 10111000

185 B9 271 10111001

186 BA 272 10111010

U

Table 1. Conversions between ASCII, decimal, hexadecimal, octal, and binary values

ASCII Decimal Hexadecimal Octal Binary

187 BB 273 10111011

188 BC 274 10111100

189 BD 275 10111101

190 BE 276 10111110

191 BF 277 10111111

192 C0 300 11000000

193 C1 301 11000001

194 C2 302 11000010

195 C3 303 11000011

196 C4 304 11000100

197 C5 305 11000101

198 C6 306 11000110

199 C7 307 11000111

200 C8 310 11001000

V

Table 1. Conversions between ASCII, decimal, hexadecimal, octal, and binary values

ASCII Decimal Hexadecimal Octal Binary

201 C9 311 11001001

202 CA 312 11001010

203 CB 313 11001011

204 CC 314 11001100

205 CD 315 11001101

206 CE 316 11001110

207 CF 317 11001111

208 D0 320 11010000

209 D1 321 11010001

210 D2 322 11010010

211 D3 323 11010011

212 D4 324 11010100

213 D5 325 11010101

214 D6 326 11010110

W

Table 1. Conversions between ASCII, decimal, hexadecimal, octal, and binary values

ASCII Decimal Hexadecimal Octal Binary

215 D7 327 11010111

216 D8 330 11011000

217 D9 331 11011001

218 DA 332 11011010

219 DB 333 11011011

220 DC 334 11011100

221 DD 335 11011101

222 DE 336 11011110

223 DF 337 11011111

224 E0 340 11100000

225 E1 341 11100001

226 E2 342 11100010

227 E3 343 11100011

228 E4 344 11100100

X

Table 1. Conversions between ASCII, decimal, hexadecimal, octal, and binary values

ASCII Decimal Hexadecimal Octal Binary

229 E5 345 11100101

230 E6 346 11100110

231 E7 347 11100111

232 E8 350 11101000

233 E9 351 11101001

234 EA 352 11101010

235 EB 353 11101011

236 EC 354 11101100

237 ED 355 11101101

238 EE 356 11101110

239 EF 357 11101111

240 F0 360 11110000

241 F1 361 11110001

242 F2 362 11110010

Y

Table 1. Conversions between ASCII, decimal, hexadecimal, octal, and binary values

ASCII Decimal Hexadecimal Octal Binary

243 F3 363 11110011

244 F4 364 11110100

245 F5 365 11110101

246 F6 366 11110110

247 F7 367 11110111

248 F8 370 11111000

249 F9 371 11111001

250 FA 372 11111010

251 FB 373 11111011

252 FC 374 11111100

253 FD 375 11111101

254 FE 376 11111110

255 FF 377 11111111