SlideShare a Scribd company logo
“Optimized AES Algorithm Core Using
FeedBack Architecture”
Chintan Raval1
, Nirav Desai2
1, 2,
Pursuing M.Tech., VLSI, U.V.Patel college of Engineering and Technology, Kherva, Mehsana, India
Chintanraval14@gmail.com, niravdesai712@gmail.com
Abstract—A new Feedback technology based design scheme
of the AES-128 (Advanced Encryption Standard, with 128-
bit key) encryption algorithm is proposed in this paper. For
maintaining the speed of encryption, the Feedback
technology is applied and the mode of data transmission is
modified in this design so that the chip size can be reduced.
The 128-bit plaintext and the 128- bit initial key, as well as
the 128-bit output of cipher text, are all divided into four 32-
bit consecutive units respectively controlled by the clock.
This new program can significantly decrease quantity of
chip pins and effectively optimize the area of chip.
KeyWords—Area Optimization, Encryption, Decryption,
Key Generation, PipeLine Arch., FeedBack Arch.
I. INTRODUCTION
The 3DES algorithm has been subjected to more
scrutiny than any other encryption algorithm over a long
period of time and no effective cryptanalytic attack based
on algorithm rather than brute force has been found.
Accordingly there is a high level of confidence that 3DES
is very resistant to cryptanalysis. If security were that
only consideration then 3DES would be an appropriate
choice for a standardized encryption algorithm for
decades to come.
The principle drawback of 3DES is that the
algorithm is relatively sluggish in software. The original
DES was designed for mid 1970s hardware
implementation and does not produce efficient software
code. 3DES which has 3 times as many rounds as DES is
correspondingly slower. A secondary drawback is that
both DES and 3DES use a 64-bit block size. For reasons
of both efficiency and security a larger block size is
desirable.
Just because of these drawbacks, 3DES is not
reasonable candidate for long term use. As a replacement,
NIST in 1997 issued a call for proposals for a new
Advanced Encryption Standard (AES) which should have
security strength equal or better than 3DES and
significantly improved efficiency. In addition to these
general requirements NIST specified that AES must be
symmetric block cipher with a block length of 128 bits
and support for key lengths of 128,192,256 bits.
In first round of evaluation, 15 proposed
algorithms were accepted. In second round 5 were
accepted. NIST completed its evaluation process and
published a final standard (FIPS 197) in November 2001.
NIST selected Rijndael as the proposed AES algorithm.
The two researchers who developed and submitted
Rijndael for the AES are both cryptographers from
Belgium: Dr. Joan Daemen and Dr. Vincent Rijmen.
The choice of platform, software, ASIC or
FPGA, is driven by several aspects, such as algorithm
performance, cost and flexibility. Although ASIC has
highest performance and lowest unit cost, it has no
flexibility at all. While software has the most flexibility
of all, the performance is very low.
II. AES Block Diagram & Description
Figure 1:AES Algorithm Block Diagram
As shown in Fig.1, The algorithm is divided into
three parts. Encryption, Decryption and Key Generation
Parts.
A. Encryption
The Encryption process consist of ten rounds of
transformation. But the input given to the round #1 will
be EX-OR of 128 bits plain text and 128 bit key. Each
round from round #1 to round #9 again consist of four
different transformation internally except 10 round. These
transformation are namely SubBytes, ShiftRows,
MixColumns and AddRound key transformation. The
result of one transformation is given as input to the next
transformation as shown in the figure. Round #10 is
slightly different from other rounds in that the
MixCloumns transformation is removed. The output of
each round is fed to the next round as input. Total ten
rounds of transformations produces encrypted output
called cipher text.
B. Decryption
The Decryption process is reverse process of
Encryption and it also consists of ten rounds of
transformation. But the input to round #1 will be EX-OR
of cipher text and key 10. Each round from round #1 to
round #9 again consists of four different transformation
internally except 10 round. These transformations are
namely InvSubBytes, InvShiftRows, InvMixColumns and
InvAddRound key transformation. Round #10 is slightly
different from other rounds in that the InvMixColumns
transformation is removed. Like in Encryption output of
one round is fed as input to the next round. The usage of
keys also reverse in this case i.e. round #1 uses key 9 and
round #2 uses key 8 and so on. Total ten rounds of
transformations produces decrypted output i.e. Plain Text.
C. Key Generation
This part takes a 128 bit key. The 128 bit key is
divided into four words represented in w[0,3]. These four
words are used as it is for encryption initially before
starting of a round and for round 10 of decryption part.
These 4 words are used for producing a new key
represented by w[4,7]. Which is used for round #1 of
encryption and round #9 of decryption. These 4 words
represented by w[4,7] which is key 1, is used for
producing key2 represented by w[8,11]. Like this it will
generate total 40 words i.e. 10 keys.
III. AES Specification
For the AES algorithm, the number of rounds to be
performed during the execution of the algorithm is
dependent on the key size. The number of rounds is
represented by Nr, where Nr = 10 when Nk = 4, Nr = 12
when Nk = 6, and Nr = 14 when Nk = 8. The only Key-
Block-Round combinations that conform to this
standard are given in Fig. 2.
Figure 2: Key-Block-Round Combinations.
A. Key Generation
The AES algorithm takes the cipher key, K, and
performs a Key Expansion routine to generate a key
schedule. The Key Expansion generates a total of Nb
(Nr + 1) words: the algorithm requires an initial set of Nb
words, and each of the Nr rounds require Nb words of
key data. The resulting key schedule consists of a linear
array of 4-byte words, denoted [wi], with I in the range
0≤ I <Nb(Nr + 1).
The key expansion has Temp, Subword(),
Rotword(), Rcon[i],w[i - Nk] stages. The following
example will show its detail.
Cipher Key =
2b 7e 15 16 28 ae d2 a6 ab f7 15 88 09 cf 4f 3c
for Nk = 4, which results in
w0 = 2b7e1516, w1 = 28aed2a6, w2 = abf71588, w3 =
09cf4f3c
Figure 3:Key Generation Example.
B. Encryption (cipher)
The Encryption consists of 4 different
transformation. The individual transformations -
SubBytes(), ShiftRows(), MixColumns(), and
AddRoundKey() process the State and are described in
the following subsections. All Nr rounds are identical
with the exception of the final round, which does not
include the MixColumns()transformation.
1. SubBytes( ).
The SubBytes() transformation is a non-linear byte
substitution that operates independently on each byte of
the State using a substitution table (S-box). This S-box is
invertible, is constructed by composing two
transformations:
The following Figure.4. illustrates the effect of the
SubBytes() function on the state.
Figure 4: Subbytes applies the s-box to each of the state.
2. ShiftRows( ).
In the ShiftRows() transformation, the bytes in
the last three rows of the State are cyclically shifted
over different numbers of bytes (offsets). The first
row,r=0,is not shifted.Specifically, the ShiftRows( )
transformation proceeds as follows:
Figure 5 illustrates the ShiftRows()transformation.
Figure 5: Shiftrows cyclically shifts last three rows.
3. MixColumns( ).
The MixColumns() transformation operates on the
State column-by-column, treating each column as a four-
term polynomial as described previously. The columns
are considered as polynomials over GF(2
8
) and multiplied
modulo x
4
+ 1 with a fixed polynomial a(x), given by
a(x)={03}x3
+{01}x2
+{01}x+{02}.
Let,
S’(x) = a(x) XOR s(x).
As a result of this multiplication, the four bytes in a
column are placed by the following:
Figure 6: MixColumns operates on state column by column.
4. AddRoundKey( ).
In the AddRoundKey() transformation, a Round
Key is added to the State by a simple bitwise XOR
operation. Each Round Key consists of Nb words from
the key schedule. Those Nb words are each added into the
columns of the State, such that
The action of this transformation is illustrated in Fig. 7,
where l = round * Nb.
Figure 7: Addroundkey XORS each column of the state with a word
from the key schedule.
C. Decryption (Inverse Cipher)
The Cipher transformations can be inverted and
then implemented in reverse order to produce a
straightforward Inverse Cipher for the AES algorithm.
The individual transformations used in the Inverse Cipher
-InvShiftRows(), InvSubBytes(), InvMixColumns(),
and InvAddRoundKey() – process the State and are
described in the following subsections.
1. InvShiftRows( ).
InvShiftRows() is the inverse of the ShiftRows()
transformation. The bytes in the last three rows of the
State are cyclically shifted over different numbers of
bytes (offsets). The first row, r = 0, is not shifted. The
bottom three rows are cyclically shifted by Nb -shift(r,
Nb) bytes, where the shift value shift(r,Nb) depends on
the row number, Specifically, the InvShiftRows()
transformation proceeds as follows:
S’r,(c+Shift(r,Nb))mod Nb=sr,c for 0<r<4 and 0≤c<Nb.
Figure 8: InvShiftRows cyclically the last three rows in a state.
2. InvSubBytes( ).
InvSubBytes() is the inverse of the byte substitution
transformation, in which the inverse S-box is applied to
each byte of the State. This is obtained by applying the
inverse of the affine transformation followed by taking
the multiplicative inverse in GF(2
8
).
3. InvMixColumns( ).
InvMixColumns() is the inverse of the
MixColumns() function. InvMixColumns() operates on
the State column-by-column, treating each column as a
four-term polynomial. The columns are considered as
polynomials over GF(2
8
) and multiplied modulo x
4
+ 1
with a fixed polynomial a
-1
(x), given by
a-1
(x) = {0b}x3
+ {0d}x2
+ {09}x+ {0e}.
4. InvAddRoundKey( ).
It is the same AddRoundKey function of encryption.
IV. ALGORITHM IMPLEMENTATION
A. Implementation of KEY GENERATION Module.
This module takes in 128 bit key and a round
constant as input and generates a new 128 bit key. And
this makes use of S-BOX table to generate a new key.
The following RTL schematic gives the detail of this
entity.
Figure 9: RTL Schematic Entity For KEY Generation Round .
Figure 10: RTL Schematic of internally KEY Generation Round .
Figure 11: OUTPUT result of KEY Generation Unit .
B. Implementation of Encryption Module
The encryption module contains ten round and each
round has four stages namely, SubBytes, ShiftRows,
MixColumns and AddRoundKey except 10th
round which
has MixColumns removed. Here we are combining
SubBytes and ShiftRows into a single stage to reduce
device utilization. The important part at this stage is
implementing s-box. MixColumns and AddRoundKey
transformations and can be implemented directly using
VHDL Behavioral codes.
1. Implementing a Round.
A single round consists of four transformations
namely SubBytes, ShiftRows, MixColumns and
AddRoundKey. First two transformations are combined
into a single component. Hence a single round will have 3
components. The entity defined for a round takes in
128bit key for that particular round and 128bit data which
is either output of a previous round if the round is other
than 1st
round or it would e EX-OR of key and plain text
if it is Round #1. The following RTL schematic is
generated for this entity
Figure 12: RTL schematic for entity defined for a round..
2. Implementing Complete Encryption.
The entity defined for encryption takes in 10 round
keys, plain text and key as inputs and produces a cipher
text as output, all of them having length of 128 bits. The
RTL schematic for this entity is shown below.
Figure 13: RTL schematic of entity defined for encryption .
The following RTL schematic is generated for this
implementation.
Figure 14a: RTL schematic for encryption implementation(using
feedback arch).
Figure 14b: RTL schematic for encryption implementation(using
pipeline arch).
Figure 15: OUTPUT result of Encryption Unit(Feedback arch) .
C. Implementation of DECRYPTION module.
The decryption module also contain ten rounds and
each round has four stages namely, InvSubBytes,
InvShiftRows, InvMixColumns and InvAddRoundkey
except 10th
round which has InvMixColumn removed.
The important part at this stage is implementing
INVERSE S-OX. The internal architecture of decryption
module is similar to the Encryption module. The
differences are highlighted below.
1. Implementing Rounds
The architecture of a single round is similar to that of
encryption containing four transformations. Round #10
differs in that InvMixColumns transformation is
removed. The implementation of single round is done in
much the same way as that of encryption round using
VHDL.
Figure 16: RTL Schematic for round Decryption .
2. Implementing Complete Decryption.
The entity defined for decryption takes in 10 round
keys,output of encryption module i.e. cipher text and keys
as inputs and produces a plain text as output, all of them
having length of 128 bits. The RTL schematic for this
entity is shown below.
Figure 17: RTL schematic of entity defined for decryption.
V.COMPARISON BASED ON TWO DISTINCT
ARCH.
The following chart compares the previous
Pipeline Architecture and Latest Feedback Architecture.
In which it compares the resources used by these both
Architecture.
Figure 18: No. Of Resources Used By Individual Arch.
Number Of ROM’s used by an individual architecture
Architecture FeedBack PipeLine
Encryption 16 160
Decryption 16 160
Key Generation 04 20
Figure 19: Comparison Of Two Arch.
VI. APPLICATION OF AES ALGORITHM.
1. For wireless communication devices like PDA’s
multimedia cellular phones AES can apply.
2. It can be used for security of Smart cards, wireless
sensor networks, wireless mesh Networks.
3. AES have high computational efficiency, so as to be
usable in high speed applications, such as broad band
links.
4. AES is very well suited for restricted-space
environments where either encryption or decryption
is implemented. It has very low RAM and ROM
requirements.
5. Web servers that need to handle many encryption
sessions.
6. Any kind application where security is needed for
our current cryptosystems.
CONCLUSION AND FUTURE WORK
To overcome the issue of low efficiency over the
traditional CPU-based implementation of AES, we
proposed a new algorithm for AES method in this paper.
According to our proposal, we designed and implemented
the feedback AES algorithm. Our implementation
achieves up to 10x speedup over the implementation of
AES on a comparable CPU. Our implementation can be
applied for the computer forensics which requires high
speed of data encryption. In the future, we will focus on
efficient implementations of other common symmetric-
key encryption algorithms, such as Blowfish, Serpent and
Twofish. Besides, future work will also include GPU
implementations of hashing and public key
algorithms(e.g. MD5, SHA-1 and RSA) in order to create
a complete cryptographic framework.
REFERENCE
[1]. J. Daemen and V. Rijmen, AES Proposal:Rijndael,
AES Algorithm Submission, September 3, 1999.
http://csrc.nist.gov/encryption/aes/rijndael/Rijndael.p
df.
[2]. J. Daemen and V. Rijmen, The block cipher Rijndael,
Smart Card research and Applications, LNCS 1820,
Springer-Verlag, pp. 288-296.
[3]. Maire McLoone, John V. McCanny:Single-Chip
FPGA Implementation of the advanced encryption
standard algorithm.
www.springerlink.com/index/eajtwybnuw9hhejjh.
[4]. FIPS PUB197, Advanced Encryption Standard
(AES),National Institute of Standards and
Technology, U.S. Department of Commerce,
November 2001.
http://csrc.nist.gov/publications/fips/fips197/fips-197
[5]. Suresh Sharma, T S BSudarshan: Design of an
Efficient Architecture for Advanced Encryption
Standard Algorithm Using Systonic Structure.
http://www.hipc.org/hipc2005/posters/systolic.pdf
0
100
200
300
400
PIPELINE ARCH FEEDBACK ARCH

