Cryptographic Exponent Protection via Randomized Multiplier

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing cryptographic implementations are vulnerable to side-channel attacks, which can extract secret information by correlating physical properties like time, power consumption, or electromagnetic emanations with the secret values handled during operations like modular exponentiations or scalar multiplications, as the secret values must be present near the implementation for protection, making them susceptible to attacks.

Innovation Solution

Generating protected secret values k′ by multiplying two cryptographically secure random integers k1 and k2, which are smaller than the group order and share no divisors other than 1, allowing k′ to be used in cryptographic group operations without the need for the original secret value to be present, thus mitigating side-channel attacks.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If secret values are present near the cryptographic implementation for protection, then security against certain attacks is improved, but vulnerability to side-channel attacks increases

Engineering Contradiction:
Improvecryptographic securityVSAvoidside-channel attack vulnerability
Core Design Contradiction:
ReliabilityVSObject-affected harmful factors

Solution Approach 1:

The invention extracts the secret value from the cryptographic implementation by using a protected value that is mathematically related to the secret value but does not contain the secret value itself. The secret value is taken out from the vicinity of the implementation, eliminating the source of side-channel leakage while maintaining cryptographic functionality through the protected value.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The invention introduces a protected value as an intermediary between the secret value and the cryptographic implementation. This protected value serves as a mediator that allows the cryptographic operations to proceed without the secret value being present near the implementation, thereby blocking the direct path for side-channel attacks while preserving the necessary cryptographic relationships.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Object-affected harmful factors

If protected values are used instead of secret values, then side-channel attack resistance is improved, but computational complexity increases

Engineering Contradiction:
Improveside-channel attack resistanceVSAvoidcomputational complexity
Core Design Contradiction:
Object-affected harmful factorsVSDevice complexity

Solution Approach 1:

The invention changes the parameter representation from the secret value itself to a protected value derived through mathematical transformation (multiplication by a randomly generated integer). This parameter change maintains the cryptographic functionality while altering the form of the value to resist side-channel attacks, with the added complexity being limited to the generation and management of the protective multiplier.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS12034838B2Method and device to protect a cryptographic exponent
Publication Date: 2024.07.09 NAGRAVISION SRL
  • US12034838B2 patent drawing

AI summary

Public-key cryptography allows putting into practice concepts of digital signatures and public-key key exchange; methods used on a daily basis in digital systems. A method generates a protected secret value k′ used as a first operand in a cryptographic group operation involving a base group element G of order n and including: generating random positive integers k1 and k2, that are strictly smaller than the order of the group element G due to a cryptographically secure random number generator, such that the generated random positive integers k1 and k2 do not share any divisor with the order n other than 1; generating the protected secret value k′ based on the generating random positive integers such as k′=k1*k2, the protected secret value k′ being used as a second operand in the group operation.