Low-Power and Area-Optimized VLSI Implementation of AES Coprocessor For Zigbee System
Low-Power and Area-Optimized VLSI Implementation of AES Coprocessor For Zigbee System
Key Laboratory of the Ministry of Education for Wide Band-Gap Semiconductor Materials and Devices, Xidian University, Xi’an 710071, China
Abstract
A low-power and low-cost advanced encryption standard (AES) coprocessor is proposed for Zigbee system-on-a-chip (SoC)
design. The cost and power consumption of the proposed AES coprocessor are reduced considerably by optimizing the
architectures of SubBytes/InvSubBytes and MixColumns/InvMixColumns, integrating the encryption and decryption procedures
together by the method of resource sharing, and using the hierarchical power management strategy based on finite state machine
(FSM) and clock gating (CG) technologies. Based on SMIC 0.18 Pm complementary metal oxide semiconductor (CMOS)
technology, the scale of the AES coprocessor is only about 10.5 kgate, the corresponding power consumption is 69.1 PW/MHz ,
and the throughput is 32 Mb/s, which is reasonable and sufficient for Zigbee system. Compared with other designs, the proposed
architecture consumes less power and fewer hardware resources, which is conducive to the Zigbee system and other portable
devices.
Keywords Zigbee, AES, architecture, encryption, decryption, application specific integrated circuit (ASIC)
2 Overview of AES algorithm S rc, c Sr ,( c Vshift ( r , Nb )) mod Nb ; 0< r <4, 0< c < Nb (2)
The shift value Vshift(r,Nb) depends on the row number r, as
The AES algorithm [3] is a symmetric block cipher that shown in Eq. (3):
processes data blocks of 128 bit using a cipher key of length Vshift(0,4)=0, Vshift(1,4)=1, Vshift(2,4)=2, Vshift(3,4)=3 (3)
of 128 bit, 192 bit, or 256 bit, which result in 10, 12 and 14
rounds of operation, respectively. Each data block consists of 2.3 MixColumns transformation
a 4 u 4 array of bytes called the state, on which the basic
operations of the AES algorithm are performed. The AES The MixColumns transformation operates on the state
encryption and decryption procedures are shown in Fig. 1, in column-by-column, treating each column as a four-term
which the AES algorithm uses a round function composed of polynomial. The columns are considered as polynomials over
four different byte-oriented transformations: SubBytes, GF(28) and multiplied with a fixed polynomial. This process
ShiftRows, MixColumns and AddRoundKey. The individual is displayed in Fig. 2(c). It can be written as a matrix
encryption is described in the following subsections, and it multiplication as follows:
can be inverted and then implemented in reverse order to ª S0,c c º ª02 03 01 01º ª S0, c º
produce decryption for the AES algorithm. « Sc » « »« »
« 1, c » « 01 02 03 01» « S1, c »
« S 2,c c » « 01 01 02 03» « S 2, c »
« » « »« »
¬« S3,c c ¼» ¬ 03 01 01 02 ¼ ¬« S3, c ¼»
(a) SubBytes
The bytes in the last three rows of the State are cyclically (d) AddRoundKey
shifted over different numbers of bytes (offsets). Fig. 2(b) Fig. 2 AES encryption transformations
illustrates the ShiftRows transformation, and Eq. (2) shows
the transformation process
Issue 3 LI Zhen-rong, et al. / Low-power and area-optimized VLSI implementation of AES coprocessor for Zigbee system 91
2.4 AddRoundKey transformation system, the authors propose the SoC architecture for Zigbee
nodes. The AES coprocessor is integrated in the SoC and
In the AddRoundKey transformation, a Round Key is operated when needed by the Zigbee system.
added to the State by a simple bit wise XOR operation. There are considerbale studies on the implementation of the
Each Round Key consists of words from the key schedule. AES algorithm [4–11], in which novel methods or
Those words are added into the columns of the State. This architectures are introduced. The implementation based on
process is illustrated in Fig. 2(d). pipelined architectures [8,11] is not considered because they
yield high throughput at the expense of large hardware cost.
2.5 Key Expansion The performance in FPGAs is also ignored in this article
because the memories and random access memories (RAMs)
The AES algorithm takes the Cipher Key and performs a Key commonly used in FPGA designs [9–11] are not suitable for
Expansion routine to generate a key schedule. This process, as ASIC designs. In this article, power consumption and hardware
shown in Fig. 3, consists of the following sub-functions: cost other than high throughput are primary concerns.
1) RotWord performs a one-byte circular left shift on a
word. 3.1 Encryption and decryption integration
2) SubWord performs a byte substitution on each byte of its
input word using the S-box. The AES coprocessor contains encryption and decryption
3) The result of steps 1) and 2) is XOR-ed with a round procedures, and the two procedures do not run simultaneously.
constant Rcon[j]. These two procedures can be integrated into a whole
architecture and share hardware resource to reduce hardware
cost and power consumption. The architecture of the AES
coprocessor is shown in Fig. 4, where every sub-module
corresponds to one transformation. A 1-bit signal En/De
determines the encryption/decryption mode, and the whole
process is controlled by the Round signal. One can also
Fig. 3 Key Expansion process integrate the SubBytes and the MixColumns with InvSubBytes
and InvMixColumns, respectively, by analyzing the similarity
3 Low cost and low power implementation between the transformations and its inverse, and the
transformation can be performed individually by the same
To minimize power consumption and cost of the Zigbee hardware resources.