Cap 8
Cap 8
x9
This chapter presents a study on fault detection mechanisms involved in secure devices in
order to prevent faults-based attacks. We explore the solutions based on the use of error
detection codes (parity bits, CRC) and we discuss the strengths and the weaknesses of these
solutions with regards to error and fault detection.
1. Introduction
Today’s secure devices are mainly used for storage and processing of confidential data.
Current products provide hardware and software secure solutions for civil and online
identification, telecommunication, healthcare, banking, pay-TV, access control for restricted
systems or areas, e-government... Tomorrow, they will include decision making capabilities
for machine to machine applications. 20 billion of secure devices are forecasted in 2020 (4
billion in 2007) [Eurosmart, 2007].
Due to their applications, secure devices must be designed so that they can guarantee high
levels of dependability and quality. But in addition to usual dependability features
(reliability, availability, safety, robustness to environmental conditions), we also expect that
they have the ability to protect information against unauthorized access and intentional
misuse. The digital security mechanisms involved in such devices rely on various principles:
secrecy of design and implementation, ciphering operations for encryption/decryption of
confidential data, and hardware and software countermeasures for attack detection or
tolerance.
Encryption is the process of transforming data in order to make it unreadable to anyone
except those possessing the decryption key. Encryption can be symmetric or asymmetric. In
symmetric encryption, a sender and a recipient share the same secret key, which is used for
both encryption of plaintexts and decryptions of corresponding cipher texts. Conversely,
the asymmetric algorithms use different keys for encryption and decryption. A sender S
communicate his/her public key to all recipients R; messages encrypted with that public key
by any R can only be decrypted by the sender S using his/her corresponding private key.
The symmetric and asymmetric algorithms are generally public, while the secret and private
keys are kept secret. Symmetric encryption is fast but senders and recipients need to define
a “secure” key exchange process prior to start communication. Asymmetric encryption can
be used for exchanging this secret key at the beginning of a communication, and then a
symmetric-key algorithm using that secret key can be used for fast encryption during the
remainder of the communication. The section 2 details the Advanced Encryption Standard
www.intechopen.com
178 Fault Detection
(AES), a symmetric encryption process based on the Rijndael algorithm from Joan Daemen
and Vincent Rijmen.
Due to their applications, secure devices are subject to attacks aiming to gather private
information. Discovering the secret key of a symmetric cipher for instance allows decrypting
the text encrypted with that key. Numerous types of attack rely on the hardware
implementation of the cipher since cryptanalysis on recent algorithms is hopefully not
practical. Most recent invasive attacks using probes or modifications of the chip are
powerful but destroy the package, require time of specialists in laboratories and a proper
budget. Non-invasive side-channel attacks use leakage information related to the processed
data such as the operational timing, the power consumption of the chip, or the
electromagnetic interferences of signals. Active but semi or non-invasive fault-based attacks
rely on perturbation of the circuit behavior and use (expected) production of erroneous
results for inferring secret information. Section 3 gives an overview of implementation
techniques and data analysis performed on the reference encryption standard AES for fault-
based attacks.
Cipher algorithms are often integrated as coprocessors for better performance. As any other
function implemented in hardware, these coprocessors need to be carefully tested in order
to determine whether they are capable of performing the intended functions. So, test
contributes to the dependability and the quality of the devices in the sense that it prevents
insertion of failing hardware in dependable devices, and allows revealing faulty behaviours
during the chip lifetime. Classically, targeted fault-set includes permanent (or intermittent)
faults, which model physical defects due to manufacturing defaults or aging, and “natural”
transient faults due to the environment (particle hit) (Reed et al.., 2003). However, test can
also contribute to digital security by preventing maliciously injected transient faults to
contribute in revealing confidential data. While the detection of permanent faults is
generally performed during the execution of specific test modes after production or during
maintenance times, transient fault detection must be concurrent to the mission mode of the
circuit. Online test solutions are thus implemented in secure chips as part of protection
mechanisms targeting fault-attacks. In this context, fault-set includes transient stuck-at
faults on gate signals in the combination part of the cipher, and bit-flips on memory
elements (Leveugle, 2007). In this context, potential faults are generally detected through
identification of erroneous signal(s) on a function or sub-function output. Section 4 presents
the solutions from the literature for error-detection schemes in AES ciphers. These solutions
are first compared using common evaluation criteria such as implementation cost and fault
detection latency.
These solutions are then compared in terms of error detection capacity in Section 5.
Experimental data shows the percentage of undetected errors for each scheme according to
the number of erroneous bits injected in one or several bytes during execution of the AES
encryption.
Finally, the quality of the protection mechanisms is also evaluated in terms of capacity to
detect most frequent misbehavior. Section 6 presents an analysis on the diffusion of errors in
the responses of the AES cipher in the case of single transient stuck-at faults and discuss the
choice of appropriate detection mechanisms.
www.intechopen.com
Fault Detection in Crypto-Devices 179
in0 in4 in8 in12 s0,0 s0,1 s0,2 s0,3 out0 out4 out8 out12
in1 in5 in9 in13 s1,0 s1,1 s1,2 s1,3 out1 out5 out9 out13
in2 in6 in10 in14 s2,0 s2,1 s2,2 s2,3 out2 out6 out10 out14
in3 in7 in11 in15 s3,0 s3,1 s3,2 s3,3 out3 out7 out11 out15
2.1 Round
Round function is composed of 4 operations: SubBytes, ShiftRows, MixColumns, and
AddRoundKey. These functions operate and modify the value of the State. As shown in Fig.
www.intechopen.com
180 Fault Detection
2, all rounds are identical with the exception of the final round, which does not include the
MixColumns transformation.
SubBytes
ShiftRows
No
i<10
MixColumns
A schematic view of the Round function is shown in Fig. 3. Next paragraphs describe in
detail each of the 4 operations.
www.intechopen.com
Fault Detection in Crypto-Devices 181
1. The multiplicative inverse in the finite field GF(28), where the element (00000000)2 is
mapped to itself;
The ShiftRows operation changes the byte position in the State. It rotates each row with
different offsets to obtain a new State as follows:
�� �� �� ���
�� �� ��� ��
����� � �� ��� �� �� �
��
��� �� �� ���
The first row is unchanged; the second row is rotated one byte position to the left, the third
row two byte positions, and the fourth row three byte positions. ShiftRows is a linear
transformation. Hardware implementation of this transformation resumes to wiring.
The MixColumns operates column-wise altering all the bytes of the same column. It treats a
column as a 3rd degree polynomial with coefficients in GF (28) and produces the new
www.intechopen.com
182 Fault Detection
0 31 32 63 64 95 96 127 Ki
Fi
0 31 32 63 64 95 96 127 Ki+1
Fig. 4. AES Key Expansion Scheme
3. Fault attacks
As mentioned in the introduction, faults can be either permanent (due to fabrication defects)
or transient (due to environmental conditions such as the exposure to cosmic radiations).
For the particular case of crypto-coprocessors, transient faults can also be maliciously and
intentionally injected in the circuit in order to retrieve the secret key (Blömer and Seifert,
www.intechopen.com
Fault Detection in Crypto-Devices 183
2003). By comparing the result of a normal encryption with a faulty one, a hacker can
deduce the key. These techniques are referred to as "Differential Fault Analysis" (DFA).
Faults can be injected by different means such as temperature variation, clock frequency
modification, exposure to radiations UV, X or visible light (Kim and Quisquater, 2007). The
formers are quite efficient for software implementations of the crypto algorithm, while the
latter (i.e., laser-based fault injection) is particularly well-suited for hardware
implementations. The main advantage of laser-based fault injection is the localization of the
fault (in the timing and the spatial domains).
In this context, it is thus of prime importance to be able to detect such faults. Nevertheless,
independently of the mean used to inject the fault, the induced error must satisfy certain
conditions in order to be successfully exploited. The following subsections quickly review
the published DFA attacks on AES and analyze these conditions on the injected errors.
In (Blömer and Seifert, 2003) the authors proposed attacks based on the “safe error”
principle, i.e. "the error affects the result or not". The considered fault is a stuck-at-0
affecting one bit of the key. If the result is faulty, the actual value of the key bit is 1.
In (Blömer and Krummel, 2006) the authors report another attack based on the injection of
an error of multiplicity one which exploits collision effects, i.e. the fact that a two messages
(one without, the other one with an error) will give the same result.
www.intechopen.com
184 Fault Detection
Some other attacks relying on several fault injections on bytes are reported in (Chen and
Yen, 2003), (Piret and Quisquater, 2003), and (Dusart et al., 2003).
The attack in (Blömer and Seifert, 2003), based on the "safe error" principle, can be extended
to the case of attack on 1 byte. In this case all the input bits of an S-box must be stuck at 0.
Then, by applying all 256 values at the input of the S-box, a collision appears: when the byte
has the same value as the key, the result equals the one obtained with the stuck-at fault.
3.4 Conclusions
In this paper, we do not discuss about the actual capabilities of injecting faults according to
the hypothesis underlying those attacks. Nevertheless, from this overview, it can be
concluded that:
To our knowledge, errors affecting more than one byte (except (Moraidi et al., 2006))
cannot be exploited to perform an attack. Thus it's of prime importance to detect errors
located within a byte. All error multiplicities (1 to 8) have to be considered.
www.intechopen.com
Fault Detection in Crypto-Devices 185
According to the variety of reported attacks, all time steps (rounds) of the AES algorithm
are prone to fault injections. Thus, the data protection mechanism must span over the
whole AES process.
While errors affecting more than one byte are not exploitable by nowadays reported
attacks, their detection is of interest since, firstly it helps in detecting an attack (for
instance laser-based attacks need in practice many shots before succeeding in flipping
bits within a single byte), and secondly the ingenuity of hackers may make efficient these
attacks in the future.
www.intechopen.com
186 Fault Detection
1-bit register. Errors are detected when this predicted parity bit differs from the input parity
computed at the beginning of the next round.
The authors implemented this solution on a Xilinx Virtex 1000 FPGA. The hardware
overhead is about 8% and the additional time delay is about 5%. Details about error
detection capability are given in Section 5. It must be noted that this technique, while being
effective when S-boxes are ROM-implemented, is quite costly for standard gates
implementations.
x0 x1 x15
P(x) Check at
round
level
8 8 8
ShiftRow
z0 z1 z15
MixColumns P(y)
u0 u1 u15
k0 k1 k15 P(k)
8 8 8
v0 v1 v15
In (Bertoni et al., 2003) the authors propose to use 16 parity bits instead of a single bit. In
particular, a parity bit is associated to each byte of the state (see Fig. 6).
Concerning the S-boxes, the authors propose a ROM-based implementation. The extra
parity bit is stores in that ROM resulting in a 256x9 bits memory. Moreover, to detect input
parity errors and some internal memory (data or decode) errors, authors propose the use of
a 512×9 ROM, where the ninth bit is driven bit the input parity bit. They deliberately force
all the ROM words corresponding to a wrong input address (i.e., S-boxes input with a
wrong parity bit associated) with a dummy output value where the output parity is wrong,
so that the detection mechanism will detect the fault.
As before, the parity bit associated to each byte does not change after the ShiftRows
operation. On the contrary, the prediction of the output parity bits of the MixColumns is the
most mathematically complex for this type of architecture, because it depends on the value
of 4 bytes of the state (see details in (Bertoni et al., 2003)). For AddRoundKey operation, the
prediction of the output parity bit easily consists in adding the current parity bits with the
parity bits of the corresponding round key.
(Yen and Wu, 2006) propose the use of a systematic (n+1,n) Cyclic Redundancy Check
(CRC) over GF(28) to detect errors during encryption, where n{4,8,16} is the number of
bytes contained in the message (see Fig. 7). The generator polynomial is g(x)=1+x. The CRC
www.intechopen.com
Fault Detection in Crypto-Devices 187
byte can be associated either to each column of the state (i.e., to 4 bytes and so they use
CRC(5,4)), or to two columns (i.e., 89 bytes, so CRC(9,8)), or to the whole State (CRC(17,16)).
This solution allows a very high error detection level at the cost of high area overhead (in
the order of a thousand additional ports).
Since S-boxes represent the largest part of the circuit, (Di Natale et al., 2007 B) propose a
solution that focuses on S-boxes only. They propose the use of two parity bits per S-box, one
parity bit for the input byte of the S-box and one for its output byte. This double parity per
S-box was also proposed in (Wu et al., 2004), but the two parity bits are now independently
generated by dedicated prediction logics.
www.intechopen.com
188 Fault Detection
Then, the actual output parity is compared with the predicted output parity bit, and the
actual input parity bit is compared to the predicted one (Fig. 8). When the S-box and the
prediction circuits are synthesized as combinational logic, the area overhead is 38.33% with
respect to the original S-box. This double parity checking allows additional detection of 27%
of errors of even multiplicity compared to the solution of (Wu et al., 2004), besides all odd
multiplicity of errors.
Concerning error detection flags, the predicted and actual parity bits can be compared after
each operation, each round, or after execution of the whole encryption. These solutions are
equivalent from the detection capability point of view. They only differ in terms of
hardware overhead and detection latency. Multiplicity of checkpoints decreases the error
detection latency but increases the hardware overhead.
5. Error Detection
The error detection schemes detailed in the preceding section are now compared in terms of
error detection capabilities.
Concerning the experimental setup, we assume single transient stuck-at faults, which are
supposed to occur during the execution of one operation in one round (Fig. 9). S-boxes are
implemented using random logic. Concerning the scheme presented in (Yen and Wu, 2006),
we used a CRC (5,4) i.e. 4 CRC bytes, one for each column of the State array (32 bits). Since
the error detection scheme presented in (Di Natale et al, 2007 B) only addresses errors on the
S-boxes outputs, this protection scheme is completed with the solution proposed in (Bertoni
et al., 2003): a faulty parity bit is affected to an S-box operation when either faulty input or
output parities are detected. This S-box parity bit is subsequently used in the following
prediction operations.
We first analyzed the detection capabilities of these four techniques with respect to errors
affecting a single byte. Errors have been exhaustively injected in every byte, every operation
and at every round. Table 2 reports the error multiplicity (one to eight faulty bits), the
www.intechopen.com
Fault Detection in Crypto-Devices 189
2
number of simulated errors for each error multiplicity (e.g. �� � �� � � � = 17920 error
8
instances for 2 faulty bits among 8 bits, affecting one byte over 16 in the State array, after one
of the 40 operations executed during the encryption), and the number of the undetected
errors for each technique under evaluation.
As expected, errors with odd multiplicity are more easily detected with detection schemes
based on parity codes (Wu et al., 2004), while the CRC-based scheme proposed in (Yen and
Wu, 2006) outperforms other techniques by detecting even-multiplicity errors too.
In the next experiments we injected random errors affecting any of the 128 state bits, with
error multiplicity ranging from 1 to 64 faulty bits. Note that if errors affecting several bytes
are not easily exploitable during DFA, their detection is of prime interest for detecting the
www.intechopen.com
190 Fault Detection
attack itself. For each error multiplicity, 1000 randomly-chosen injection positions have been
selected among randomly-chosen State array bits after execution of a randomly-chosen
encryption operation. Simulation results are reported in Table 3.
All the techniques detect errors with multiplicity larger than 6 bits, except the detection
scheme in (Wu et al., 2004) that provides only one parity bit for the whole State array.
www.intechopen.com
Fault Detection in Crypto-Devices 191
AddRoundKey resumes to a single layer of XOR gates. Thus, under the selected fault
model, only error of multiplicity 1 may occur when a fault affects a XOR gate signal;
MixCloumns operates on 32 input bits so an exhaustive study cannot be performed.
Moreover, since the error propagation on the output of the SubBytes operation strongly
depends on the implementation (netlist) of the S-box, we implemented different versions of
the S-box using different synthesis parameters and implementation styles. In particular, we
implemented the following designs using the AMS 0.35µm technology library:
Sbox1: description in VHDL as combinational look-up table, synthesis with Cadence©,
553 cells
Sbox2: description in VHDL as combinational look-up table, synthesis with Design
Compiler (Synopsys©) with “-map_effort high” option, 477 cells
Sbox3: description in VHDL as combinational look-up table, synthesis with Design
Compiler with “-map_effort medium” option, 482 cells
Sbox4: description in VHDL as combinational look-up table, synthesis with Design
Compiler with “-map_effort low” option, 474 cells
Sbox5: mathematical description in VHDL of two blocks: the inversion in GF(28)
described as combinational look-up table plus the affine transformation, synthesis with
Design Compiler with “-map_effort high” option, 481 cells
Sbox6: mathematical description in VHDL, by using the decomposition of calculations in
GF(24) as described in (Wolkerstorferm et al., 2002), synthesis with Design Compiler
with “-map_effort high” option, 193 cells
For each S-box implementation we performed exhaustive fault simulation, i.e. we applied all
the possible input values (256 values) and we fault simulated the behavior of the device for
each possible stuck-at in the circuit. The fault simulation produced a fault dictionary
composed by all the possible couples C formed by { input value / fault } and, associated to
each of them, the number of erroneous bits at the output of the S-box.
Table 4 reports the number of couples C leading to error multiplicities ranging from 0 to 8
for each S-box implementation. The first column (error multiplicity = 0) represents all the
cases where the fault is not excited by a specific input value, or its effect is not propagated to
the output. For all the other cases, the cell reports, besides the number of couples C, the
percentage with respect to the overall number of couples and, in bold, the percentage with
respect to the number of couples that lead to at least 1 error at the output of the S-box.
It is possible to note that, for instance, among the 11% of fault simulations for which a fault
injection results in erroneous data on the Sbox1 output (89% of experiments result in 0
error), about 78% of the cases result in only one erroneous output bit, justifying therefore the
use of code-based solution that exploits simple parity bit. Likewise, the 14 couple
[fault/vector] providing 8 output errors correspond to faults at the input of the Sbox. It
might not be necessary to protect the Sbox with detection schemes able to detect 8 error bits,
if these errors are detected at the input of the Sbox.
Obviously, different S-box implementations lead the series of fault injection to different
profiles in terms of error multiplicity. The presented implementations differ in terms of
power consumption, performance and area according to chosen synthesis parameters. But
the synthesis tool generates also quite different implementations whether the initial
VHDL model is described as a look-up table or a mathematical expression.When starting
from look-up table, the number of errors at the output of the S-box is concentrated around 1
or 2 erroneous bits. On the contrary, mathematical-based architectures (Sbox5 and Sbox6)
www.intechopen.com
192 Fault Detection
are composed of several blocks that operate in cascade, and an error in a particular element
is spread over several output bits. Therefore this type of implementation is first more
sensitive to faults (in the case of Sbox6, 37% of couples generates an error at the output,
while only 11% for Sbox1), and second it generates a higher number of output errors (the
highest average is between 4 and 5).
Such experiments must be conducted for selecting appropriate fault detection schemes.
0 1 2 3 4 5 6 7 8
Sbox1 450382 36551 6448 2033 953 474 235 62 14
90% 7% / 78% 1% / 14% 0% / 4% 0% / 2% 0% / 1% 0% / 1% 0% / 0% 0% / 0%
Sbox2 441836 23664 16744 8547 3922 1631 637 147 24
89% 5% / 43% 3% / 30% 2% / 15% 1% / 7% 0% / 3% 0% / 1% 0% / 0% 0% / 0%
Sbox3 438510 23849 16609 8212 3801 1544 619 145 23
89% 5% / 44% 4% / 30% 2% / 15% 1% / 7% 0% / 3% 0% / 1% 0% / 0% 0% / 0%
Sbox4 441855 23658 16745 8534 3924 1629 636 147 24
89% 5% / 43% 3% / 30% 2% / 15% 1% / 7% 0% / 3% 0% / 1% 0% / 0% 0% / 0%
Sbox5 418618 7311 8973 4808 9949 27511 8486 212 20
86% 2% / 11% 2% / 13% 1% / 7% 2% / 15% 6% / 41% 2% / 13% 0% / 0% 0% / 0%
Sbox6 144592 9392 8515 10443 24581 21571 4473 3401 2152
63% 4% / 11% 4% / 10% 5% / 12% 11% / 29% 9% / 26% 2% / 5% 1% / 4% 1% / 3%
Table 4. Fault vs error multiplicity on S-boxes output
7. Conclusions
This chapter presented a study on mechanisms involved for detecting faults-based attacks
on crypto-processors. Using the example of a standard in symmetric cryptographic, fault-
based attacks were discussed with respect to their requirements in terms of error
multiplicity (spatial and timing characteristics). We presented countermeasures to fault-
based attacks that consist in detecting errors on the ciphered information. We analyzed
more precisely some error detection schemes based on code-redundancy, with respect to
their cost and ability to detect errors occurring at run time. Analysis on error detection has
been conducted according to the error multiplicity in order to check the ability of the
protection schemes to detect exploitable errors. We also analyzed error detection schemes
performances in terms of transient fault detection (natural or maliciously injected).
Current attacks using laser-based fault injection require errors localized on very few bytes,
without need of large precision as for the attack launch instant. Error detection schemes can
be used for preventing these attacks or detecting natural transient faults. Dedicated parity
and CRC -based solutions exploit typical features of the cipher for optimization of cost
factors (area, latency) and improvement of their error detection capacity. The correlation
between the transient faults affecting the combinational parts of the circuit and the errors
produced on sub-function outputs strongly depends on the implementation of the cipher.
Experiments show that for some particular implementations, most of the faults results in
only one or two erroneous output bits, while there is no internal faults affecting all the
output bits. Such analysis on ciphering operations can justify simple and non expensive
code-redundancy solutions.
www.intechopen.com
Fault Detection in Crypto-Devices 193
8. References
Bertoni, G.; Breveglieri, L.; Koren I.; Maistri, P. & Piuri, V. (2003), Error Analysis and
Detection Procedures for a Hardware Implementation of the Advanced Encryption
Standard, IEEE Trans. on Computers, Vol. 52., No.4, April 2003
Blömer J. & Krummel, V. (2006), Fault Based Collision Attacks on AES, Proceedings of FDTC
2006, pp. 106-120.
Blömer, J. & Seifert, J.P. (2003), Fault Based Cryptanalysis of the Advanced Encryption
Standard (AES), Proceedings of CHESS 2003, pp 162-181.
Chen, C.N. & Yen, S.M. (2003), Differential Fault Analysis on AES Key Schedule and Some
Countermeasures, Proceedings of Australasian Conference on Information Security and
Privacy 2003, LNCS 2727, Springer-Verlag, pp. 118–129.
Di Natale, G.; Flottes M.L. & Rouzeyre, B. (2007 B), An On-Line Fault Detection Scheme for
SBoxes in Secure Circuits, Proceedings of 13th IEEE International On-Line Testing
Symposium, IOLTS 2007, pp. 57-62.
Di Natale, G.; Flottes, M.L. & Rouzeyre, B. (2007 A), A Novel Parity Bit Scheme for SBox in
AES Circuits, Proceedings of IEEE Design and Diagnostics of Electronic Circuits and
Systems, DDECS 2007, April 2007, pp. 1–5, DOI 10.1109/DDECS.2007.4295295
Dusart, P.; Letourneux, G. & Vivolo, O. (2003), Differential Fault Analysis on A.E.S., Applied
Cryptography and Network Security, Springer Ed., Vol. 2846/2003, pp 293-306.
Eurosmart (2007), Vision paper 2020,
http://www.eurosmart.com/index.php/publications/vision-paper-2020.html
FIPS-197 (2001), Advanced Encryption Standard (AES), Federal Information Processing
Standards Publication 197, http://csrc.nist.gov/publications/, November 26, 2001
Giraud, C. (2005), DFA on AES, Proceedings of 4th International Conference on AES 2005,
Springer publisher, pp 27-41.
Karri, R.; Wu, K.; Mishra, P. & Kim, Y. (2002), Concurrent Error Detection Schemes for Fault-
Based Side-Channel Cryptanalysis of Symmetric Block Ciphers, IEEE Transactions
on Computer-Aided Design of Integrated Circuits and Systems, Vol. 21, N. 12, December
2002, pp. 1509-1517
Kim, C.H. & Quisquater, J.-J. (2007), Faults, Injection Methods, and Fault Attacks, IEEE
Design & Test of Computers, Nov.-Dec. 2007, Vol.24, Issue 6, pp.544-545.
Leveugle, R. (2007), Early Analysis of Fault-Based Attack Effects in Secure Circuits, IEEE
Transactions on Computers, Vol. 56, N. 10, October 2007, pp. 1431-1434
Maistri, P.; Vanhauwaert, P. & Leveugle, R. (2007), A Novel Double-Data-Rate AES
Architecture Resistant against Fault Injection, Workshop on Fault Diagnosis and
Tolerance in Cryptography, 2007, DOI 10.1109/FDTC.2007.8, pp. 54-61
Monnet, Y.; Renaudin, M. & Leveugle, R. (2006), Designing Resistant Circuits against
Malicious Faults Injection Using Asynchronous Logic, IEEE Transactions on
Computers, Vol. 55, N. 9, September 2006, pp. 1104-1115
Moradi, A.; Manzuri Shalmani, M.T. & Salmasizadeh, M. (2006), A Generalized Method of
Differential Fault Attack Against AES Cryptosystem, Proceedings of Cryptographic
Hardware and Embedded Systems, CHESS 2006, pp 91-100.
Piret, G. & Quisquater, J.J. (2003), A Differential Fault Attack Technique against SPN
Structures, with Application to the AES and KHAZAD, Proceedings of Chess 2003,
pp 77-88.
www.intechopen.com
194 Fault Detection
Reed, R.A.; Kinnison, J.; Pickel, J.C.; Buchner, S.; Marshall, P.W.; Kniffin, S. & LaBel, K.A.
(2003), Single-event effects ground testing and on-orbit rate prediction methods: the
past, present, and future, IEEE Transactions on Nuclear Science, Vol. 50, pp. 622-634,
June 2003
Wolkerstorferm, J.; Oswald, E. & Lamberge, M. (2002), An ASIC Implementation of the AES
SBoxes, Proceedings of The Cryptographer's Track at the RSA Conference on Topics in
Cryptology 2002, Lecture Notes In Computer Science, Vol. 2271; pp. 67-78
Wu, K; Karri, R.; Kuznetsov, G. & Goessel, M. (2004), Low Cost Concurrent Error Detection
for the Advanced Encryption Standard, Proceedings of IEEE International Test
Conference, 2004. pp 1242- 1248
Yen, C.H. & Wu, B.F. (2006), Simple Error Detection Methods for Hardware Implementation
of Advanced Encryption Standard, IEEE Trans. on Computers, June 2006, Vol. 55,
No.6, pp 720-731
Zhang, X. & Parhi, K.K. (2002), Implementation approaches for the Advanced Encryption
Standard algorithm, IEEE Circuits and Systems Magazine, Volume 2, Issue 4, Fourth
Quarter 2002, pp. 24-46, DOI 10.1109/MCAS.2002.1173133
www.intechopen.com
Fault Detection
Edited by Wei Zhang
ISBN 978-953-307-037-7
Hard cover, 504 pages
Publisher InTech
Published online 01, March, 2010
Published in print edition March, 2010
In this book, a number of innovative fault diagnosis algorithms in recently years are introduced. These
methods can detect failures of various types of system effectively, and with a relatively high significance.
How to reference
In order to correctly reference this scholarly work, feel free to copy and paste the following:
K. Bousselam, G. Di Natale, M.-L. Flottes and B. Rouzeyre (2010). Fault Detection in Crypto-Devices, Fault
Detection, Wei Zhang (Ed.), ISBN: 978-953-307-037-7, InTech, Available from:
http://www.intechopen.com/books/fault-detection/fault-detection-in-crypto-devices