More Related Content

What's hot

Rc6 algorithm
Rc6 algorithmRc6 algorithm
Rc6 algorithm
Chethan Chetu
 
Advanced encryption standard (aes) epul
Advanced encryption standard (aes)   epulAdvanced encryption standard (aes)   epul
Advanced encryption standard (aes) epulAgate Studio
 
Aes 128 192_256_bits_project_report
Aes 128 192_256_bits_project_reportAes 128 192_256_bits_project_report
Aes 128 192_256_bits_project_report
sakhi rehman
 
Advanced Encryption Standard (AES)
Advanced Encryption Standard (AES)Advanced Encryption Standard (AES)
Advanced Encryption Standard (AES)
Hardik Manocha
 
Hybrid AES DES
Hybrid AES DESHybrid AES DES
Hybrid AES DES
Hardik Manocha
 
Encryption/Decryption Algorithm for Devanagri Script(Affine Cipher)
Encryption/Decryption Algorithm for Devanagri Script(Affine Cipher)Encryption/Decryption Algorithm for Devanagri Script(Affine Cipher)
Encryption/Decryption Algorithm for Devanagri Script(Affine Cipher)
Swati Nagpal
 
Advanced Encryption Standard (AES) with Dynamic Substitution Box
Advanced Encryption Standard (AES) with Dynamic Substitution BoxAdvanced Encryption Standard (AES) with Dynamic Substitution Box
Advanced Encryption Standard (AES) with Dynamic Substitution Box
Hardik Manocha
 
