Hash Key Entropy via Folding and Modular Addition

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvepacket distribution balanceVSAvoidhash function complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #7Nested doll (Nesting)

2Reliability

If hash table size is increased to improve distribution, then packet distribution balance improves, but memory usage increases

Engineering Contradiction:
Improvepacket distribution balanceVSAvoidmemory usage
Core Design Contradiction:
ReliabilityVSQuantity of substance

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.

Inventive Principle:
Principle #35Parameter changes

3Reliability

If multiple hash functions are used to increase entropy, then hash value diversity improves, but computational overhead increases

Engineering Contradiction:
Improvehash value diversityVSAvoidhash computation speed
Core Design Contradiction:
ReliabilityVSProductivity

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.

Inventive Principle:
Principle #5Merging (Combining)

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.

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

Data Source

PatentUS10511531B1Enhanced lens distribution
Publication Date: 2019.12.17 INNOVIUM INC
  • US10511531B1 patent drawing
  • US10511531B1 patent drawing
  • US10511531B1 patent drawing

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.