Constant Time Cryptographic Co-processor for Side-Channel Attack Resistance

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing cryptographic methods are vulnerable to side-channel attacks, which can reveal sensitive information through data-dependent behavior and inconsistent execution times, allowing hackers to recover private keys and decipher encrypted data.

Innovation Solution

Introducing randomization into cryptographic algorithms, such as AES, RSA, and ECC, by interleaving dummy cycles with genuine cycles based on a random number, ensuring a constant execution time regardless of input data or key lengths, thereby masking data-dependent discrepancies and reducing information leakage.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If cryptographic algorithms execute operations with variable timing based on data characteristics, then processing efficiency is improved, but security against side-channel attacks deteriorates

Engineering Contradiction:
Improveprocessing efficiencyVSAvoidsecurity against side-channel attacks
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent applies dynamics by making the execution timing random and variable rather than fixed. The constant time co-processor introduces random delays and variable execution patterns that appear dynamic to external observers, preventing timing attacks while maintaining efficient cryptographic processing. The system dynamically adjusts execution timing based on randomization rather than data characteristics.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent uses an intermediary approach by introducing a constant time co-processor as a mediator between the cryptographic algorithm and the external environment. This co-processor acts as a buffer that randomizes timing information, preventing direct observation of data-dependent execution patterns while still enabling efficient cryptographic operations.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Speed

If systems drop leading zeros to reduce operation time, then processing speed is improved, but information leakage through timing attacks increases

Engineering Contradiction:
Improveprocessing speedVSAvoidinformation leakage through timing attacks
Core Design Contradiction:
SpeedVSLoss of information

Solution Approach 1:

The patent converts the harmful effect of leading zero handling into a beneficial security feature. Instead of simply dropping leading zeros to speed up processing, the system uses constant time execution with randomization to transform the timing information into a security mechanism. The randomization ensures that even when leading zeros are present, the execution time provides no useful information to attackers.

Inventive Principle:
Principle #22Blessing in disguise (Convert harm into benefit)

Solution Approach 2:

The patent applies parameter changes by modifying the execution time parameter from being data-dependent to being randomly variable. The constant time co-processor changes the timing parameter through randomization, ensuring that execution time does not reveal information about the input data including leading zeros, while maintaining acceptable processing speeds.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS10243727B2Method and system for constant time cryptography using a co-processor
Publication Date: 2019.03.26 ADVANCED MICRO DEVICES INC
  • US10243727B2 patent drawing
  • US10243727B2 patent drawing
  • US10243727B2 patent drawing

AI summary

The present disclosure presents methods, apparatuses, and systems to bolster communication security, and more particularly to utilize a constant time cryptographic co-processor engine for such communication security. For example, the disclosure includes a method for secure communication, comprising receiving encrypted data at a receiving device; obtaining a randomization for at least one bit of the encrypted data; modifying an execution of a cryptographic algorithm on the at least one bit to obtain a randomized cryptographic algorithm based on the randomization; and executing the randomized cryptographic algorithm on the at least one bit of encrypted data to recover original data associated with the encrypted data.