KECCAK Hash Processing Unit Throughput Optimization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The KECCAK algorithm's round processing steps, specifically θ, ρ, π, χ, and , face throughput limitations due to the need for storing and reusing previous processing results, leading to sequential dependencies that slow down the processing sequence and hinder speedup.

Innovation Solution

The proposed solution involves rearranging the order of processing steps, particularly performing π processing before θ2 and ρ processing, and optimizing the θ1 and θ2 steps to reduce dependencies, allowing for parallel operation of most circuits and reducing data holding times, thus improving throughput.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If the round processing is performed in the order of θ, ρ, π, χ, and ε, then the processing follows the standard KECCAK algorithm specification, but a lot of results of preceding processing have to be stored in memory twice within one-time round processing, making speedup difficult

Engineering Contradiction:
ImprovethroughputVSAvoidmemory storage requirements
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The θ processing is divided into two separate stages: θ1 (column sum calculation) and θ2 (column sum addition). This segmentation allows intermediate results to be reused across different processing stages without requiring complete memory storage, thereby reducing memory requirements while enabling parallel processing improvements.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The π processing is performed before θ2 and ρ processing, allowing certain data rearrangements to be completed in advance. This preliminary action enables subsequent processing stages to access data in a more efficient manner, reducing the need for repeated memory storage and access.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If results of preceding processing are stored in memory for reuse, then correct hash value generation is ensured, but the processing speed is reduced due to sequential dependencies

Engineering Contradiction:
Improvehash value correctnessVSAvoidprocessing speed
Core Design Contradiction:
ReliabilityVSSpeed

Solution Approach 1:

By segmenting θ processing into θ1 and θ2 with π inserted between them, the patent maintains data dependency correctness while enabling parallel execution of independent processing stages, thus preserving reliability while improving speed.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The processing order is dynamically adjusted within the round function, allowing certain operations to be performed in parallel while maintaining the necessary sequential dependencies for correctness. This dynamic reordering optimizes the balance between reliability and processing speed.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentEP2959469B1Hash value generating device
Publication Date: 2020.10.14 CANON KK
  • EP2959469B1 patent drawingFigure 1A~1C
  • EP2959469B1 patent drawingFigure 2A~2C
  • EP2959469B1 patent drawingFigure 2D~2F

AI summary

A hash value generating device for generating a hash value based on the KECCAK algorithm includes a θ processing unit, a ρ processing unit, a п processing unit, a χ processing unit, and an ɩ processing unit for performing processing of five steps θ, ρ, п, χ, and ɩ, included in round processing of the KECCAK algorithm. The θ processing unit includes a θ1 processing unit for performing column sum calculation processing and a θ2 processing unit for performing column sum addition processing. In the round processing, the п processing unit performs processing before the θ2 processing unit and the ρ processing unit performs processing, and the ρ processing unit performs processing on a lane after rearrangement processing by the п processing unit.