Minor Project- AES Implementation in Verilog
Minor Project- AES Implementation in VerilogMinor Project- AES Implementation in Verilog
Minor Project- AES Implementation in Verilog
Hardik Manocha
 
New Technique Using Multiple Symmetric keys for Multilevel Encryption
New Technique Using Multiple Symmetric keys for Multilevel EncryptionNew Technique Using Multiple Symmetric keys for Multilevel Encryption
New Technique Using Multiple Symmetric keys for Multilevel Encryption
IJERA Editor
 
Iaetsd enhanced cryptography algorithm for providing
Iaetsd enhanced cryptography algorithm for providingIaetsd enhanced cryptography algorithm for providing
Iaetsd enhanced cryptography algorithm for providing
Iaetsd Iaetsd
 
Implementation of aes and blowfish algorithm
Implementation of aes and blowfish algorithmImplementation of aes and blowfish algorithm
Implementation of aes and blowfish algorithm
eSAT Publishing House
 
Implementation of-hybrid-cryptography-algorithm
Implementation of-hybrid-cryptography-algorithmImplementation of-hybrid-cryptography-algorithm
Implementation of-hybrid-cryptography-algorithm
Ijcem Journal
 
Inventive Cubic Symmetric Encryption System for Multimedia
Inventive Cubic Symmetric Encryption System for MultimediaInventive Cubic Symmetric Encryption System for Multimedia
Inventive Cubic Symmetric Encryption System for Multimedia
csandit
 
Information and network security 18 modern techniques block ciphers
Information and network security 18 modern techniques block ciphersInformation and network security 18 modern techniques block ciphers
Information and network security 18 modern techniques block ciphers
Vaibhav Khanna
 
Multiple Encryption using ECC and Its Time Complexity Analysis
Multiple Encryption using ECC and Its Time Complexity AnalysisMultiple Encryption using ECC and Its Time Complexity Analysis
Multiple Encryption using ECC and Its Time Complexity Analysis
IJCERT
 
Hybrid encryption ppt
Hybrid encryption pptHybrid encryption ppt
Hybrid encryption ppt
prashantdahake
 
FPGA and ASIC Implementation of Speech Encryption and Decryption using AES Al...
FPGA and ASIC Implementation of Speech Encryption and Decryption using AES Al...FPGA and ASIC Implementation of Speech Encryption and Decryption using AES Al...
FPGA and ASIC Implementation of Speech Encryption and Decryption using AES Al...
IJCSIS Research Publications
 
CNS - Unit v
CNS - Unit vCNS - Unit v
CNS - Unit v
ArthyR3
 

What's hot (19)

Rc6 algorithm
Rc6 algorithmRc6 algorithm
Rc6 algorithm
 
Advanced encryption standard (aes) epul
Advanced encryption standard (aes)   epulAdvanced encryption standard (aes)   epul
Advanced encryption standard (aes) epul
 
Aes 128 192_256_bits_project_report
Aes 128 192_256_bits_project_reportAes 128 192_256_bits_project_report
Aes 128 192_256_bits_project_report
 
Advanced Encryption Standard (AES)
Advanced Encryption Standard (AES)Advanced Encryption Standard (AES)
Advanced Encryption Standard (AES)
 
Hybrid AES DES
Hybrid AES DESHybrid AES DES
Hybrid AES DES
 
Encryption/Decryption Algorithm for Devanagri Script(Affine Cipher)
Encryption/Decryption Algorithm for Devanagri Script(Affine Cipher)Encryption/Decryption Algorithm for Devanagri Script(Affine Cipher)
Encryption/Decryption Algorithm for Devanagri Script(Affine Cipher)
 
Advanced Encryption Standard (AES) with Dynamic Substitution Box
Advanced Encryption Standard (AES) with Dynamic Substitution BoxAdvanced Encryption Standard (AES) with Dynamic Substitution Box
Advanced Encryption Standard (AES) with Dynamic Substitution Box
 
Minor Project- AES Implementation in Verilog
Minor Project- AES Implementation in VerilogMinor Project- AES Implementation in Verilog
Minor Project- AES Implementation in Verilog
 
New Technique Using Multiple Symmetric keys for Multilevel Encryption
New Technique Using Multiple Symmetric keys for Multilevel EncryptionNew Technique Using Multiple Symmetric keys for Multilevel Encryption
New Technique Using Multiple Symmetric keys for Multilevel Encryption
 
Iaetsd enhanced cryptography algorithm for providing
Iaetsd enhanced cryptography algorithm for providingIaetsd enhanced cryptography algorithm for providing
Iaetsd enhanced cryptography algorithm for providing
 
Implementation of aes and blowfish algorithm
Implementation of aes and blowfish algorithmImplementation of aes and blowfish algorithm
Implementation of aes and blowfish algorithm
 
Implementation of-hybrid-cryptography-algorithm
Implementation of-hybrid-cryptography-algorithmImplementation of-hybrid-cryptography-algorithm
Implementation of-hybrid-cryptography-algorithm
 
Inventive Cubic Symmetric Encryption System for Multimedia
Inventive Cubic Symmetric Encryption System for MultimediaInventive Cubic Symmetric Encryption System for Multimedia
Inventive Cubic Symmetric Encryption System for Multimedia
 
Hybrid encryption
Hybrid encryption Hybrid encryption
Hybrid encryption
 
