Inverse Calculation Circuit for Elliptic Curve Cryptography

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing inverse calculation circuits for elliptic curve cryptography are vulnerable to timing attacks and differential power analysis (DPA) attacks, which compromise the security of decryption processes.

Innovation Solution

The implementation of a second Montgomery inverse algorithm that introduces random numbers to vary the calculation time and power consumption, making it difficult for attackers to predict the inverse calculation process, combined with a random number generator to generate first and second random numbers that prevent specific types of attacks.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a conventional inverse calculation circuit is used for elliptic curve cryptography, then the calculation speed is fast and the structure is simple, but the circuit is vulnerable to timing attacks and differential power analysis attacks

Engineering Contradiction:
Improvesecurity against timing and DPA attacksVSAvoidcircuit structure complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent introduces a random number generation step before the inverse calculation process. This preliminary action of generating random numbers and using them to control calculation paths ensures that each execution varies in timing and power consumption, thereby preventing timing attacks and DPA attacks while maintaining the core inverse calculation functionality

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent makes the inverse calculation circuit dynamic by using random numbers to selectively activate different calculation paths or operations. This dynamic behavior causes variation in execution time and power consumption patterns across different executions, making the circuit robust against side-channel attacks while preserving cryptographic correctness

Inventive Principle:
Principle #15Dynamics

2Reliability

If random numbers are introduced to prevent timing and DPA attacks, then the security robustness is improved, but the calculation time increases and power consumption varies

Engineering Contradiction:
Improvesecurity robustnessVSAvoidcalculation time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent changes the parameter of calculation path selection based on random numbers rather than altering the fundamental inverse calculation algorithm. By dynamically selecting from pre-defined calculation paths that all lead to the correct mathematical result, the system adds security without significantly increasing computational complexity or execution time

Inventive Principle:
Principle #35Parameter changes

3Object-affected harmful factors

If the inverse calculation process is made unpredictable through random numbers, then resistance to decryption attacks is improved, but the power consumption increases

Engineering Contradiction:
Improveresistance to decryption attacksVSAvoidpower consumption
Core Design Contradiction:
Object-affected harmful factorsVSUse of energy by moving object

Solution Approach 1:

The patent designs the random number-controlled calculation paths to perform multiple functions: they not only prevent timing and DPA attacks but also ensure correct cryptographic output. The same random number mechanism serves both security and correctness verification purposes, avoiding additional power-consuming operations

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS7680272B2Inverse calculation circuit, inverse calculation method, and storage medium encoded with computer-readable computer program code
Publication Date: 2010.03.16 ARM LTD
  • US7680272B2 patent drawing
  • US7680272B2 patent drawing
  • US7680272B2 patent drawing

AI summary

In an inverse calculation circuit, an inverse calculation method, and a storage medium encoded with a computer readable computer program code, a random number generator generates a first random number and a second random number; and an inverter receives a plurality of first bits expressing a first element of a finite field(s) as first inputs, receives a plurality of second bits expressing a second element of a finite field(s) as second inputs. In response to the first and second random numbers, the inverter outputs a plurality of third bits expressing the inverse elements of the first element. The first random number prevents a different power analysis (DPA) decryption attack, and the second random number prevents a timing decryption attack.