Hash Key Entropy via Folding and Modular Addition
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing hash functions in computing devices often produce low entropy keys, leading to an undesirable imbalance in the distribution of packets across network entities, reducing system efficiency due to limited diversity in hash values.
Innovation Solution
The proposed solution involves transforming input keys and hash values using folding units, addend constructors, and modular addition to increase entropy, allowing for multiple hash values to be generated from a single key, and utilizing different manipulation values across network devices to ensure consistent results while enhancing entropy.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If traditional hash functions are used, then the implementation is simple, but the entropy of hash values is low leading to imbalanced packet distribution
Solution Approach 1:
The hash key is divided into multiple segments that are processed independently through folding operations. Each segment is folded with others to create intermediate values, which are then combined through modular addition to produce the final hash value. This segmentation increases entropy while maintaining computational efficiency.
Solution Approach 2:
The hash computation process embeds multiple transformation layers within each other: folding operations are nested within modular addition operations, which are nested within the overall hash function structure. This nested approach allows complex entropy-enhancing transformations without proportionally increasing implementation complexity.
2Reliability
If hash table size is increased to improve distribution, then packet distribution balance improves, but memory usage increases
Solution Approach 1:
Instead of changing the hash table size parameter, the invention changes the hash function's internal parameters by introducing folding operations and modular addition with carefully selected addends. This transforms the hash value distribution characteristics without requiring additional memory resources.
3Reliability
If multiple hash functions are used to increase entropy, then hash value diversity improves, but computational overhead increases
Solution Approach 1:
Multiple transformation operations (folding, modular addition, bit manipulation) are merged into a single unified hash function implementation. This combines the entropy-enhancing effects of multiple operations while avoiding the sequential overhead of executing separate hash functions, maintaining high computation speed.
Solution Approach 2:
The hash function is designed to perform multiple functions simultaneously: it distributes packets across hash table buckets, generates consistent keys for related operations, and enhances entropy through integrated folding and modular addition operations. This multi-functionality eliminates the need for separate specialized functions.
Data Source
AI summary
Input values for various computations in a computing device are transformed to increase the entropy of results thereof. A key value is inputted into one or more folding units, each of which folds sub-elements of the key value together to form a folded key value. Each folding unit is linked to a corresponding addend constructor, which generates an addend value by modifying each field in a corresponding predefined manipulation value with an operation between the field and the corresponding folded key value, or a value derived therefrom. A first value is then transformed using addition between it and each addend value, or an addend-based value derived therefrom. The transformed first value may be utilized in place of the first value in various computations. In an embodiment, hash-based operations in a network device are improved by so transforming a hash key or hash output of a hashing function.