Information and network security 18 modern techniques block ciphers
Information and network security 18 modern techniques block ciphersInformation and network security 18 modern techniques block ciphers
Information and network security 18 modern techniques block ciphers
 
Multiple Encryption using ECC and Its Time Complexity Analysis
Multiple Encryption using ECC and Its Time Complexity AnalysisMultiple Encryption using ECC and Its Time Complexity Analysis
Multiple Encryption using ECC and Its Time Complexity Analysis
 
Hybrid encryption ppt
Hybrid encryption pptHybrid encryption ppt
Hybrid encryption ppt
 
FPGA and ASIC Implementation of Speech Encryption and Decryption using AES Al...
FPGA and ASIC Implementation of Speech Encryption and Decryption using AES Al...FPGA and ASIC Implementation of Speech Encryption and Decryption using AES Al...
FPGA and ASIC Implementation of Speech Encryption and Decryption using AES Al...
 
CNS - Unit v
CNS - Unit vCNS - Unit v
CNS - Unit v
 

Similar to “Optimized AES Algorithm Core Using FeedBack Architecture”

Paper on Optimized AES Algorithm Core Using FeedBack Architecture
Paper on Optimized AES Algorithm Core Using  FeedBack Architecture Paper on Optimized AES Algorithm Core Using  FeedBack Architecture
Paper on Optimized AES Algorithm Core Using FeedBack Architecture
Dhaval Kaneria
 
FPGA Implementation of an Area Optimized Architecture for 128 bit AES Algorithm
FPGA Implementation of an Area Optimized Architecture for 128 bit AES AlgorithmFPGA Implementation of an Area Optimized Architecture for 128 bit AES Algorithm
FPGA Implementation of an Area Optimized Architecture for 128 bit AES Algorithm
IJERA Editor
 
Using Cipher Key to Generate Dynamic S-Box in AES Cipher System
Using Cipher Key to Generate Dynamic S-Box in AES Cipher SystemUsing Cipher Key to Generate Dynamic S-Box in AES Cipher System
Using Cipher Key to Generate Dynamic S-Box in AES Cipher System
CSCJournals
 
Implementation of Various Cryptosystem Using Chaos
Implementation of Various Cryptosystem Using ChaosImplementation of Various Cryptosystem Using Chaos
Implementation of Various Cryptosystem Using Chaos
IOSR Journals
 
A Cryptographic Hardware Revolution in Communication Systems using Verilog HDL
A Cryptographic Hardware Revolution in Communication Systems using Verilog HDLA Cryptographic Hardware Revolution in Communication Systems using Verilog HDL
A Cryptographic Hardware Revolution in Communication Systems using Verilog HDL
idescitation
 
AES Cryptosystem
AES CryptosystemAES Cryptosystem
AES Cryptosystem
هيثم فرج
 
Chapter 3-block-cipher-des1
Chapter 3-block-cipher-des1Chapter 3-block-cipher-des1
Chapter 3-block-cipher-des1
Shiraz316
 
Design and Analysis of Parallel AES Encryption and Decryption Algorithm for M...
Design and Analysis of Parallel AES Encryption and Decryption Algorithm for M...Design and Analysis of Parallel AES Encryption and Decryption Algorithm for M...
Design and Analysis of Parallel AES Encryption and Decryption Algorithm for M...
iosrjce
 
An Optimized Parallel Mixcolumn and Subbytes design in Lightweight Advanced E...
An Optimized Parallel Mixcolumn and Subbytes design in Lightweight Advanced E...An Optimized Parallel Mixcolumn and Subbytes design in Lightweight Advanced E...
An Optimized Parallel Mixcolumn and Subbytes design in Lightweight Advanced E...
ijceronline
 
Iaetsd an survey of efficient fpga implementation of advanced encryption
Iaetsd an survey of efficient fpga implementation of advanced encryptionIaetsd an survey of efficient fpga implementation of advanced encryption
Iaetsd an survey of efficient fpga implementation of advanced encryption
Iaetsd Iaetsd
 
Ijmsr 2016-05
Ijmsr 2016-05Ijmsr 2016-05
Ijmsr 2016-05
ijmsr
 
RANDOMIZATION-BASED BLOCK CIPHER WITH KEY-MAPPED S-BOX SELECTION
RANDOMIZATION-BASED BLOCK CIPHER WITH KEY-MAPPED S-BOX SELECTIONRANDOMIZATION-BASED BLOCK CIPHER WITH KEY-MAPPED S-BOX SELECTION
RANDOMIZATION-BASED BLOCK CIPHER WITH KEY-MAPPED S-BOX SELECTION
ijcisjournal
 
Randomization Based Block Cipher with Key Mapped S-Box SelectionFull Text
Randomization Based Block Cipher with Key Mapped S-Box SelectionFull Text Randomization Based Block Cipher with Key Mapped S-Box SelectionFull Text
Randomization Based Block Cipher with Key Mapped S-Box SelectionFull Text
ijcisjournal
 
Unit 2
Unit  2Unit  2
Unit 2
tamil arasan
 
Aes128 bit project_report
Aes128 bit project_reportAes128 bit project_report
Aes128 bit project_report
Nikhil Gupta
 
chap3.pdf
chap3.pdfchap3.pdf
chap3.pdf
NickySanthosh1
 
Fault Detection AES
Fault Detection AESFault Detection AES
Fault Detection AES
Sumathi Reddy
 

Similar to “Optimized AES Algorithm Core Using FeedBack Architecture” (20)

Paper on Optimized AES Algorithm Core Using FeedBack Architecture
Paper on Optimized AES Algorithm Core Using  FeedBack Architecture Paper on Optimized AES Algorithm Core Using  FeedBack Architecture
Paper on Optimized AES Algorithm Core Using FeedBack Architecture
 
FPGA Implementation of an Area Optimized Architecture for 128 bit AES Algorithm
FPGA Implementation of an Area Optimized Architecture for 128 bit AES AlgorithmFPGA Implementation of an Area Optimized Architecture for 128 bit AES Algorithm
FPGA Implementation of an Area Optimized Architecture for 128 bit AES Algorithm
 
icwet1097
icwet1097icwet1097
icwet1097
 
Using Cipher Key to Generate Dynamic S-Box in AES Cipher System
Using Cipher Key to Generate Dynamic S-Box in AES Cipher SystemUsing Cipher Key to Generate Dynamic S-Box in AES Cipher System
Using Cipher Key to Generate Dynamic S-Box in AES Cipher System
 
Implementation of Various Cryptosystem Using Chaos
Implementation of Various Cryptosystem Using ChaosImplementation of Various Cryptosystem Using Chaos
Implementation of Various Cryptosystem Using Chaos
 
Aes
AesAes
Aes
 
A Cryptographic Hardware Revolution in Communication Systems using Verilog HDL
A Cryptographic Hardware Revolution in Communication Systems using Verilog HDLA Cryptographic Hardware Revolution in Communication Systems using Verilog HDL
A Cryptographic Hardware Revolution in Communication Systems using Verilog HDL
 
11
1111
11
 
AES Cryptosystem
AES CryptosystemAES Cryptosystem
AES Cryptosystem
 
Chapter 3-block-cipher-des1
Chapter 3-block-cipher-des1Chapter 3-block-cipher-des1
Chapter 3-block-cipher-des1
 
