Mechanism for String Hashing Using a Random Number Generator
AssigneeRed Hat, Inc.
InventorJames P. Schneider
Life of this patent
Estimating the term…
Abstract
In one embodiment, a mechanism for string hashing using a random number generator is disclosed. In one embodiment, a method includes dividing an input stream provided to a hashing module into a plurality of subsets of ‘n’ bits, entangling, by a mixer of the hashing module, one of the subsets of ‘n’ bits by a next sequential output of a pseudo-random number generator (PRNG), adding a product of the entangling to an accumulator of the hashing module, repeating the entangling and adding until all subsets of the plurality of subsets have been processed, and returning a value in the accumulator as a hash result value.
Claims20
A computer-implemented method, comprising:
- dividing an input stream provided to a hashing module into a plurality of subsets of ‘n’ bits;
- entangling, by a mixer of the hashing module, one of the subsets of ‘n’ bits by a next sequential output of a pseudo-random number generator (PRNG);
- adding a product of the entangling to an accumulator of the hashing module;
- repeating the entangling and adding until all subsets of the plurality of subsets have been processed;
- and
- returning a value in the accumulator as a hash result value.
A system, comprising:
- an input device to receive a first sequence of bits;
- a subset generator to produce a plurality of subsets of ‘n’ bits from the first sequence of bits;
- a pseudo-random number generator (PRNG) to generate a plurality of random number outputs;
- a mixer to entangle one of the subsets from the subset generator with a next sequential output of the PRNG;
- and
- an accumulator to add to a product of the entanglement received from the mixer to a value stored in the accumulator;
- wherein the mixer to repeat the entangling and the accumulator to repeat the adding until all subsets of the plurality of subsets have been processed.
An article of manufacture comprising a machine-readable storage medium including data that, when accessed by a machine, cause the machine to perform operations comprising:
- initializing an accumulator with a non-zero value;
- dividing an input stream into a plurality of subsets of ‘n’ bits;
- entangling one of the subsets of ‘n’ bits by a next sequential output of a pseudo-random number generator (PRNG);
- adding a product of the entangling to the accumulator;
- repeating the entangling and adding until all subsets of the plurality of subsets have been processed;
- and
- returning a value in the accumulator as a hash result value.
Dependencies are inferred from the claim text.