Cryptographic Nonlinear Operations Using Linear Error-Correcting Codes
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, especially on constrained devices like smart cards.
Innovation Solution
Implementing a linear error correcting code mechanism that encodes cryptographic operations, using a C[16,8,5] code to detect faults by transforming state bytes into codewords and verifying their integrity through redundancy portions, allowing for efficient fault detection without significantly 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 security against fault attacks is improved, but computational cost and processing time increase significantly
Solution Approach 1:
The patent applies preliminary action by pre-computing and storing redundancy portions for all possible input values in lookup tables during device initialization. At runtime, the fault detection mechanism simply retrieves pre-computed redundancy values and compares them with actual computation results, eliminating the need for repeated cryptographic operations while maintaining security against fault attacks
Solution Approach 2:
The patent uses copying by creating and storing redundancy copies of cryptographic intermediate values in lookup tables. These pre-computed redundancy portions serve as reference copies that can be quickly compared against actual computation results to detect faults, avoiding the need to perform complete cryptographic operations multiple times
2Reliability
If Information Redundancy with error correcting codes is used to detect faults, then fault detection capability is improved, but storage requirements increase excessively
Solution Approach 1:
The patent applies local quality by using different redundancy schemes for different parts of the cryptographic computation. Specifically, it uses compact redundancy portions (fewer bits) for values that are frequently accessed or more critical, while using full redundancy only where necessary. The lookup tables store redundancy for individual bytes or small groups rather than entire cryptographic states, reducing overall storage requirements while maintaining fault detection capability
Solution Approach 2:
The patent changes the parameter of redundancy representation by using optimized error-detecting codes that provide adequate fault detection with fewer bits than traditional comprehensive error-correcting codes. The redundancy portions are designed to detect the specific types of faults relevant to cryptographic operations without providing full error correction capability, thus reducing storage requirements while maintaining security
3Measurement precision
If comprehensive error correcting codes are used to protect cryptographic operations, then fault detection accuracy is improved, but computational overhead increases
Solution Approach 1:
The patent applies segmentation by dividing the cryptographic computation into discrete steps and applying fault detection to each intermediate value separately. Instead of protecting the entire cryptographic operation with a single comprehensive error-correcting code, the system uses multiple smaller redundancy checks at different points in the computation, each detecting faults in specific intermediate values. This segmented approach reduces computational overhead while maintaining high fault detection accuracy
Solution Approach 2:
The patent uses partial action by implementing fault detection only for the most critical intermediate values in the cryptographic computation, rather than applying comprehensive error correction to all operations. The lookup tables store redundancy portions for key intermediate values that, if corrupted, would compromise security. This selective approach provides adequate fault detection accuracy while minimizing computational overhead
Data Source
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.


