# Hardware Countermeasures Benchmarking against Fault Attacks
## 5 Comparison between Different Protection Solutions
### Protection Solution Comparison  
Hardware redundancy--[35; 36]: In the first case [35], the fault coverage is 100% and the resource consumption in terms of area is 86%. If the frequency and throughput is considered, this solution does not have any penalty. In the second case [36], the fault coverage is 98.22% and the resource consumption in terms of area is 35%. In this case, \begin{table}
\begin{tabular}{c c c c c c c} \hline \hline
**Type of** & & & & & & \\
**Countermeasure** & **Scheme** & **Technology** & **Area** & **Frequency** & **Throughput** & **Fault Coverage** \\  & & & & **Overhead** & **Degradation** & **Degradation** & **Corrected (\%)** \\ \hline \multirow{6}{*}{Combined} & [53].1 & Virtex 6 & 1.2097 & 0.7765 & 0.3825 & 100 \\  & [53].2 & Virtex 6 & 1.189 & 0.8012 & 0.7344 & 100 \\  & [53].3 & Virtex 6 & 1.3808 & 0.7818 & 0.7644 & 100 \\ \cline{1-1}  & [54].1 & 90 nm & 1.2433 & 2.801 & 1.3337 & 100 \\ \cline{1-1}  & [54].2 & 90 nm & 0.8542 & 1.5325 & 0.2702 & 100 \\ \cline{1-1}  & [54].3 & 90 nm & 0.7857 & 1.5947 & 0.2406 & 100 \\ \hline \hline \end{tabular}  
* NA = Not Applicable.  
\end{table} 
Table 5: _Cont._the scheme presents a 37% penalty for the frequency and throughput. In both cases, neither of them offers protection for the KeySchedule(), and this, depending on the cipher implementation, can be a point of vulnerability if the attacks presented in [6; 10; 11; 12; 13; 14; 15] are used. _Temporal redundancy--_[37; 38; 39]: As seen in Table 5, in [38; 39] two implementation versions of this approach are proposed, herein denoted by.1 and.2, respectively. In [38], pipeline and iterative architectures of the protection solution are presented. In [39], two different pipeline architectures of the cipher with this protection approach are proposed. In [37] the area consumption is 36%, while in the cases of [38] are 15.9% and 13.1% and in the cases of [39] are 4.3% and 7.58%, respectively. If the frequency degradation is considered, no data are available in [37] but in [38; 39] they reach a penalty of up to 10% and 16.58%, respectively. Only [38] presents a higher degradation if the throughput is considered, reaching a 54.54% penalty. Despite this penalty, it can be seen that only the countermeasure of [38] offers a level of protection greater than 99%, while [37; 39], by covering only a few types of fault, their coverage drops drastically to 24.96% and 12.5%. Therefore, of these three, the most interesting is [38] since it is able to protect all blocks of the cipher, with a high level of coverage, and its trade-off between resource consumption and frequency is very close to that of the unprotected cipher but with a strong throughput penalty. _Information redundancy--_[40; 41; 42; 43; 44; 45; 46; 47; 48; 49; 50; 51]: These solutions present very different area consumptions due to the great variety of possible designs of the parity checker. In [40; 41; 43], data item.2 in the table [44], and [45; 51] the area consumption to implement the protection does not exceed 20%. When they are analyzed, it can be seen that both the operating frequency and the throughput decrease significantly, reaching 35% less, except for the case of [45] where the frequency does not have a penalty. In the case of [40; 41; 43] it can be seen that their fault coverage is below 85%, reaching 18.9% in the case of [41], since it only detects odd-type faults. On the other hand, the solution presented in [45] is capable of offering a coverage of up to 100% of all types of faults considered without presenting any frequency or throughput penalty, with only a 16% cost in area. As seen in Table 4, this solution is able to protect the state matrix, the S-box() and the KeySchedule(). _Combination of techniques--_[53; 54]: For these proposals, the authors present three different solutions for each countermeasure. In [53], three solutions are presented one at the algorithm level, another at the round level and another one at the operation level.