Scalar Multiply Hardware Instruction for Cryptographic Efficiency
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
2Reliability
If software routines are used for scalar multiply operations, then cryptographic operations can be performed, but the number of execution cycles is large
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.
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.
3Productivity
If software routines are used to perform cryptographic operations, then operations can be completed, but program code complexity increases
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.
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.
Data Source
Figure 1A~1B
Figure 2
Figure 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.