# Novel Fault Injection Attack without Artificial Trigger
## 3 Novel Fault Injection Attack System for Relaxing the Fault Injection Attack's Assumption
### AES DFA Method  
In this study, the existing I/O signals are utilized as trigger, and consequently, it is difficult for an attacker to detect the exact operating time of a specific operation compared with the artificial triggering approach. We address this issue by proposing an attack algorithm to analyze the confidential key information without knowing which byte has been injected by a fault. We conduct a fault injection attack to find all of the 10 th round key bytes. In this case, we apply the key recovering algorithm to derive the secret key without knowing which byte index has been injected by a fault. Figure 6 represents fault propagation flow according to various columns of MixColumns that are effected by a fault. According to the ciphertext affected by the injected fault, we can classify a corresponding Fault Type. Table 1 indicates the formulas that can express according to the input byte of 9 th round SubBytes into which a fault is injected. The formulas corresponding to the input bytes induced with a fault have different \(Z\) coefficients even if they have the same Fault Type. When the fault injection attack is executed successfully, we can derive the input fault injection column index using only the fault-injected ciphertext. However, we cannot distinguish precisely which byte has been injected. Therefore, we need to conduct the analysis for four cases to identify the correct byte index, as expressed in Table 1. The attack algorithm proposed in this paper is defined as follows. Figure 5: Electromagnetic trace collection environment. Figure 6: Propagation of a fault inserted into the input of the 9 th round of AES according to the Fault Type. As mentioned in Section 2.2, AES DFA proposed by [PERSON] can be used to narrow the \(Y_{0},Y_{1},Y_{2}\), and \(Y_{3}\) guessing values and recovers the \(Y_{0},Y_{1},Y_{2}\), and \(Y_{3}\) accurate values considering the three fault-injected ciphertexts. PGO DFA (Normal Ciphertext, Fauulted Ciphertext, Fault-Injected Byte, Guessing Value) used in lines 4\(\sim\)9 of Algorithm 1 corresponds to a function defined to narrow the \(Y_{0},Y_{1},Y_{2}\), and \(Y_{3}\) guessing values and to recover the accurate values, as shown above. The parameters of the function have the following meanings:  
* Normal Ciphertext: Normal ciphertext used for analysis;
* Fauulted Ciphertext: Fault-injected ciphertext used for analysis;
* Fault-Injected Byte: Analysis formulas according to an array with fault-injected input bytes corresponding Fault Type;
* Guessing Value: the \(Y_{0},Y_{1},Y_{2}\), and \(Y_{3}\) guessing pair to narrow. Before applying the proposed algorithm, the attacker needs to check the ciphertext bytes affected by the fault. We can define Fault Type as the input of a function obtained by checking bytes. The normal ciphertext without fault injection is denoted in the function as Normal Ciphertext. The fault injection ciphertexts are denoted in the function as Fauulted Ciphertext. Fault-Injected Byte cannot accurately derive the information about the input fault byte corresponding to the same Fault Type, as shown in Table 1. We need an array with an index of input fault bytes corresponding to the same Fault Type. Then, the formulas utilized in the analysis are decided according to the Fault-Injected Byte. Guessing Value denotes the \(Y_{0},Y_{1},Y_{2}\), and \(Y_{3}\) pairs that are used to limit the guessing value range. The 10\(\sim\)15 lines of Algorithm 1 describe that the key can be recovered if the \(Y_{0},Y_{1},Y_{2}\), and \(Y_{3}\) value is the only one. If we correctly guess the input byte corresponding to each fault-injected ciphertext, the correct value is obtained. However, if we incorrectly guess the input byte, the correct value cannot be derived. Here, \(\alpha_{0},\alpha_{1},\alpha_{2}\), and \(\alpha_{3}\) denote the ciphertext bytes index affected by the fault corresponding to Fault Type. Therefore, it is possible to recover the correct four keys as described in 10\(\sim\)15 lines of Algorithm 1.