Design and Analysis of Parallel AES Encryption and Decryption Algorithm for M...
Design and Analysis of Parallel AES Encryption and Decryption Algorithm for M...Design and Analysis of Parallel AES Encryption and Decryption Algorithm for M...
Design and Analysis of Parallel AES Encryption and Decryption Algorithm for M...
 
An Optimized Parallel Mixcolumn and Subbytes design in Lightweight Advanced E...
An Optimized Parallel Mixcolumn and Subbytes design in Lightweight Advanced E...An Optimized Parallel Mixcolumn and Subbytes design in Lightweight Advanced E...
An Optimized Parallel Mixcolumn and Subbytes design in Lightweight Advanced E...
 
Iaetsd an survey of efficient fpga implementation of advanced encryption
Iaetsd an survey of efficient fpga implementation of advanced encryptionIaetsd an survey of efficient fpga implementation of advanced encryption
Iaetsd an survey of efficient fpga implementation of advanced encryption
 
Ijmsr 2016-05
Ijmsr 2016-05Ijmsr 2016-05
Ijmsr 2016-05
 
RANDOMIZATION-BASED BLOCK CIPHER WITH KEY-MAPPED S-BOX SELECTION
RANDOMIZATION-BASED BLOCK CIPHER WITH KEY-MAPPED S-BOX SELECTIONRANDOMIZATION-BASED BLOCK CIPHER WITH KEY-MAPPED S-BOX SELECTION
RANDOMIZATION-BASED BLOCK CIPHER WITH KEY-MAPPED S-BOX SELECTION
 
Randomization Based Block Cipher with Key Mapped S-Box SelectionFull Text
Randomization Based Block Cipher with Key Mapped S-Box SelectionFull Text Randomization Based Block Cipher with Key Mapped S-Box SelectionFull Text
Randomization Based Block Cipher with Key Mapped S-Box SelectionFull Text
 
Unit 2
Unit  2Unit  2
Unit 2
 
Aes128 bit project_report
Aes128 bit project_reportAes128 bit project_report
Aes128 bit project_report
 
chap3.pdf
chap3.pdfchap3.pdf
chap3.pdf
 
Fault Detection AES
Fault Detection AESFault Detection AES
Fault Detection AES
 

More from Nirav Desai

System verilog verification building blocks
System verilog verification building blocksSystem verilog verification building blocks
System verilog verification building blocksNirav Desai
 
Session 8 assertion_based_verification_and_interfaces
Session 8 assertion_based_verification_and_interfacesSession 8 assertion_based_verification_and_interfaces
Session 8 assertion_based_verification_and_interfacesNirav Desai
 
Session 9 advance_verification_features
Session 9 advance_verification_featuresSession 9 advance_verification_features
Session 9 advance_verification_featuresNirav Desai
 
Session 7 code_functional_coverage
Session 7 code_functional_coverageSession 7 code_functional_coverage
Session 7 code_functional_coverageNirav Desai
 
Session 6 sv_randomization
Session 6 sv_randomizationSession 6 sv_randomization
Session 6 sv_randomizationNirav Desai
 
List of vlsi companies in bangalore
List of vlsi companies in bangaloreList of vlsi companies in bangalore
List of vlsi companies in bangaloreNirav Desai
 
Xilinx design flow -By BhargavTarpara
Xilinx design flow -By BhargavTarparaXilinx design flow -By BhargavTarpara
Xilinx design flow -By BhargavTarparaNirav Desai
 

More from Nirav Desai (10)

SATA Protocol
SATA ProtocolSATA Protocol
SATA Protocol
 
AMBA 2.0 PPT
AMBA 2.0 PPTAMBA 2.0 PPT
AMBA 2.0 PPT
 
AMBA 2.0 REPORT
AMBA 2.0 REPORTAMBA 2.0 REPORT
AMBA 2.0 REPORT
 
System verilog verification building blocks
System verilog verification building blocksSystem verilog verification building blocks
System verilog verification building blocks
 
Session 8 assertion_based_verification_and_interfaces
Session 8 assertion_based_verification_and_interfacesSession 8 assertion_based_verification_and_interfaces
Session 8 assertion_based_verification_and_interfaces
 
Session 9 advance_verification_features
Session 9 advance_verification_featuresSession 9 advance_verification_features
Session 9 advance_verification_features
 
Session 7 code_functional_coverage
Session 7 code_functional_coverageSession 7 code_functional_coverage
Session 7 code_functional_coverage
 
Session 6 sv_randomization
Session 6 sv_randomizationSession 6 sv_randomization
Session 6 sv_randomization
 
List of vlsi companies in bangalore
List of vlsi companies in bangaloreList of vlsi companies in bangalore
List of vlsi companies in bangalore
 
Xilinx design flow -By BhargavTarpara
Xilinx design flow -By BhargavTarparaXilinx design flow -By BhargavTarpara
Xilinx design flow -By BhargavTarpara
 

Recently uploaded

AKS UNIVERSITY Satna Final Year Project By OM Hardaha.pdf
AKS UNIVERSITY Satna Final Year Project By OM Hardaha.pdfAKS UNIVERSITY Satna Final Year Project By OM Hardaha.pdf
AKS UNIVERSITY Satna Final Year Project By OM Hardaha.pdf
SamSarthak3
 
Unbalanced Three Phase Systems and circuits.pptx
Unbalanced Three Phase Systems and circuits.pptxUnbalanced Three Phase Systems and circuits.pptx
Unbalanced Three Phase Systems and circuits.pptx
ChristineTorrepenida1
 
AP LAB PPT.pdf ap lab ppt no title specific
AP LAB PPT.pdf ap lab ppt no title specificAP LAB PPT.pdf ap lab ppt no title specific
AP LAB PPT.pdf ap lab ppt no title specific
BrazilAccount1
 
road safety engineering r s e unit 3.pdf
road safety engineering  r s e unit 3.pdfroad safety engineering  r s e unit 3.pdf
road safety engineering r s e unit 3.pdf
VENKATESHvenky89705
 
CME397 Surface Engineering- Professional Elective
CME397 Surface Engineering- Professional ElectiveCME397 Surface Engineering- Professional Elective
CME397 Surface Engineering- Professional Elective
karthi keyan
 
DESIGN A COTTON SEED SEPARATION MACHINE.docx
DESIGN A COTTON SEED SEPARATION MACHINE.docxDESIGN A COTTON SEED SEPARATION MACHINE.docx
DESIGN A COTTON SEED SEPARATION MACHINE.docx
FluxPrime1
 
Industrial Training at Shahjalal Fertilizer Company Limited (SFCL)
Industrial Training at Shahjalal Fertilizer Company Limited (SFCL)Industrial Training at Shahjalal Fertilizer Company Limited (SFCL)
Industrial Training at Shahjalal Fertilizer Company Limited (SFCL)
MdTanvirMahtab2
 
English lab ppt no titlespecENG PPTt.pdf
English lab ppt no titlespecENG PPTt.pdfEnglish lab ppt no titlespecENG PPTt.pdf
English lab ppt no titlespecENG PPTt.pdf
BrazilAccount1
 
Water Industry Process Automation and Control Monthly - May 2024.pdf
Water Industry Process Automation and Control Monthly - May 2024.pdfWater Industry Process Automation and Control Monthly - May 2024.pdf
Water Industry Process Automation and Control Monthly - May 2024.pdf
Water Industry Process Automation & Control
 
