SHA1 Instruction Set for 128-bit Data Path Processing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional software solutions for SHA1 secure hashing algorithms are inefficient due to reliance on standard 32-bit instructions and register/memory storage, requiring multiple cycles to perform operations like round calculations, rotations, and XORs, even with multiple execution unit processors.

Innovation Solution

A new instruction set architecture (ISA) utilizing 128-bit SIMD registers is introduced to optimize SHA1 hash round calculations, enabling four rounds of SHA1 operations per instruction with a 3-cycle pipeline latency, significantly reducing processing time.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If conventional software solutions use standard 32-bit instructions and register/memory storage for SHA1 operations, then the implementation is compatible with existing processors, but the processing speed is slow requiring multiple cycles per operation

Engineering Contradiction:
ImproveSHA1 processing speedVSAvoidinstruction set complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The patent changes the word size parameter from 32-bit to 64-bit operations. By using 64-bit registers and performing operations on 64-bit words, the processor can complete SHA1 round calculations in fewer cycles. The message schedule is reorganized into 64-bit words where each word contains multiple 32-bit message inputs, allowing parallel processing and reducing the total number of operations required.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The patent introduces a new dimension of parallelism by processing multiple message inputs simultaneously within 64-bit registers. Instead of sequential 32-bit operations, the system processes four 32-bit message inputs in parallel within a single 64-bit word, effectively adding a parallel processing dimension that accelerates SHA1 computation without requiring additional processor cores.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

2Productivity

If multiple execution unit processors are used for SHA1 operations, then processing capacity increases, but the complexity of coordinating multiple units and the overhead increases

Engineering Contradiction:
Improvehashing throughputVSAvoidprocessor architecture complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent makes existing processor execution units multi-functional by designing them to handle both general-purpose 64-bit operations and SHA1-specific operations. The same execution units that perform regular arithmetic and logical operations are also configured to execute SHA1 round functions, eliminating the need for dedicated SHA1 hardware while achieving accelerated performance through efficient utilization of existing resources.

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

Solution Approach 2:

The patent segments the SHA1 computation into independent 64-bit word operations that can be executed in parallel. By organizing the message schedule and round functions to operate on discrete 64-bit words, the system enables parallel execution across multiple processing units without requiring complex coordination, as each word can be processed independently through the same instruction stream.

Inventive Principle:
Principle #1Segmentation

3Loss of time

If 32-bit instructions are used for each SHA1 operation, then the instruction set remains simple and easy to implement, but the number of instructions required increases leading to more cycles per hash

Engineering Contradiction:
Improveprocessing time per hashVSAvoidinstruction implementation simplicity
Core Design Contradiction:
Loss of timeVSEase of operation

Solution Approach 1:

The patent merges multiple 32-bit operations into single 64-bit instructions. By combining four 32-bit message inputs into one 64-bit word and performing SHA1 round calculations on the entire 64-bit word, the system reduces the number of separate instructions required. This merging approach maintains implementation simplicity by using standard processor instruction formats while dramatically reducing the total instruction count and execution time.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS8874933B2Instruction set for SHA1 round processing on 128-bit data paths
Publication Date: 2014.10.28 INTEL CORP
  • US8874933B2 patent drawing
  • US8874933B2 patent drawing
  • US8874933B2 patent drawing

AI summary

According to one embodiment, a processor includes an instruction decoder to receive a first instruction to process a SHA1 hash algorithm, the first instruction having a first operand, a second operand, and a third operand, the first operand specifying a first storage location storing four SHA states, the second operand specifying a second storage location storing a plurality of SHA1 message inputs in combination with a fifth SHA1 state. The processor further includes an execution unit coupled to the instruction decoder, in response to the first instruction, to perform at least four rounds of the SHA1 round operations on the SHA1 states and the message inputs obtained from the first and second operands, using a combinational logic function specified in the third operand.