Encrypted Instruction Execution With Signature Integrity Checks

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing methods for executing machine code are vulnerable to fault attacks that corrupt instruction integrity, leading to security breaches, and existing encryption techniques fail to detect single instruction errors effectively.

Innovation Solution

A method involving encryption and integrity checking of machine code instructions using a signature-based approach, where each instruction's integrity is verified by comparing constructed and reference signatures, ensuring the integrity of the instruction stream and detecting corruption early.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If machine code is encrypted to prevent analysis and fault attacks, then security against analysis is improved, but the ability to detect single instruction errors is worsened

Engineering Contradiction:
Improvesecurity against fault attacksVSAvoiderror detection capability
Core Design Contradiction:
ReliabilityVSMeasurement precision

Solution Approach 1:

The patent applies preliminary action by computing and storing reference signatures for all instructions before execution. These reference signatures are pre-calculated based on the encrypted instruction stream and stored in a lookup table, enabling immediate error detection during execution without compromising security.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces an intermediary mechanism - a signature verification system that operates between the encrypted instruction stream and the execution unit. This intermediary computes current signatures from encrypted instructions and compares them against pre-stored reference signatures, enabling error detection without decrypting instructions.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Measurement precision

If signature verification is performed after each instruction to ensure integrity, then detection precision is improved, but processing speed is worsened

Engineering Contradiction:
Improveintegrity verification accuracyVSAvoidinstruction execution speed
Core Design Contradiction:
Measurement precisionVSProductivity

Solution Approach 1:

The patent performs preliminary action by pre-computing and storing all reference signatures before execution begins. This eliminates the need for complex verification computations during instruction execution, maintaining high processing speed while ensuring integrity verification accuracy.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent creates a copy of the signature verification function by pre-storing reference signatures in a lookup table. Instead of recomputing signatures during execution, the system copies the verification logic into a simple comparison operation against pre-computed reference values, significantly improving execution speed.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS12405796B2Method for fetching encrypted instructions, decoding and executing decrypted instructions, and comparing instruction signatures to ensure execution integrity
Publication Date: 2025.09.02 COMMISSARIAT A LENERGIE ATOMIQUE ET AUX ENERGIES ALTERNATIVES
  • US12405796B2 patent drawing
  • US12405796B2 patent drawing

AI summary

A method for executing a machine code with a computer, including constructing a signature for a current instruction on the basis of signals generated by a stage of a hardware processing path, this stage being a decoder or a stage following the decoder in the hardware processing path, and on the basis of the preceding signature constructed for an instruction which precedes it, then checking the integrity of the executed machine code by comparing the signature constructed for the current instruction with a prestored reference signature, then only when the integrity of the current instruction has been checked successfully, decrypting a cryptogram of the following instruction using the signature constructed for the current instruction.