Differential fault analysis

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search

Differential fault analysis (DFA) is a type of active side-channel attack in the field of cryptography, specifically cryptanalysis. The principle is to induce faults—unexpected environmental conditions—into cryptographic operations, to reveal their internal states.


If we take a smartcard containing an embedded processor as an example, we can think it might be subjected to high temperature, unsupported supply voltage or current, excessively high overclocking, strong electric or magnetic fields, or even ionizing radiation to influence the operation of the processor. When stressed like this, the processor may begin to output incorrect results due to physical data corruption, which may help a cryptanalyst deduce the instructions that the processor is running, or what its internal data state is.[1][2]

For DES and Triple DES, about 200 single-flipped bits are necessary to obtain a secret key.[3] DFA was also applied successfully to the AES cipher.[4]

Many countermeasures have been proposed to defend from this kind of attacks. Most of them are based on error detection schemes.[5][6]

Fault injection[edit]

The fault injection attack consists of stressing the transistors responsible for encryption tasks, to generate a fault that will then be used as DFA input. The perturbation element can be an electromagnetic pulse (EM pulse or laser pulse).

So the fault injection consists of using an electromagnetic probe connected to a pulser or a laser generating a disturbance of the order of the processor cycle time (of the order of a nanosecond). The energy transferred to the chip may be sufficient to burn out certain components of the chip, so the voltage of the pulser (a few hundred volts) and the positioning of the probe must be finely calibrated. For greater precision, the chips are often decapsulated (chemically eroded to expose the bare silicon).[7]


  1. ^ Eli Biham, Adi Shamir: The next Stage of Differential Fault Analysis: How to break completely unknown cryptosystems (1996)
  2. ^ Dan Boneh and Richard A. DeMillo and Richard J. Lipton: On the Importance of Checking Cryptographic Protocols for Faults, Eurocrypt (1997)
  3. ^ Ramesh Karri, et al.: Fault-Based Side-Channel Cryptanalysis Tolerant Rijndael Symmetric Block Cipher Architecture (2002)
  4. ^ Christophe Giraud: DFA on AES (2005)
  5. ^ Xiaofei Guo, et al.: Invariance-based Concurrent Error Detection for Advanced Encryption Standard (2012)
  6. ^ Rauzy and Guilley: Countermeasures against High-Order Fault-Injection Attacks on CRT-RSA (2014) (Open Access version)
  7. ^ "Fault Injection". eshard.com. 2021-11-01. Retrieved 2021-11-23.