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 implementations, to reveal their internal states.

For example, a smartcard containing an embedded processor 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. 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]


  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)