KECCAK Hash Processing Unit Throughput Optimization
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
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
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.
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.
Data Source
Figure 1A~1C
Figure 2A~2C
Figure 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.