Cryptographic Nonlinear Operations Using Linear Error-Correcting Codes

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvesecurity against fault attacksVSAvoidcomputational cost
Core Design Contradiction:
ReliabilityVSProductivity

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

Inventive Principle:
Principle #10Preliminary action

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

Inventive Principle:
Principle #26Copying

2Reliability

If Information Redundancy with error correcting codes is used to detect faults, then fault detection capability is improved, but storage requirements increase excessively

Engineering Contradiction:
Improvefault detection capabilityVSAvoidstorage requirements
Core Design Contradiction:
ReliabilityVSQuantity of substance

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

Inventive Principle:
Principle #3Local quality

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

Inventive Principle:
Principle #35Parameter changes

3Measurement precision

If comprehensive error correcting codes are used to protect cryptographic operations, then fault detection accuracy is improved, but computational overhead increases

Engineering Contradiction:
Improvefault detection accuracyVSAvoidcomputational overhead
Core Design Contradiction:
Measurement precisionVSDevice complexity

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

Inventive Principle:
Principle #1Segmentation

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

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS10673610B2System and method for protecting a cryptographic device against fault attacks while performing cryptographic non-linear operations using linear error correcting codes
Publication Date: 2020.06.02 THALES DIS FRANCE SA
  • US10673610B2 patent drawing
  • US10673610B2 patent drawing
  • US10673610B2 patent drawing

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.