AES Nonlinear Operation Coding for Fault Attack Detection
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current cryptographic technologies lack an efficient and computationally lightweight solution to protect against fault attacks, particularly for non-linear operations like SubBytes in AES, as existing countermeasures are either costly or require excessive storage, leaving a security gap in small devices such as smart cards.
Innovation Solution
Implementing a linear error correcting code, specifically a C[16,8,5] code, to encode cryptographic operations, which transforms input bytes into codewords to detect faults and verify the integrity of results using a redundancy portion, thereby enhancing fault detection and prevention without increasing storage requirements.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If Time Redundancy is used to defend against fault attacks by performing cryptographic operations twice, then fault detection capability is improved, but computational cost and processing time increase significantly
Solution Approach 1:
The patent applies preliminary action by pre-computing and storing redundancy values in lookup tables before cryptographic operations are performed. The redundancy information is prepared in advance and stored, so that during actual cryptographic operations, fault detection can be performed by simple table lookups and comparisons rather than full re-computation, thus maintaining high reliability while reducing computational overhead
Solution Approach 2:
The patent uses copying by creating redundant copies of cryptographic data with added redundancy information stored in lookup tables. Instead of performing full cryptographic operations twice, the system creates copied versions with embedded redundancy that can be quickly verified, achieving fault detection with minimal additional computational cost
2Reliability
If Information Redundancy with error correcting codes is used to detect faults, then fault detection capability is improved, but data size and storage requirements increase
Solution Approach 1:
The patent applies local quality by adding redundancy information only to specific critical data elements that require fault protection, rather than uniformly increasing redundancy for all data. The lookup tables store redundancy information locally associated with specific cryptographic values, allowing selective protection where it is most needed while minimizing overall data size increase
Solution Approach 2:
The patent uses partial action by implementing fault detection for only the most critical cryptographic operations and data elements rather than applying full error correcting codes to all data. The redundancy is applied partially to high-value targets, achieving effective fault detection without the overhead of comprehensive redundancy across all cryptographic data
3Productivity
If lookup tables are used to implement SubBytes operation for performance, then processing speed is improved, but vulnerability to fault attacks increases
Solution Approach 1:
The patent introduces an intermediary mechanism by adding redundancy information as a mediator between the lookup table and the cryptographic operation. The redundancy acts as a verification layer that intercepts and detects faults before they can compromise the cryptographic operation, allowing the use of fast lookup tables while protecting against fault attacks through this intermediary check
Solution Approach 2:
The patent implements feedback by using redundancy information to provide continuous verification feedback during cryptographic operations. The system constantly checks whether intermediate results match expected redundancy values, providing immediate feedback that allows detection and correction of faults before they propagate through the cryptographic algorithm
Data Source
Figure 1
Figure 2
Figure 3
AI summary
A system, method and computer-readable storage medium with instructions for protecting an electronic device against fault attack. Given a data represented as an input codeword of a systematic linear error correcting code, the technology provides the secure computation of the output codeword corresponding to the result of the non-linear function applied to this data. Other systems and methods are disclosed.