Hardware Techniques to Mitigate Fault Attacks