Processor-Integrated Hash Circuit for Low-Latency Hashing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing software-implemented encryption methods for large data sets suffer from poor performance, particularly in the era of 'big data', and hardware solutions using adjunct circuits face bus and memory access latencies, limiting performance for small messages.

Innovation Solution

Implementing hash functions, such as SHA-3 and SHA-2, directly in a processor's execution unit with a hash circuit that includes a state register, state update circuit, and control circuit, enabling efficient processing through iterative rounds and hardware execution of hash instructions.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If encryption is performed utilizing software executing on a general purpose processor, then the advantages of being able to select differing encryption algorithms and easily adapting a selected encryption algorithm to use various data lengths are achieved, but relatively poor performance is obtained

Engineering Contradiction:
Improvealgorithm selection and data length adaptationVSAvoidencryption performance
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The encryption function is segmented into a dedicated execution unit within the processor, separate from the general-purpose processor core. This execution unit contains specialized circuitry for performing encryption operations, allowing the system to maintain software-level algorithm selection flexibility while achieving hardware-level performance through physical separation of encryption functions from general processing.

Inventive Principle:
Principle #1Segmentation

2Productivity

If support for encryption is provided in hardware to achieve improved performance, then encryption performance is improved, but the concern with encryption performance also arises due to the increased need to run enterprise applications utilizing encrypted data

Engineering Contradiction:
Improveencryption performanceVSAvoidprocessor complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The execution unit providing hardware encryption support is merged within the processor core rather than being implemented as a separate adjunct circuit. This integration allows the encryption functionality to share the processor's internal bus and memory structures, reducing overall system complexity while maintaining hardware-level encryption performance.

Inventive Principle:
Principle #5Merging (Combining)

3Productivity

If hash functions are implemented separately from a processor core, for example, in a bus-attached Application-Specific Integrated Circuits (ASICs) or accelerator, then the possibility of better performance than some software solutions is offered, but bus and memory access latencies and messaging overhead limit performance

Engineering Contradiction:
Improvehash function performanceVSAvoidbus and memory access latency
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The hash function execution unit is merged within the processor core, sharing internal buses and memory structures with the main processor. This integration eliminates the need for separate bus transactions and messaging overhead that would occur with external ASIC or accelerator implementations, reducing access latency while maintaining hardware-level performance.

Inventive Principle:
Principle #5Merging (Combining)

4Adaptability or versatility

If broad support in hardware for hash functions is provided, then hash function capability is enhanced, but large areas within a processor floorplan are consumed by circuitry implementing hash functions

Engineering Contradiction:
Improvehash function supportVSAvoidprocessor floorplan area
Core Design Contradiction:
Adaptability or versatilityVSArea of stationary object

Solution Approach 1:

The execution unit is designed to dynamically support multiple hash function algorithms through configurable circuitry rather than hardcoding support for each algorithm. This dynamic approach allows the same physical circuitry to adapt to different hash functions (SHA-1, SHA-2 family, SHA-3 family) based on the incoming instruction, providing broad algorithm support without requiring separate dedicated circuits for each algorithm.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The execution unit implements a universal hash function architecture that can perform multiple hash algorithms through a single configurable circuit. The circuit responds to different instruction types to execute SHA-1, SHA-2 variants, and SHA-3 variants, making one piece of circuitry serve multiple algorithmic functions and reducing the total area required compared to having separate dedicated circuits for each algorithm.

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

Data Source

PatentUS12411996B2Hardware-based implementation of secure hash algorithms
Publication Date: 2025.09.09 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US12411996B2 patent drawing
  • US12411996B2 patent drawing
  • US12411996B2 patent drawing

AI summary

A processor includes a register file and an execution unit. The execution unit includes a hash circuit including at least a state register, a state update circuit coupled to the state register, and a control circuit. Based on a hash instruction, the hash circuit receives from the register file and buffers within the state register a current state of a message being hashed. The state update circuit performs state update function on contents of the state register, where performing the state update function includes performing a plurality of iterative rounds of processing on contents of the state register and returning a result of each of the plurality of iterative rounds of processing to the state register. Following completion of all of the plurality of iterative rounds of processing, the execution unit stores contents of the state register to the register file as an updated state of the message.