Triplication-Based Cryptographic Processing for Fault Attack Resistance
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing computing devices are vulnerable to fault injection attacks, particularly fault injection attacks that aim to extract sensitive information from cryptographic algorithms, and existing protections are susceptible to side-channel attacks.
Innovation Solution
Implement a triplication-based fault attack countermeasure by executing a cryptographic algorithm with three instances, each with a different tweak value, embedding intermediate output values into a larger mathematical structure, and using a random number and inverse tweak values to determine a most common value, which is then projected back to the original output space.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If triplication-based fault attack countermeasure is implemented, then reliability is improved, but device complexity increases
Solution Approach 1:
The cryptographic processing is divided into three separate instances (triplication), each processing the same input data independently with different tweaks. This segmentation allows fault attacks to affect at most one instance, while the majority voting mechanism ensures the correct output is recovered, thus improving reliability against fault attacks.
Solution Approach 2:
Different tweak values are applied to each of the three cryptographic instances to diversify their processing. This parameter change ensures that even if one instance is compromised by a fault attack, the other instances with different tweaks will produce different erroneous outputs, allowing the system to identify and correct the fault through majority voting.
2Reliability
If triplication-based fault attack countermeasure is implemented, then reliability is improved, but use of energy increases
Solution Approach 1:
The cryptographic operation is segmented into three parallel instances that can be executed simultaneously or in quick succession. While this increases energy consumption compared to a single instance, the segmentation enables fault attack resistance by ensuring that faults affecting one instance do not compromise the overall security, thus justifying the energy overhead for enhanced reliability.
Solution Approach 2:
The same cryptographic computation is copied three times with different tweak values. This copying approach allows the system to redundancy-process the data, consuming more energy but ensuring that at least two out of three copies will produce correct results even under fault attack conditions, thereby improving reliability.
3Reliability
If intermediate output values are embedded into larger mathematical structure, then reliability is improved, but loss of time increases
Solution Approach 1:
A larger mathematical structure (such as an extended field or ring) is introduced as an intermediary to embed the intermediate output values. This intermediary structure provides additional redundancy and mathematical properties that facilitate fault detection and correction, improving reliability at the cost of increased computational overhead and processing time.
Solution Approach 2:
The intermediate output values are embedded into a larger mathematical structure that adds an extra dimension to the data representation. This dimensional expansion enables more sophisticated fault detection mechanisms but requires additional computational steps, thereby increasing processing time while enhancing fault attack resistance.
Data Source
AI summary
Systems and techniques are provided for secure processing. For instance, a process can include: providing an input value to generate a first output value; obtaining a plurality of first intermediate output values based on a function of the first output value and a tweak value; embedding the plurality of first intermediate output values into a mathematical structure; obtaining a plurality of second intermediate output values, wherein the plurality of second intermediate output values are a function of the plurality of first intermediate output values, a random number, and an inverse of the tweak value; determining a most common value of the plurality of second intermediate output values; obtaining a third intermediate value, the third intermediate value based on a function of the most common value and an inverse of the random number; projecting the third intermediate value from the mathematical structure to obtain a second output value for output.


