J Electron Test (2009) 25:225–245 DOI 10.1007/s10836-009-5108-4 Fault Detection Structures of the S-boxes and the Inverse S-boxes for the Advanced Encryption Standard Mehran Mozaffari-Kermani · Arash Reyhani-Masoleh Received: 28 April 2008 / Accepted: 1 July 2009 / Published online: 17 July 2009 © Springer Science + Business Media, LLC 2009 Abstract Fault detection schemes for the Advanced Encryption Standard are aimed at detecting the in- ternal and malicious faults in its hardware imple- mentations. In this paper, we present fault detection structures of the S-boxes and the inverse S-boxes for designing high performance architectures of the Ad- vanced Encryption Standard. We avoid utilizing the look-up tables for implementing the S-boxes and the inverse S-boxes and their parity predictions. Instead, logic gate implementations based on composite fields are used. We modify these structures and suggest new fault detection schemes for the S-boxes and the in- verse S-boxes. Using the closed formulations for the predicted parity bits, the proposed fault detection struc- tures of the S-boxes and the inverse S-boxes are simu- lated and it is shown that the proposed schemes detect all single faults and almost all random multiple faults. We have also synthesized the modified S-boxes, inverse S-boxes, mixed S-box/inverse S-box structures, and the whole AES encryption using the 0.18μ CMOS technol- ogy and have obtained the area, delay, and power con- sumption overheads for their fault detection schemes. Furthermore, the fault coverage and the overheads in terms of the space complexity and time delay are compared to those of the previously reported ones. Responsible Editor: M. Goessel M. Mozaffari-Kermani (B ) · A. Reyhani-Masoleh Department of Electrical and Computer Engineering, The University of Western Ontario, London, Ontario, Canada e-mail: mmozaff@uwo.ca A. Reyhani-Masoleh e-mail: areyhani@uwo.ca Keywords Advanced encryption standard · Fault detection structures · Parity prediction · S-box · Inverse S-box 1 Introduction The Advanced Encryption Standard (AES) is recently approved by NIST (National Institute of Standards and Technology) [10] as a replacement for the previous standards because of its good characteristics in terms of security, cost, and efficient implementations [10]. In encryption, the AES accepts a 128-bit plain text input. The key can be specified to be 128 (AES-128), 192 or 256 bits. In the AES-128, the cipher text is generated after ten rounds, where, each round consists of four transformations except for the final round which has three transformations. The decryption algorithm trans- forms the cipher text to the original plain text using the reverse procedure [10]. Each transformation in every round of encryp- tion/decryption acts on its 128-bit input which is consid- ered as a four by four matrix, called state, whose entries are eight bits. The transformations in each round of encryption except for the last round are as follows: SubBytes: The first transformation in each round is the bytes substitution, called SubBytes, which is implemented by 16 S-boxes. These S-boxes are nonlinear transformations which substitute the 128- bit input state with a 128-bit output state. ShiftRows: ShiftRows is the second transformation in which the four bytes of the rows of the input state are cyclically shifted to the left. The number of left shifts for each row is equal to the number