I came across this patent titled “Similarity-based access control of data in a data processing system” (priority date: 1995-04-11).
Abstract:
Similarity of data items is determined by analyzing corresponding segments of the data items. A function is applied to each segment of a data item and the output of that function is compared to the output of the same function applied to a corresponding segment of another data item. A function may be applied to the output of the functions. The functions may be hash or message digest functions.
The way I understand the legalese, it appears to patent comparing the output of a hash function to determine if the inputs are equal. This is an extremely trivial operation and is utilized in most websites today.
Most websites and other password-security applications will use a one-way hash function on the saved password. This is so that the password can not be retrieved in case of a hack. I'm sure that this was round before the world wide web even though. I'm pretty sure that some UNIX-like operating systems used one-way hashing for passwords.
So is there any prior art for this, or am I misinterpreting the patent?
Here's the text of claim 1:
A computer-implemented method, the method comprising:
- (A) for a first data item comprising a first plurality of parts,
- (a1) applying a first function to each part of said first plurality of parts to obtain a corresponding part value for each part of said first plurality of parts, wherein each part of said first plurality of parts comprises a corresponding sequence of bits, and wherein the part value for each particular part of said first plurality of parts is based, at least in part, on the corresponding bits in the particular part, and wherein two identical parts will have the same part value as determined using said first function, wherein said first function comprises a first hash function; and
- (a2) obtaining a first value for the first data item, said first value obtained by applying a second function to the part values of said first plurality of parts of said first data item, said second function comprising a second hash function;
- (B) for a second data item comprising a second plurality of parts,
- (b1) applying said first function to each part of said second plurality of parts to obtain a corresponding part value for each part of said second plurality of parts, wherein each part of said second plurality of parts consists of a corresponding sequence of bits, and wherein the part value for each particular part of said second plurality of parts is based, at least in part, on the corresponding bits in the particular part of the second plurality of parts; and
- (b2) obtaining a second value for the second data item by applying said second function to the part values of said second plurality of parts of said second data item; and
- (C) ascertaining whether or not said first data item corresponds to said second data item based, at least in part, on said first value and said second value.
rsync
protocol.