Patent ID: 8355501

Claim:
A method of collision-free hashing for near-match inputs, comprising the steps of: a) selecting a user-definable minimum number of bit positions d that must differ between a first input and a second input before a collision of hashes of the first input and the second input can occur; b) selecting a user-definable degree of a first polynomial for a cyclic code, where the degree of the first polynomial is proportional to d; c) selecting a user-definable bit length i of each of the first input and the second input; d) selecting a user-definable bit length cv of a check value, where cv is greater than or equal to d; e) setting n>=i+cv; f) generating the first polynomial, where the first polynomial divides x n +1; g) factoring the first polynomial into a second polynomial and a third polynomial; h) receiving the first input; i) dividing the first input by the second polynomial; j) dividing the first input by the third polynomial; and k) identifying the results of the ninth step and the tenth step as a hash of the first input.