Patent ID: 8107622

Claim:
A data hashing engine operative to hash an incoming string of message words, thereby to generate a hash value tag comprising a deterministic random number string which uniquely identifies the incoming string of message words, the engine comprising: at least first and second register arrays in a section of the engine; at least one 1-way functionality in a pseudo-randomizing section of the engine; and a set of at least first and second orthogonal feedback word stream generators operative to generate a set of at least first and second orthogonal feedback streams of message words respectively, including applying respective permutations to the incoming string of message words, wherein said first and second feedback streams are combined into the first and second register arrays respectively; wherein said at least pseudo-randomizing function section accepts input from the register arrays and generates at least pseudo-random output which, in combination with a present word in the incoming string, is provided to said stream generators; and wherein said orthogonal feedback streams are characterized in that every possible modified incoming string of message words which differs by at least a single word from an original incoming string of message words has at least one of the following two characteristics (a) and (b): (a) the modified incoming string causes a corrupting first feedback stream generated by applying a permutation to said modified incoming string, when combined into said first register array, to corrupt said first register array, relative to the same first register array into which a non-corrupting first feedback stream, generated by applying said permutation to said original incoming string, has been combined; (b) the modified incoming string includes at least one reconciling word which enables the modified incoming string, when permuted to form one first feedback stream which is combined into said first register array, to reconcile said first register array relative to the same first register array into which a modified first feedback stream, formed by permuting said original incoming string of message words, has been combined, however said at least one reconciling word in said modified incoming string of message words causes a corrupting second feedback stream generated by applying a permutation to said modified incoming string, when combined into said second register array, to corrupt said second register array, relative to the same second register array into which a non-corrupting second feedback stream, generated by applying said permutation to said original incoming string, has been combined.