IJCA Special Issue on “Network Security and Cryptography”
NSC, 2011
1
A High-Throughput ASIC implementation of
Configurable Advanced Encryption Standard (AES)
Processor
P.Saravanan
Member IEEE
Assistant Professor
Department of ECE
PSG CT, Coimbatore, India
N.RenukaDevi, G.Swathi
PG Student
Department of ECE
PSG CT, Coimbatore, India
Dr.P.Kalpana
Professor
Department of ECE
PSG CT, Coimbatore, India
ABSTRACT
This paper proposes the Application Specific Integrated Circuit
(ASIC) implementation of Advanced Encryption Standard
(AES) cryptographic algorithm with reconfigurable 128-bit,
192-bit, 256-bit keys. The proposed implementation has
compact 32-bit I/O for both data and key transfer. By using on
the fly key generation for encryption process along with
efficient implementation of MixColumn and InverseMixColumn
operations using finite field GF(2
2
) for our 32-bit AES crypto
system gives a maximum of 80.1% improvement in operating
frequency when compared to the recent implementations. The
maximum operating frequency of our proposed pipelined
implementation is 333 MHz with high throughput of around
10.656 Gbps in 180 nm standard cell CMOS technology.
Keywords
Keywords - AES, ASIC, Cryptography, Galois Field GF(2
8
), On
the fly key generation, Throughput.
1. INTRODUCTION
Cryptography is the science of using mathematics to encrypt and
decrypt data. Cryptography enables users to store sensitive
information or transmit it across insecure networks (like the
Internet) so that it cannot be read by anyone except the intended
recipient. In order to ensure security in modern wireless
communication systems, many cryptographic algorithms have
been proposed [1]. In 2001, Rijndael algorithm was selected as
the Advanced Encryption Standard (AES) by National Institute
of Standards and Technology (NIST) due to the combination of
security, performance, efficiency, ease of implementation and
flexibility. These features make AES the first choice in many
applications such as Wireless LAN and smart cards [2].
AES can be implemented in both software as well as hardware.
The advantage of a software implementation includes ease of
use, ease of upgrade, portability and flexibility. But the main
drawback of software implementation is the limited physical
security with respect to key storage [3]. Conversely, hardware
implementations are more physically secure, as they cannot be
easily read or modified by an outside attacker. Many hardware
implementations have been proposed for AES in the literature
[4-5]. All these implementations were based on either field
programmable gate arrays (FPGA) or application specific
integrated circuits (ASIC).
In [6], on the fly S-Box values calculation for both encryption
and decryption process has been implemented, which results in
reduced operating frequency due to the increase in critical path
delay. An AES crypto system implementation using high level
code has been discussed in [7]. The maximum throughput
achieved in this design was 2.29 Gbps with 173 K gates in
180nm technology and the maximum operating frequency
obtained was around 154 MHz. A compact 128 MHz AES
implementation has been proposed in [8] which gave a
throughput of around 0.14 Gbps with 5.6 K gates in 180 nm
technology. In [9], two architectures for the AES algorithm have
been proposed through which a maximum throughput of 3.65
Gbps has been achieved. High speed architecture for the
hardware implementation of AES algorithm using combinational
logic S-Box implementation has been presented [10].
In our proposed AES implementation, on the fly key generation
has been used for encryption process. An efficient
implementation has been achieved using finite field GF(2
2
) in
MixColum/InverseMixColumn operations. Shift row and
MixColumn operations are combined together in order to reduce
the number of registers used in both encryption and decryption
process. Pipelining has also been implemented in appropriate
operations to deliver high throughput.
The paper is organized as follows. Section 2 explains the
basic operations in AES algorithm. The complete overview
of the proposed ASIC implementation of AES algorithm is
given in Section 3 followed by the comparison of
experimental results in Section 4. Section 5 concludes the
paper along with noted references.
2. AES ALGORITHM
The AES algorithm is a symmetric block cipher that processes
data blocks of 128 bits using a cipher key of length 128, 192, or
256 bits. Each data block consists of a 4 × 4 array of bytes called
the state, on which the basic operations of the AES algorithm are
performed. The AES encryption and decryption procedures are
shown in Figure 1 and Figure 2. After an initial round key
addition, a round function consisting of four different
transformations SubByte(), ShiftRow(), MixColumn(), and