Pile Foundation by Venkatesh Taduvai (Sub Geotechnical Engineering II)-conver...
Pile Foundation by Venkatesh Taduvai (Sub Geotechnical Engineering II)-conver...Pile Foundation by Venkatesh Taduvai (Sub Geotechnical Engineering II)-conver...
Pile Foundation by Venkatesh Taduvai (Sub Geotechnical Engineering II)-conver...
AJAYKUMARPUND1
 
Railway Signalling Principles Edition 3.pdf
Railway Signalling Principles Edition 3.pdfRailway Signalling Principles Edition 3.pdf
Railway Signalling Principles Edition 3.pdf
TeeVichai
 
Nuclear Power Economics and Structuring 2024
Nuclear Power Economics and Structuring 2024Nuclear Power Economics and Structuring 2024
Nuclear Power Economics and Structuring 2024
Massimo Talia
 
Standard Reomte Control Interface - Neometrix
Standard Reomte Control Interface - NeometrixStandard Reomte Control Interface - Neometrix
Standard Reomte Control Interface - Neometrix
Neometrix_Engineering_Pvt_Ltd
 
一比一原版(SFU毕业证)西蒙菲莎大学毕业证成绩单如何办理
一比一原版(SFU毕业证)西蒙菲莎大学毕业证成绩单如何办理一比一原版(SFU毕业证)西蒙菲莎大学毕业证成绩单如何办理
一比一原版(SFU毕业证)西蒙菲莎大学毕业证成绩单如何办理
bakpo1
 
HYDROPOWER - Hydroelectric power generation
HYDROPOWER - Hydroelectric power generationHYDROPOWER - Hydroelectric power generation
HYDROPOWER - Hydroelectric power generation
Robbie Edward Sayers
 
14 Template Contractual Notice - EOT Application
14 Template Contractual Notice - EOT Application14 Template Contractual Notice - EOT Application
14 Template Contractual Notice - EOT Application
SyedAbiiAzazi1
 
Building Electrical System Design & Installation
Building Electrical System Design & InstallationBuilding Electrical System Design & Installation
Building Electrical System Design & Installation
symbo111
 
一比一原版(UofT毕业证)多伦多大学毕业证成绩单如何办理
一比一原版(UofT毕业证)多伦多大学毕业证成绩单如何办理一比一原版(UofT毕业证)多伦多大学毕业证成绩单如何办理
一比一原版(UofT毕业证)多伦多大学毕业证成绩单如何办理
ydteq
 
DfMAy 2024 - key insights and contributions
DfMAy 2024 - key insights and contributionsDfMAy 2024 - key insights and contributions
DfMAy 2024 - key insights and contributions
gestioneergodomus
 
space technology lecture notes on satellite
space technology lecture notes on satellitespace technology lecture notes on satellite
space technology lecture notes on satellite
ongomchris
 

Recently uploaded (20)

AKS UNIVERSITY Satna Final Year Project By OM Hardaha.pdf
AKS UNIVERSITY Satna Final Year Project By OM Hardaha.pdfAKS UNIVERSITY Satna Final Year Project By OM Hardaha.pdf
AKS UNIVERSITY Satna Final Year Project By OM Hardaha.pdf
 
Unbalanced Three Phase Systems and circuits.pptx
Unbalanced Three Phase Systems and circuits.pptxUnbalanced Three Phase Systems and circuits.pptx
Unbalanced Three Phase Systems and circuits.pptx
 
AP LAB PPT.pdf ap lab ppt no title specific
AP LAB PPT.pdf ap lab ppt no title specificAP LAB PPT.pdf ap lab ppt no title specific
AP LAB PPT.pdf ap lab ppt no title specific
 
road safety engineering r s e unit 3.pdf
road safety engineering  r s e unit 3.pdfroad safety engineering  r s e unit 3.pdf
road safety engineering r s e unit 3.pdf
 
CME397 Surface Engineering- Professional Elective
CME397 Surface Engineering- Professional ElectiveCME397 Surface Engineering- Professional Elective
CME397 Surface Engineering- Professional Elective
 
DESIGN A COTTON SEED SEPARATION MACHINE.docx
DESIGN A COTTON SEED SEPARATION MACHINE.docxDESIGN A COTTON SEED SEPARATION MACHINE.docx
DESIGN A COTTON SEED SEPARATION MACHINE.docx
 
Industrial Training at Shahjalal Fertilizer Company Limited (SFCL)
Industrial Training at Shahjalal Fertilizer Company Limited (SFCL)Industrial Training at Shahjalal Fertilizer Company Limited (SFCL)
Industrial Training at Shahjalal Fertilizer Company Limited (SFCL)
 
English lab ppt no titlespecENG PPTt.pdf
English lab ppt no titlespecENG PPTt.pdfEnglish lab ppt no titlespecENG PPTt.pdf
English lab ppt no titlespecENG PPTt.pdf
 
Water Industry Process Automation and Control Monthly - May 2024.pdf
Water Industry Process Automation and Control Monthly - May 2024.pdfWater Industry Process Automation and Control Monthly - May 2024.pdf
Water Industry Process Automation and Control Monthly - May 2024.pdf
 
Pile Foundation by Venkatesh Taduvai (Sub Geotechnical Engineering II)-conver...
Pile Foundation by Venkatesh Taduvai (Sub Geotechnical Engineering II)-conver...Pile Foundation by Venkatesh Taduvai (Sub Geotechnical Engineering II)-conver...
Pile Foundation by Venkatesh Taduvai (Sub Geotechnical Engineering II)-conver...
 
Railway Signalling Principles Edition 3.pdf
Railway Signalling Principles Edition 3.pdfRailway Signalling Principles Edition 3.pdf
Railway Signalling Principles Edition 3.pdf
 
Nuclear Power Economics and Structuring 2024
Nuclear Power Economics and Structuring 2024Nuclear Power Economics and Structuring 2024
Nuclear Power Economics and Structuring 2024
 
Standard Reomte Control Interface - Neometrix
Standard Reomte Control Interface - NeometrixStandard Reomte Control Interface - Neometrix
Standard Reomte Control Interface - Neometrix
 
一比一原版(SFU毕业证)西蒙菲莎大学毕业证成绩单如何办理
一比一原版(SFU毕业证)西蒙菲莎大学毕业证成绩单如何办理一比一原版(SFU毕业证)西蒙菲莎大学毕业证成绩单如何办理
一比一原版(SFU毕业证)西蒙菲莎大学毕业证成绩单如何办理
 
HYDROPOWER - Hydroelectric power generation
HYDROPOWER - Hydroelectric power generationHYDROPOWER - Hydroelectric power generation
HYDROPOWER - Hydroelectric power generation
 
14 Template Contractual Notice - EOT Application
14 Template Contractual Notice - EOT Application14 Template Contractual Notice - EOT Application
14 Template Contractual Notice - EOT Application
 
Building Electrical System Design & Installation
Building Electrical System Design & InstallationBuilding Electrical System Design & Installation
Building Electrical System Design & Installation
 
一比一原版(UofT毕业证)多伦多大学毕业证成绩单如何办理
一比一原版(UofT毕业证)多伦多大学毕业证成绩单如何办理一比一原版(UofT毕业证)多伦多大学毕业证成绩单如何办理
一比一原版(UofT毕业证)多伦多大学毕业证成绩单如何办理
 
DfMAy 2024 - key insights and contributions
DfMAy 2024 - key insights and contributionsDfMAy 2024 - key insights and contributions
DfMAy 2024 - key insights and contributions
 
