Scalar Multiply Hardware Instruction for Cryptographic Efficiency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current cryptographic operations, particularly those using elliptic curve techniques, face computational intensity issues due to the need for software routines to perform scalar multiply operations, which are not efficiently executed on most computers.

Innovation Solution

A single architected instruction is introduced to perform scalar multiply functions, reducing the complexity of program code and eliminating the need for intermediate result allocation, thereby improving performance by executing scalar multiplication operations directly in hardware.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If software routines are used to perform scalar multiply operations in cryptographic operations, then cryptographic operations can be performed, but the computational intensity is high and execution efficiency is low

Engineering Contradiction:
Improveexecution efficiency of scalar multiply operationsVSAvoidcomputational complexity of scalar multiply operations
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent replaces software-based scalar multiply operations with a dedicated hardware instruction (PCC instruction) that performs cryptographic computations directly in the processor. This substitution of mechanical/software implementation with hardware implementation dramatically improves execution efficiency while reducing the computational burden on general-purpose processors.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

Solution Approach 2:

The patent introduces new hardware parameters and registers specifically for cryptographic operations, including dedicated source registers, destination registers, and control registers that optimize the scalar multiply operation. These parameter changes enable direct hardware execution of cryptographic functions without software overhead.

Inventive Principle:
Principle #35Parameter changes

2Reliability

If software routines are used for scalar multiply operations, then cryptographic operations can be performed, but the number of execution cycles is large

Engineering Contradiction:
Improvecorrectness of cryptographic operationsVSAvoidexecution cycles for scalar multiply operations
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent replaces time-consuming software routines with a single hardware instruction that executes scalar multiply operations in substantially constant time. The PCC instruction is implemented in hardware logic that performs the cryptographic computation directly, eliminating the multiple software instruction cycles required by traditional implementations.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

Solution Approach 2:

The patent pre-configures dedicated registers and hardware logic for cryptographic operations, preparing the computational path in advance. The scalar multiply function is implemented as pre-computed hardware logic that executes immediately when the PCC instruction is issued, without requiring runtime software interpretation or multiple sequential operations.

Inventive Principle:
Principle #10Preliminary action

3Productivity

If software routines are used to perform cryptographic operations, then operations can be completed, but program code complexity increases

Engineering Contradiction:
Improveperformance of cryptographic operationsVSAvoidprogram code complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent extracts the complex scalar multiply operation from general-purpose software routines and implements it as a dedicated hardware instruction. This extraction removes the computational burden and code complexity from software, leaving a simple single-instruction interface that the compiler or programmer can use without managing the underlying computational complexity.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The PCC instruction is designed as a universal hardware instruction that can perform multiple cryptographic scalar multiply operations with different parameters (curves, primes, points) through a single instruction interface. This multi-functionality eliminates the need for multiple specialized software routines, simplifying program code while maintaining versatility.

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

Data Source

PatentEP3925158B1Perform cryptographic computation scalar multiply instruction
Publication Date: 2023.07.19 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • EP3925158B1 patent drawingFigure 1A~1B
  • EP3925158B1 patent drawingFigure 2
  • EP3925158B1 patent drawingFigure 3A~3B

AI summary

A single architected instruction to perform scalar multiplication for cryptographic operations is obtained. The instruction is executed, and the executing includes determining a scalar multiply function of a plurality of scalar multiply functions supported by the instruction to be performed. Input for the scalar multiply function is obtained, and the input includes at least one source component and a scalar value. The scalar multiply function is performed using the input to provide an output to be used in a cryptographic operation.