Elliptic Curve Scalar Multiplication for Side-Channel Security

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing cryptographic processing methods for multiplying elliptic curve points by a scalar are vulnerable to side-channel attacks, particularly in terms of power consumption patterns that can reveal the scalar value, and face challenges with memory constraints in devices like smart cards.

Innovation Solution

A cryptographic processing method that involves selecting a window of bits in the scalar's binary representation, calculating and storing multiple points using a doubling function, and adding them using an addition function, with optional dummy executions and non-adjacent form processing to obscure bit positions and manage memory efficiently.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If conventional double-and-add algorithm is used, then execution time is short, but security against side-channel attacks is poor

Engineering Contradiction:
Improvesecurity against side-channel attacksVSAvoidalgorithm complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The scalar is divided into windows of w bits, and the algorithm processes these windows sequentially. This segmentation allows the use of pre-computed tables for each window, transforming the simple but insecure bit-by-bit processing into a more complex windowed approach that provides security while maintaining efficiency.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent pre-computes and stores tables of elliptic curve points corresponding to all possible window values before the main computation. This preliminary action eliminates the need for complex computations during the actual scalar multiplication, providing both security through obscured operation patterns and efficiency through table lookup operations.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If window size w is increased, then security against side-channel attacks is improved, but memory consumption increases

Engineering Contradiction:
Improvesecurity against side-channel attacksVSAvoidmemory consumption
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent allows the window size w to be adjusted as a parameter to balance security and memory consumption. By changing the window size, users can optimize the algorithm for different security requirements and device constraints, making the solution adaptable to various deployment scenarios.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The patent computes and stores only the necessary portion of the pre-computation tables corresponding to the chosen window size w. This partial action approach avoids computing and storing unnecessary data, optimizing memory usage while maintaining the security benefits of the windowed approach.

Inventive Principle:
Principle #16Partial or excessive action

3Reliability

If dummy executions are added, then security against side-channel attacks is improved, but execution time increases

Engineering Contradiction:
Improvesecurity against side-channel attacksVSAvoidexecution time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent converts the potential harm of increased execution time into a benefit by using it to mask the actual computation pattern. The dummy executions, while increasing total time, create a uniform operation pattern that prevents timing attacks and other side-channel analyses, transforming a disadvantage into a security advantage.

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

Data Source

PatentUS10664240B2Cryptographic processing method comprising multiplication of a point of an elliptic curve by a scalar
Publication Date: 2020.05.26 IDEMIA FRANCE SAS
  • US10664240B2 patent drawing
  • US10664240B2 patent drawing

AI summary

The invention relates to a cryptographic processing method comprising multiplication of a point P of an elliptic curve on a Galois field by a scalar k, the multiplication comprising steps of: storing, in a first register, a zero point of the Galois field, executing a loop comprising at least one iteration comprising steps of: selecting a window of w bits in the non-signed binary representation of the scalar k, w being a predetermined integer independent of the scalar k and strictly greater than 1, calculating multiple points of P being each associated with a bit of the window and of the form ±2iP, adding or not in the first register of multiple points stored, depending of the value of the bit of the window with which the multiple points are associated, wherein the loop ends once each bit of the non-signed binary representation of the scalar k has been selected, returning a value stored in the first register. If all the bits of the window selected during an iteration of the loop are zero, the iteration comprises at least one dummy execution of the addition function, and/or if all the bits of the window during an iteration of the loop are non-zero, the multiple points to be added in the first register during the step are determined from a non-adjacent form associated with the window.