# Hardware Countermeasures Benchmarking against Fault Attacks
## 4 Countermeasures against DFA
Note that only proposals that have been implemented and tested experimentally are listed, leaving out those that are only described theoretically without test data or implementation costs. Without their data, it is not possible to make a comparison. For example, in the case of [40], the proposed information redundancy can protect against the injection of any type of fault in the state matrix or in the S-boxes, but does not protect the KeySchedule(), with a fault coverage of 80.47%. On the other hand, in the case of [37], the proposed temporal redundancy can protect against D and E type faults, that is, single-byte faults or multi-byte faults and has a 99.82% of fault coverage. However, it leaves the circuit unprotected against other types of faults. \begin{table}
\begin{tabular}{c c c c c c c} \hline \multirow{2}{*}{**Reference**} & \multirow{2}{*}{
\begin{tabular}{c} **Type of** \\ **Countermeasure** \\ \end{tabular} } & **Protects the** & **Protects the** & **Protects the** & **Type of Fault** & **Fault** \\  & & **State** & **S-Box** & **KeySchedule** & **Detection** & **Coverage (\%)** \\ \hline
[35] & HW Red. & ✔ & ✘ & \(\sim\) & All & 100 \\
[36] & HW Red. & ✘ & ✔ & ✘ & All & 98.22 \\
[37] & Temp. Red. & ✔ & ✔ & ✘ & D and E & 99.82 \\
[38] & Temp. Red. & ✔ & ✔ & ✘ & All & 99.99 \\
[39] & Temp. Red. & ✔ & ✔ & ✘ & A & 100 \\
[40] & Info. Red. & ✔ & ✔ & ✘ & All & 80.47 \\
[41] & Info. Red. & ✔ & ✔ & ✘ & B.1 and C.1 & 75.6 \\
[42] & Info. Red. & ✔ & ✔ & ✘ & B.1, C.1 and F & 88 \\
[43] & Info. Red. & ✔ & ✔ & ✘ & All & 77.48 \\
[44] & Info. Red. & ✔ & ✔ & ✘ & All & 91\(\sim\)98 \\
[45] & Info. Red. & ✔ & ✔ & ✔ & All & 100 \\
[46] & Info. Red. & ✘ & ✔ & ✔ & A, B.1 and C.1 & 99.12 \\ \hline \end{tabular}
\end{table} 
Table 4: Countermeasure classification. Figure 6: Representation of combined redundancy. The fault coverage data in Table 4 correspond to those provided by the authors of the countermeasures. It should be noted that in some cases the authors do not give exact values and claim that their countermeasure is able to protect against one type of fault or another completely. In the case of Table 5, the fault coverage data have been obtained by applying Equation (1). \begin{table}
\begin{tabular}{c c c c c c c} \hline \hline \multirow{2}{*}{**Reference**} & **Type of** & **Protects the** & **Protects the** & **Protects the** & **Type of Fault** & **Fault** \\  & **Countermeasure** & **State** & **S-Box** & **KeySchedule** & **Detection** & **Coverage (\%)** \\ \hline
[47] & Info. Red. & ✗ & ✔ & ✗ & A, B,1, C.1 & 97 \\
[48] & Info. Red. & ✔ & ✔ & ✗ & AII & 90 \\
[49] & Info. Red. & ✔ & ✔ & ✗ & All & 100 \\ \hline
[50] & Info. Red. & ✗ & ✔ & ✗ & A, B,1, B,2, C.1 & 97 \\  & & & & & and C.2 & \\
[51] & Info. Red. & ✗ & ✔ & ✗ & A, B,1, B,2, C.1 & 93.75 \\  & & & & & and C.2 & \\
[52] & Info. Red. & ✔ & ✔ & ✗ & D and E & 99.93 \\
[53] & Combined & ✔ & ✔ & ✗ & All & 100 \\
[54] & Combined & ✔ & ✗ & ✗ & All & 100 \\ \hline \hline \end{tabular} \(\blacktriangledown\) = Applicable. ✗ = Not applicable. \(\sim\) = Maybe applicable.  
\end{table} 
Table 4: \(Cont.\)