E Anantha Tirzha 1 , B V Pavan Kumar 2 , Naga Raju Ravada 3
Department of Electronics and Communication Engineering, Sasi Institute of Technology and Engineering, Tadepalligudem, India
1 anantha.tirzah@gmail.com
ABSTRACT
This paper discusses the efficient usage of the
Advance Encryption Standard (AES) that will be used to implement high secured and low power
Crypto design by using clock gating technique. blocks of 128 bits. In addition, the AES algorithm is an iterative algorithm. Iteration can be called as a round and the total number of iterations/round Nr, is 10, 12 or 14 when the key length is 128, 192 or
Clock gating technique is simple and effective method to reduce power dissipation.
KEYWORDS: Cryptography, clock gating, AES,
DES, TDES.
I INTRODUCTION
Most of the user now a day’s using wireless communication for fast sending and receiving the mails in less time and in less cost. When this way of communication is going on, the unauthorized people hack the information within that frequency.
Users has led to an improving security and protecting user provided data/transmitted data to the hackers. Two types of cryptographic systems are mainly used for security purpose, one is asymmetric key crypto system and another one is symmetric key crypto system. In asymmetric key crypto system uses different keys for encryption and decryption. In symmetric key system uses same key for both encryption and decryption. DES,
TDES and AES are the symmetric crypto systems,
Data encryption standard (DES) was FIPS approved cryptographic algorithm. FIPS publication gives mathematical calculations for
DES. The main drawback of DES algorithm is its key length is small [1][2].
Triple Data Encryption Standard (TDES) is another mode of DES algorithm. It uses three 64bit keys. The main drawback of TDES is three times slower than DES [2][3].
In 2001 National institute of standard and technology (NIST) selected the Rijndael algorithm as The Advance Encryption Standard (AES) to replace previous algorithm like DES [4][5].
Clock gating is a popular technique used in many circuits for control power dissipation by clock net.
In synchronous digital circuits the clock net is responsible for significant part of power dissipation
[6][7].
By using clock gating technique in ring counter with SR flip-flop this project to reduce the power.
The rest of the paper is organized as follows.
Section II describes AES algorithm, section III describes Key Generation module, section IV describes clock gating, section V describes results and finally we conclude the paper in section VI.
II AES ALGORITHM
The AES algorithm is a symmetric block cipher.
AES algorithm allows for the use of cipher keys that are 128,192 and 256 bits long to protect data
256 bits respectively. The 128 bit plain text is organized by 4x4 matrixes of 16 bytes called a state. After first XOR operation between k and plain text, the algorithm consists in several rounds.
Every round except last round performs four operations. In the last round does not execute the
Mix Columns transformation. Figure1 is the basic iterative implementation of AES algorithm [8].
It is mainly composed of key generation module and round module. In this iterative implementation, plain text and secret key given to
Addround key operation that is nothing but Xor operation and the output of Addround key is given to next transformations. Control block gives the round key that is 10, 12 or 14 to key generation block. The result of the each iteration of round module is stored into the register R1. After 10 iterations of round module, the controller set the encryption signal that loads the cipher text into the output register R2 [9].
For decryption, inverse operation of last round of encryption process is performed. Last round of decryption contains Inv Addroundkey, Inv Sub
Bytes and Inv Shift Rows. The explanations of four operations of encryption/decryption are AddRound key, Sub Byte, Shift Rows and Mix Column as follows.
A. AddRound Key/ Inv AddRound key
AddRound key is simple bitwise Xor operation.
After every round output of the MixColumn operation is added with Addround key [10][11].
B. SubByte /Inv Sub Byte Transformations
In this transformation stage, every byte of the output stage of AddRound key replaced by byte stored in look up table is called S-Box or
Substitution Box. The S-box is 16x16 matrixes of bytes consist of all possible combination of 8-bit sequence.
In the inverse Sub Byte step, each byte in the matrix is updated with the inverse 8-bit S-box
[10][11].
C. Shift Row /Inv Shift Row Transformation
Shift Row transformation is simple permutation.
First row of the state is kept as same while second, third and fourth rows are cyclically left shifted by one byte, two bytes and three bytes.
Inverse Shift Row transformation is same but second, third and fourth rows are shifted cyclically to the right. Shift Row transformation is shown in
Figure2 [11].
S
0
,
0
S
0
,
1
S
0
,
2
S
0
,
3
S
0
,
0
S
0
,
1
S
0
,
2
S
0
,
3
S
1
,
0
S
1
,
1
S
1
,
2
S
1
,
3
S
1
,
3
S
1
,
0
S
1
,
1
S
1
,
2
S
2
,
0
S
2
,
1
S
2
,
2
S
2
,
3
S
2
,
2
S
2
,
3
S
2
,
0
S
2
,
1
S
3
,
0
S
3
,
1
S
3
,
2
S
3
,
3
S
3
,
1
S
3
,
2
S
3
,
3
S
3
,
0
Figure2.ShiftRow Transformation
D. Mix Column Transformation
In this transformation, each column of the state matrix is treated as a four-term polynomial. Each column is multiplied by a matrix with a fixed polynomial of GF (2 8 ). Inverse Mixed Column stage use different multiplier constants [10][11].
Mixed Column Transformation is shown in figure3.
XOR operations with RCON. Figure4 is the key generation block [12][13].
Figure4. Key Generation Block Diagram
RCON is a register constant value. It is a user provided constant value. Rotation word is nothing but the word is cyclically shifted to the right.
In Sub word operation, the operation of the Rot word is substituted in the Key memory.
In Key XOR operation RCON value is ‘XORed’ with the first word and the result of the XOR operation is again XOR with the second word. The same procedure is performed with W[i-N k
].Each round of the final value is stored in array register to start the next iteration of the key generation[12][13].
IV CLOCK GATING TECHNIQUES
Clock gating is a technique where the clock signal prevented from reaching the various modules of the processor. The absence of the clock signal prevents any register and or flip-flop from changing their value. Gating is achieved by ANDing the clock signal with a clock gated control signal, whenever any module of circuit that needs to be gated clock activated otherwise low [14].
Figure3.MixColumnTransformation
III Key Generation Module
In the AES algorithm, key generation module is used for generating round keys for every round and it generates a total of N k
(N r
+1) words. Once the key expansion is done the key data is used for encryption and decryption. First of all divided the initial key into N k
words (key0, key1 ...keyN
k-1
) which are used as initial keys.
In each round of key expansion it has to pass through key rotation word, key sub word and key
Figure5. Block of memory organization
The memory organization of AES algorithm this block diagram as shown in figure5. In this 32-bit ring counter is connected to the memory block.
In this research work, ring counter with SR flipflop. The clock gating technique is used in ring counter with SR flip flop as shown in figure 6.
“faaee88aa01a8158” is given as input and secret key, when control ‘1’then encryption process is occurred and generated round keys and then get the output as 6e1f686ea93a31fca86f3d072215b7b1 as shown in Figure7.
Figure6. Clock gating ring counter with SR
Flip-flop
In the memory block, we have to choose only one location at a time. But in that time the whole memory is activated, so that power consumption is more.
In Figure6, the ring counter with SR flip-flop is divided into two blocks and each block is connected to the clock gating technique. Initial value is clock signal and every time only one block is activated and another one is low [14][15].
In memory only one location/row is activated and consume power at that location the remaining locations are inactive, so we reduce the power consumption [14][15]. Power results are shown in section 5.
V RESULTS
As long as the clock is in active state, control signal decides the operation of Advanced Encryption
Stand, either encryption with secret key or decryption with secret key.
The active high control signal exhorts the AES as encryption. The 128 bit hexadecimal data to be encrypted and another 128 bit encrypting pseudo random code will be applied to it.
AES will perform Add round key, Shift Row,
Mixed column and Sub byte operations. The input to the above operations will be provided by the Key generation block of AES which intern consists
Rotation word, Sub Word and Exclusive OR operation with Register constant value.
Active low control signal exhorts the AES as decryption, which will get encrypted data as input.
This decrypted performs reverse operations to the predefined four transformations.
Figure8: Simulation of AES Decryption
The encryption output is given to the input decryption it will get the output faaee88aa01a8158 when control ‘0’ as shown in Figure8. Finally encryption input obtained at decryption output with less power consumption.
Proposed crypto core design using clock gating optimized 57.1% of power utilization.
SYNTHESIS RESULT
PARAMETER EXISTING PROPOSED
Power 385mW 165mW
VI CONCLUSION
In this work, we have presented a hardware implementation of AES algorithm of
Encryption/decryption, Key generation Block and clock gating technique. In this process, the power consumed by the proposed system is less compare to the existing system by using clock gating technique.
REFERENCES
[1]. NIST, “Data Encryption Standard (DES),” http://csrc.nist.gov/publications/fips/fips46-
3/fips46-3.pdf, Oct. 1999.
[2]. “Data Encryption Standard
(DES)”,www.facweb.iitkgp.ernet.in/~sourav/DES.
pdf.
[3]. NIST, “Recommendation for the Triple Data
Encryption Algorithm (TDEA) Block Cipher”,
Special Publication 800-67.
[4]. NIST, “Advanced Encryption Standard
(AES)”,http://csrc.nistgov/publicationslfipslfips197
.pdf, nov. 2001.
[5]. Bin Liu,”Parallel AES Encryption Engine for many core processor array”, IEEE transaction on computers, March 2013.
[6]. Dr. M. Kamaraju, “Low power Reduced instruction set architecture using clock gating technique”, International journal of VLSICS,
Oct2013.
Figure7: Simulation of AES Encryption
[7]. Jagrit Kathria, “A Review Of Clock Gating
Technique”, MIT International Journal of
Electronics and Communication Engineering, Aug
2011.
[8]. Rajender Manteena, A VHDL implementation of the Advanced Encryption Standard-Rijndael
Algorithm.
[9]. G. Di Natale “Low cost self test of crypto devices”, IEEE/IFIP, 2008.
[10]. Slimang Arrag, ”Design and implementation of a different architecture of mixcolumn in
FPGA”,International journal of VLSICS,
AUG.2012.
[11]. K.Sireesha “A Novel approach of area optimized and pipelined FPGA implementation of
AES Encryption and Decryption”, IJSR publications, September 2013.
[12]. P penchala reddy “Implementation of multi mode AES algorithm using Verilog”, international
Journal of Engineering Research, Dec 2014.
[13]. Ashwin R“Low Power ASIC Implementation of a 256-bit key AES Crypto-Processor at 45nm technology”,www.interscience.in/ijeee_vol2iss1/55
-59.pdf.
[14]. Qing Wu, “Clock Gating and its application to low power design of sequential circuits”, IEEE
Transactions on circuits and systems, march 2000.
[15]. “Clock gating : A comprehensive power optimization technique for sequential circuits”,
IJARCST 2014.