space technology lecture notes on satellite
space technology lecture notes on satellitespace technology lecture notes on satellite
space technology lecture notes on satellite
 

“Optimized AES Algorithm Core Using FeedBack Architecture”

  • 1. “Optimized AES Algorithm Core Using FeedBack Architecture” Chintan Raval1 , Nirav Desai2 1, 2, Pursuing M.Tech., VLSI, U.V.Patel college of Engineering and Technology, Kherva, Mehsana, India Chintanraval14@gmail.com, niravdesai712@gmail.com Abstract—A new Feedback technology based design scheme of the AES-128 (Advanced Encryption Standard, with 128- bit key) encryption algorithm is proposed in this paper. For maintaining the speed of encryption, the Feedback technology is applied and the mode of data transmission is modified in this design so that the chip size can be reduced. The 128-bit plaintext and the 128- bit initial key, as well as the 128-bit output of cipher text, are all divided into four 32- bit consecutive units respectively controlled by the clock. This new program can significantly decrease quantity of chip pins and effectively optimize the area of chip. KeyWords—Area Optimization, Encryption, Decryption, Key Generation, PipeLine Arch., FeedBack Arch. I. INTRODUCTION The 3DES algorithm has been subjected to more scrutiny than any other encryption algorithm over a long period of time and no effective cryptanalytic attack based on algorithm rather than brute force has been found. Accordingly there is a high level of confidence that 3DES is very resistant to cryptanalysis. If security were that only consideration then 3DES would be an appropriate choice for a standardized encryption algorithm for decades to come. The principle drawback of 3DES is that the algorithm is relatively sluggish in software. The original DES was designed for mid 1970s hardware implementation and does not produce efficient software code. 3DES which has 3 times as many rounds as DES is correspondingly slower. A secondary drawback is that both DES and 3DES use a 64-bit block size. For reasons of both efficiency and security a larger block size is desirable. Just because of these drawbacks, 3DES is not reasonable candidate for long term use. As a replacement, NIST in 1997 issued a call for proposals for a new Advanced Encryption Standard (AES) which should have security strength equal or better than 3DES and significantly improved efficiency. In addition to these general requirements NIST specified that AES must be symmetric block cipher with a block length of 128 bits and support for key lengths of 128,192,256 bits. In first round of evaluation, 15 proposed algorithms were accepted. In second round 5 were accepted. NIST completed its evaluation process and published a final standard (FIPS 197) in November 2001. NIST selected Rijndael as the proposed AES algorithm. The two researchers who developed and submitted Rijndael for the AES are both cryptographers from Belgium: Dr. Joan Daemen and Dr. Vincent Rijmen. The choice of platform, software, ASIC or FPGA, is driven by several aspects, such as algorithm performance, cost and flexibility. Although ASIC has highest performance and lowest unit cost, it has no flexibility at all. While software has the most flexibility of all, the performance is very low. II. AES Block Diagram & Description Figure 1:AES Algorithm Block Diagram As shown in Fig.1, The algorithm is divided into three parts. Encryption, Decryption and Key Generation Parts. A. Encryption The Encryption process consist of ten rounds of transformation. But the input given to the round #1 will be EX-OR of 128 bits plain text and 128 bit key. Each round from round #1 to round #9 again consist of four different transformation internally except 10 round. These transformation are namely SubBytes, ShiftRows, MixColumns and AddRound key transformation. The result of one transformation is given as input to the next transformation as shown in the figure. Round #10 is
  • 2. slightly different from other rounds in that the MixCloumns transformation is removed. The output of each round is fed to the next round as input. Total ten rounds of transformations produces encrypted output called cipher text. B. Decryption The Decryption process is reverse process of Encryption and it also consists of ten rounds of transformation. But the input to round #1 will be EX-OR of cipher text and key 10. Each round from round #1 to round #9 again consists of four different transformation internally except 10 round. These transformations are namely InvSubBytes, InvShiftRows, InvMixColumns and InvAddRound key transformation. Round #10 is slightly different from other rounds in that the InvMixColumns transformation is removed. Like in Encryption output of one round is fed as input to the next round. The usage of keys also reverse in this case i.e. round #1 uses key 9 and round #2 uses key 8 and so on. Total ten rounds of transformations produces decrypted output i.e. Plain Text. C. Key Generation This part takes a 128 bit key. The 128 bit key is divided into four words represented in w[0,3]. These four words are used as it is for encryption initially before starting of a round and for round 10 of decryption part. These 4 words are used for producing a new key represented by w[4,7]. Which is used for round #1 of encryption and round #9 of decryption. These 4 words represented by w[4,7] which is key 1, is used for producing key2 represented by w[8,11]. Like this it will generate total 40 words i.e. 10 keys. III. AES Specification For the AES algorithm, the number of rounds to be performed during the execution of the algorithm is dependent on the key size. The number of rounds is represented by Nr, where Nr = 10 when Nk = 4, Nr = 12 when Nk = 6, and Nr = 14 when Nk = 8. The only Key- Block-Round combinations that conform to this standard are given in Fig. 2. Figure 2: Key-Block-Round Combinations. A. Key Generation The AES algorithm takes the cipher key, K, and performs a Key Expansion routine to generate a key schedule. The Key Expansion generates a total of Nb (Nr + 1) words: the algorithm requires an initial set of Nb words, and each of the Nr rounds require Nb words of key data. The resulting key schedule consists of a linear array of 4-byte words, denoted [wi], with I in the range 0≤ I <Nb(Nr + 1). The key expansion has Temp, Subword(), Rotword(), Rcon[i],w[i - Nk] stages. The following example will show its detail. Cipher Key = 2b 7e 15 16 28 ae d2 a6 ab f7 15 88 09 cf 4f 3c for Nk = 4, which results in w0 = 2b7e1516, w1 = 28aed2a6, w2 = abf71588, w3 = 09cf4f3c Figure 3:Key Generation Example. B. Encryption (cipher) The Encryption consists of 4 different transformation. The individual transformations - SubBytes(), ShiftRows(), MixColumns(), and AddRoundKey() process the State and are described in the following subsections. All Nr rounds are identical with the exception of the final round, which does not include the MixColumns()transformation. 1. SubBytes( ). The SubBytes() transformation is a non-linear byte substitution that operates independently on each byte of the State using a substitution table (S-box). This S-box is invertible, is constructed by composing two transformations: The following Figure.4. illustrates the effect of the SubBytes() function on the state. Figure 4: Subbytes applies the s-box to each of the state. 2. ShiftRows( ). In the ShiftRows() transformation, the bytes in the last three rows of the State are cyclically shifted over different numbers of bytes (offsets). The first row,r=0,is not shifted.Specifically, the ShiftRows( ) transformation proceeds as follows:
  • 3. Figure 5 illustrates the ShiftRows()transformation. Figure 5: Shiftrows cyclically shifts last three rows. 3. MixColumns( ). The MixColumns() transformation operates on the State column-by-column, treating each column as a four- term polynomial as described previously. The columns are considered as polynomials over GF(2 8 ) and multiplied modulo x 4 + 1 with a fixed polynomial a(x), given by a(x)={03}x3 +{01}x2 +{01}x+{02}. Let, S’(x) = a(x) XOR s(x). As a result of this multiplication, the four bytes in a column are placed by the following: Figure 6: MixColumns operates on state column by column. 4. AddRoundKey( ). In the AddRoundKey() transformation, a Round Key is added to the State by a simple bitwise XOR operation. Each Round Key consists of Nb words from the key schedule. Those Nb words are each added into the columns of the State, such that The action of this transformation is illustrated in Fig. 7, where l = round * Nb. Figure 7: Addroundkey XORS each column of the state with a word from the key schedule. C. Decryption (Inverse Cipher) The Cipher transformations can be inverted and then implemented in reverse order to produce a straightforward Inverse Cipher for the AES algorithm. The individual transformations used in the Inverse Cipher -InvShiftRows(), InvSubBytes(), InvMixColumns(), and InvAddRoundKey() – process the State and are described in the following subsections. 1. InvShiftRows( ). InvShiftRows() is the inverse of the ShiftRows() transformation. The bytes in the last three rows of the State are cyclically shifted over different numbers of bytes (offsets). The first row, r = 0, is not shifted. The bottom three rows are cyclically shifted by Nb -shift(r, Nb) bytes, where the shift value shift(r,Nb) depends on the row number, Specifically, the InvShiftRows() transformation proceeds as follows: S’r,(c+Shift(r,Nb))mod Nb=sr,c for 0<r<4 and 0≤c<Nb. Figure 8: InvShiftRows cyclically the last three rows in a state. 2. InvSubBytes( ). InvSubBytes() is the inverse of the byte substitution transformation, in which the inverse S-box is applied to each byte of the State. This is obtained by applying the inverse of the affine transformation followed by taking the multiplicative inverse in GF(2 8 ). 3. InvMixColumns( ). InvMixColumns() is the inverse of the MixColumns() function. InvMixColumns() operates on the State column-by-column, treating each column as a four-term polynomial. The columns are considered as polynomials over GF(2 8 ) and multiplied modulo x 4 + 1 with a fixed polynomial a -1 (x), given by
  • 4. a-1 (x) = {0b}x3 + {0d}x2 + {09}x+ {0e}. 4. InvAddRoundKey( ). It is the same AddRoundKey function of encryption. IV. ALGORITHM IMPLEMENTATION A. Implementation of KEY GENERATION Module. This module takes in 128 bit key and a round constant as input and generates a new 128 bit key. And this makes use of S-BOX table to generate a new key. The following RTL schematic gives the detail of this entity. Figure 9: RTL Schematic Entity For KEY Generation Round . Figure 10: RTL Schematic of internally KEY Generation Round . Figure 11: OUTPUT result of KEY Generation Unit . B. Implementation of Encryption Module The encryption module contains ten round and each round has four stages namely, SubBytes, ShiftRows, MixColumns and AddRoundKey except 10th round which has MixColumns removed. Here we are combining SubBytes and ShiftRows into a single stage to reduce device utilization. The important part at this stage is implementing s-box. MixColumns and AddRoundKey transformations and can be implemented directly using VHDL Behavioral codes. 1. Implementing a Round. A single round consists of four transformations namely SubBytes, ShiftRows, MixColumns and AddRoundKey. First two transformations are combined into a single component. Hence a single round will have 3 components. The entity defined for a round takes in 128bit key for that particular round and 128bit data which is either output of a previous round if the round is other than 1st round or it would e EX-OR of key and plain text if it is Round #1. The following RTL schematic is generated for this entity Figure 12: RTL schematic for entity defined for a round.. 2. Implementing Complete Encryption. The entity defined for encryption takes in 10 round keys, plain text and key as inputs and produces a cipher text as output, all of them having length of 128 bits. The RTL schematic for this entity is shown below. Figure 13: RTL schematic of entity defined for encryption .
  • 5. The following RTL schematic is generated for this implementation. Figure 14a: RTL schematic for encryption implementation(using feedback arch). Figure 14b: RTL schematic for encryption implementation(using pipeline arch). Figure 15: OUTPUT result of Encryption Unit(Feedback arch) . C. Implementation of DECRYPTION module. The decryption module also contain ten rounds and each round has four stages namely, InvSubBytes, InvShiftRows, InvMixColumns and InvAddRoundkey except 10th round which has InvMixColumn removed. The important part at this stage is implementing INVERSE S-OX. The internal architecture of decryption module is similar to the Encryption module. The differences are highlighted below. 1. Implementing Rounds The architecture of a single round is similar to that of encryption containing four transformations. Round #10 differs in that InvMixColumns transformation is removed. The implementation of single round is done in much the same way as that of encryption round using VHDL. Figure 16: RTL Schematic for round Decryption . 2. Implementing Complete Decryption. The entity defined for decryption takes in 10 round keys,output of encryption module i.e. cipher text and keys as inputs and produces a plain text as output, all of them having length of 128 bits. The RTL schematic for this entity is shown below. Figure 17: RTL schematic of entity defined for decryption.
  • 6. V.COMPARISON BASED ON TWO DISTINCT ARCH. The following chart compares the previous Pipeline Architecture and Latest Feedback Architecture. In which it compares the resources used by these both Architecture. Figure 18: No. Of Resources Used By Individual Arch. Number Of ROM’s used by an individual architecture Architecture FeedBack PipeLine Encryption 16 160 Decryption 16 160 Key Generation 04 20 Figure 19: Comparison Of Two Arch. VI. APPLICATION OF AES ALGORITHM. 1. For wireless communication devices like PDA’s multimedia cellular phones AES can apply. 2. It can be used for security of Smart cards, wireless sensor networks, wireless mesh Networks. 3. AES have high computational efficiency, so as to be usable in high speed applications, such as broad band links. 4. AES is very well suited for restricted-space environments where either encryption or decryption is implemented. It has very low RAM and ROM requirements. 5. Web servers that need to handle many encryption sessions. 6. Any kind application where security is needed for our current cryptosystems. CONCLUSION AND FUTURE WORK To overcome the issue of low efficiency over the traditional CPU-based implementation of AES, we proposed a new algorithm for AES method in this paper. According to our proposal, we designed and implemented the feedback AES algorithm. Our implementation achieves up to 10x speedup over the implementation of AES on a comparable CPU. Our implementation can be applied for the computer forensics which requires high speed of data encryption. In the future, we will focus on efficient implementations of other common symmetric- key encryption algorithms, such as Blowfish, Serpent and Twofish. Besides, future work will also include GPU implementations of hashing and public key algorithms(e.g. MD5, SHA-1 and RSA) in order to create a complete cryptographic framework. REFERENCE [1]. J. Daemen and V. Rijmen, AES Proposal:Rijndael, AES Algorithm Submission, September 3, 1999. http://csrc.nist.gov/encryption/aes/rijndael/Rijndael.p df. [2]. J. Daemen and V. Rijmen, The block cipher Rijndael, Smart Card research and Applications, LNCS 1820, Springer-Verlag, pp. 288-296. [3]. Maire McLoone, John V. McCanny:Single-Chip FPGA Implementation of the advanced encryption standard algorithm. www.springerlink.com/index/eajtwybnuw9hhejjh. [4]. FIPS PUB197, Advanced Encryption Standard (AES),National Institute of Standards and Technology, U.S. Department of Commerce, November 2001. http://csrc.nist.gov/publications/fips/fips197/fips-197 [5]. Suresh Sharma, T S BSudarshan: Design of an Efficient Architecture for Advanced Encryption Standard Algorithm Using Systonic Structure. http://www.hipc.org/hipc2005/posters/systolic.pdf 0 100 200 300 400 PIPELINE ARCH FEEDBACK ARCH