Cryptographic Key Data Conversion for Montgomery Arithmetic

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing cryptographic algorithms, particularly those using modular arithmetic, face high calculation costs due to large numbers, which can be mitigated by Montgomery arithmetic but often require additional calculations and memory, and existing solutions to optimize these are not compatible with systems using Euclidean arithmetic.

Innovation Solution

A method for converting cryptographic key data into a form suitable for Montgomery operations, allowing direct use in Montgomery arithmetic without the need for additional conversion operations, thereby reducing calculation time and memory requirements while maintaining compatibility with existing systems.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Device complexity

If Montgomery arithmetic is used to optimize modular multiplication and exponentiation operations, then calculation complexity is reduced by avoiding division operations, but additional calculations are required and memory space is increased for storing constants

Engineering Contradiction:
Improvecalculation complexityVSAvoidmemory space
Core Design Contradiction:
Device complexityVSQuantity of substance

Solution Approach 1:

The patent applies preliminary action by pre-calculating and storing the Montgomery radix r and its square r² in non-volatile memory during a personalization phase before the electronic entity enters operational mode. This allows the operational phase to use these pre-computed values without performing additional calculations or requiring dynamic memory allocation, thus resolving the contradiction between reducing calculation complexity and minimizing memory space requirements.

Inventive Principle:
Principle #10Preliminary action

2Productivity

If Montgomery arithmetic is used to optimize cryptographic operations, then calculation time is reduced by avoiding complex division operations, but additional operations represent a penalty in terms of calculation time and memory space

Engineering Contradiction:
Improvecalculation speedVSAvoidadditional calculation time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent moves the time-consuming setup operations (calculating and storing Montgomery radix values) to a preliminary personalization phase that occurs only once during device initialization. During subsequent operational phases, these pre-stored values are reused without requiring additional calculation time, thus achieving faster cryptographic operations without the penalty of repeated setup calculations.

Inventive Principle:
Principle #10Preliminary action

3Ease of operation

If modified cryptographic protocols using only Montgomery operations are implemented, then conversion operations are eliminated, but all actors of the system must use Montgomery arithmetic making them incompatible with existing systems

Engineering Contradiction:
Improveoperation simplicityVSAvoidsystem compatibility
Core Design Contradiction:
Ease of operationVSAdaptability or versatility

Solution Approach 1:

The patent uses the pre-stored Montgomery radix values as intermediaries that enable the electronic entity to perform Montgomery arithmetic operations internally while maintaining compatibility with external systems using standard Euclidean arithmetic. The entity can process data using optimized Montgomery operations and then convert results back to standard format for communication with legacy systems, thus achieving both operational simplicity and system compatibility.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS9524144B2Data processing method and related device
Publication Date: 2016.12.20 IDEMIA FRANCE SAS
  • US9524144B2 patent drawing
  • US9524144B2 patent drawing
  • US9524144B2 patent drawing

AI summary

Data processing method and related devices for determining the result of a first type of operation involving an operand in an electronic entity comprising a non-volatile storage unit, includes the following steps: converting a data, derived from at least one key portion designed to be used with the operand in the first type of operation, into a key data adapted to be used with the operand in a second type of operation; storing the key data in the non-volatile storage unit; reading in the non-volatile storage unit the key data; performing the second type of operation with the read key data and the operand.