BLAKE Hashing Processor Instruction for G-Function Execution

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional approaches to implementing the BLAKE secure hashing algorithm are computationally intensive and inefficient, requiring many instructions and incurring significant overhead due to data dependencies and data rearrangement operations, which limits parallelism and increases processing time.

Innovation Solution

The development of specialized instructions and a processor architecture that includes cryptographic hash execution logic, allowing for the execution of BLAKE secure hashing algorithm using a single instruction to perform the entire G-function on a set of state matrix data elements, reducing the number of operations and data movements by bringing all necessary data in once and writing the results back after completion.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If conventional approaches are used to implement the BLAKE secure hashing algorithm, then the algorithm can be executed using standard instructions, but the processing time increases significantly and parallelism is limited due to data dependencies and rearrangement operations

Engineering Contradiction:
Improveprocessing speedVSAvoidprocessing time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent combines multiple BLAKE algorithm operations (G-function evaluations, data rearrangements, and state matrix updates) into a single specialized instruction. This merging of operations eliminates the sequential execution requirements and reduces processing time by performing what would traditionally require multiple instructions in one unified operation.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The patent replaces conventional mechanical instruction execution with a specialized cryptographic hash execution unit that uses parallel data paths and simultaneous operation capabilities. This substitution enables multiple G-function evaluations to occur in parallel, dramatically reducing processing time compared to sequential conventional instruction execution.

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

2Productivity

If conventional approaches are used, then processor architecture remains simple, but the number of instructions and data movements increases, reducing parallelism

Engineering Contradiction:
ImproveparallelismVSAvoidprocessor architecture
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The specialized instruction is designed to perform multiple functions within a single operation, including executing G-function evaluations, handling data rearrangements, and updating state matrix elements. This multi-functionality enables parallelism by consolidating operations that would traditionally require separate instructions, while the complexity is managed through a unified instruction set extension rather than multiple specialized units.

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

3Ease of operation

If conventional approaches are used, then implementation is straightforward using standard instructions, but data dependencies and rearrangement operations create significant overhead

Engineering Contradiction:
Improveimplementation simplicityVSAvoidoverhead
Core Design Contradiction:
Ease of operationVSLoss of time

Solution Approach 1:

The specialized instruction is designed with built-in support for data rearrangements and state matrix updates as part of the execution process. By incorporating these operations into the instruction itself rather than requiring separate rearrangement instructions, the patent eliminates overhead associated with data movement and dependency management, while maintaining ease of implementation through a unified operation interface.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS9100184B2Instructions processors, methods, and systems to process BLAKE secure hashing algorithm
Publication Date: 2015.08.04 INTEL CORP
  • US9100184B2 patent drawing
  • US9100184B2 patent drawing
  • US9100184B2 patent drawing

AI summary

A method of an aspect includes receiving an instruction indicating a first source having at least one set of four state matrix data elements, which represent a complete set of four inputs to a G function of a cryptographic hashing algorithm. The algorithm uses a sixteen data element state matrix, and alternates between updating data elements in columns and diagonals. The instruction also indicates a second source having data elements that represent message and constant data. In response to the instruction, a result is stored in a destination indicated by the instruction. The result includes updated state matrix data elements including at least one set of four updated state matrix data elements. Each of the four updated state matrix data elements represents a corresponding one of the four state matrix data elements of the first source, which has been updated by the G function.