Collision-Free Hashing for Cryptographic Metadata Cache Access
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing cryptographic computing systems face challenges in efficiently accessing and managing cryptographic metadata due to high collision rates in hash tables, which leads to increased memory usage and access overhead, making it difficult to maintain high table occupancy and support arbitrary index inputs at low cost.
Innovation Solution
The implementation of collision-free hashing using a plurality of cryptographically-strong hash functions that combine additions with carries, bit-level reordering, and wide substitutions, allowing for efficient storage and access of cryptographic metadata without invoking collision handling mechanisms, and enabling high table occupancy rates up to 85-93%.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Quantity of substance
If traditional hash tables are used for cryptographic metadata storage, then memory usage is reduced, but collision rates increase leading to increased access overhead
Solution Approach 1:
The patent segments the hash table into multiple independent regions or buckets, each handled by separate hash functions. This segmentation allows parallel access to different segments, reducing the impact of collisions in any single segment and thereby decreasing access overhead while maintaining efficient memory utilization.
Solution Approach 2:
The patent introduces an additional dimension by using multiple hash functions simultaneously rather than a single hash function. This multi-dimensional approach distributes metadata across multiple hash spaces, reducing collision probability and improving access efficiency without increasing memory consumption.
2Quantity of substance
If hash table occupancy is increased to improve memory utilization, then storage efficiency improves, but collision rates increase
Solution Approach 1:
The patent changes the parameters of the hashing system by employing multiple hash functions with different characteristics rather than relying on a single hash function. This parameter diversification allows the system to maintain high occupancy levels while the varied hash functions distribute collisions more evenly across the table, reducing the impact on any single entry.
3Reliability
If collision handling mechanisms are implemented to resolve hash conflicts, then access reliability improves, but device complexity increases
Solution Approach 1:
The patent extracts the collision handling complexity from the main access path by using multiple hash functions to pre-distribute metadata before access occurs. This extraction removes the need for complex runtime collision resolution mechanisms, simplifying the access path while maintaining reliability through the redundant hash function coverage.
4Quantity of substance
If arbitrary index inputs are supported with high table occupancy, then memory efficiency improves, but maintaining security and performance becomes difficult
Solution Approach 1:
The patent creates a universal hash table structure that handles both arbitrary index inputs and high occupancy requirements simultaneously. The multiple hash functions provide multi-functionality by serving as both collision reduction mechanisms and security measures, allowing the same structure to maintain both efficiency and security without requiring separate specialized components.
Data Source
AI summary
Embodiments are directed to collision-free hashing for accessing cryptographic computing metadata and for cache expansion. An embodiment of an apparatus includes one or more processors to: receive a physical address; compute a set of hash functions using a set of different indexes corresponding to the set of hash functions, wherein the set of hash functions combine additions, bit-level reordering, bit-linear mixing, and wide substitutions, wherein the plurality of hash functions differ in the bit-linear mixing; access a plurality of cache units utilizing the set of hash functions; read different sets of the plurality of cache units in parallel, where a set of the different sets is obtained from each cache unit of the plurality of cache units; and responsive to the physical address being located one of the different sets, return cache line data of the set corresponding to the set of the cache unit having the physical address.


