← Back to Patent Explorer
US5694569A Expired / Lapsed US ⏱️ 0.0 years remaining

Method for protecting a volatile file using a single hash

Assignee: Individual
•
Filing: 1995-06-05
•
Granted: 1997-12-02
•
Expires: 2015-06-05
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract The disclosed methodology permits an insecure computing system to safely perform high security electronic financial transactions. The present invention permits the hash of a file to be taken on an incremental basis. It permits any part of the file to be changed while allowing a new aggregate hash to be computed based on the revised file portion and the prior total hash. The aggregate hash is readily updatable with each record revision without having to recompute the hash of the entire file in accordance with conventional techniques. These objectives are accomplished using two functions. The first function is an effective one-way hash function "H" for which it is computationally impossible to find two data values that hash to the same result. The second function is a commutative and associative function "F" (and inverse "Finv") and provides a mechanism for combining the aggregate hash and the hash of updated records. Examples of these latter functions include exclusive OR ("XOR") and arithmetic addition. The hash of each file record and the hash of an identification of the record (i.e., a record number or key) are combined using a function ("F") whereby individual records may be extracted using the inverse of that function (Finv). In this fashion, an individual record may be extracted from the aggregate hash and updated. Each record is represented by its identification hashed together with its data content. All such record hashs are added together to provide a highly secure integrity check. This aggregate hash covers the entire database such that the tampering (or rearranging) of any data record is revealed by the use of the record identifier (i.e., record number) in the hash calculation due to its impact on the aggregate hash (e.g., the sum).

Inventors

  • 👤 Addison M. Fischer

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-09 15:10
CPC Classifications
G; G06; G06F; G06F21/00; G06F21/50; G06F21/55; G06F21/56; G06F21/562; G06F21/565; G06F21/60; G06F21/64; H; H04; H04L; H04L9/00; H04L9/32; H04L9/3236; H04L2209/00; H04L2209/60

Claims Analysis

Total Claims: 47
Claim 1
Independent Claim 97 words
A method for protecting a collection of a plurality of discrete data units which are modified from time to time by an associated data processing system comprising the steps of: obtaining an individual hash value for each of the discrete data units by performing a hash operation using at least the data value portion of the data unit which is to be protected; and aggregating said individual hash values into an aggregate hash value for said collection using a function which permits the independent inclusion and deletion of each individual hash value from the aggregate hash value.
Claim 2
Independent Claim 97 words
A method for protecting a collection of a plurality of discrete data units which are modified from time to time by an associated data processing system comprising the steps of: obtaining an individual hash value for each of the discrete data units by performing a hash operation using at least the data value portion of the data unit which is to be protected; and aggregating said individual hash values into an aggregate hash value for said collection using a function which permits the independent inclusion and deletion of each individual hash value from the aggregate hash value.
Claim 3
Dependent Claim 22 words
A method according to claim 1, further including the step of deleting an individual hash value using the inverse of said function.
Claim 4
Dependent Claim 39 words
A method according to claim 1, further including the step of including as part of the data to be hashed for each data unit, indicia which distinguishes the relative order of each data unit from the other data units.
Claim 5
Dependent Claim 31 words
A method according to claim 1, further including the steps of updating one of said discrete data units, and operating on said aggregate hash value using the inverse of said function.
Claim 6
Dependent Claim 21 words
A method according to claim 1, wherein said indicia is a key value used to associatively index said discrete data units.
Claim 7
Dependent Claim 13 words
A method according to claim 1, wherein said discrete data units are records.
Claim 8
Dependent Claim 43 words
A method according to claim 1, further including the step of associating a data structure with at least one of said discrete data units containing information regarding the data unit for use if the data processing system is interrupted while updates are underway.
Claim 9
Dependent Claim 13 words
A method according to claim 1, wherein said discrete data units are bytes.
Claim 10
Dependent Claim 13 words
A method according to claim 1, wherein said discrete data units are sectors.
Claim 11
Dependent Claim 15 words
A method according to claim 1, further including the step of storing said aggregate hash.
Claim 12
Dependent Claim 29 words
A method according to claim 1, further including the step of storing said aggregate hash such that it can not be modified by anyone other than an authorized user.
Claim 13
Dependent Claim 14 words
A method according to claim 1, wherein said function is an exclusive OR operation.
Claim 14
Dependent Claim 13 words
A method according to claim 1, wherein said function is an addition operation.
Claim 15
Dependent Claim 17 words
A method according to claim 1, wherein the obtaining step includes obtaining a substantially non-reversible hash value.
Claim 16
Dependent Claim 18 words
A method according to claim 1, wherein the obtaining step includes obtaining a substantially cryptographically secure hash value.
Claim 17
Dependent Claim 28 words
A method according to claim 15, wherein the cryptographically secure hash value is obtained using a message digest 5 (MD5) or a secure hash algorithm (SHA) hashing technique.
Claim 18
Dependent Claim 82 words
The method in accordance with claim 1, wherein the collections of a plurality of discrete data units corresponds to a file in a database data unit, each discrete data unit being a one of plural records in the file having a record identifier and a record value with each record having one of said individual hash values and the file having the aggregate hash value, and wherein the existing aggregate hash is incrementally modified by inclusion or deletion of individual hash values.
Claim 19
Independent Claim 116 words
A method for protecting a collection of individual data groups including a first data group and a second data group which are modified from time to time comprising the steps of: performing a predetermined hash operation using both the first data group and indicia in addition to the first data group which specifically identifies said first group; performing a predetermined hash operation on the second data group and indicia identifying said second group; and combining the hashes to determine an aggregate hash for said collection using a function wherein said hash of said first group or said hash of said second group may be subsequently extracted from the aggregate hash using the inverse of said function.
Claim 20
Independent Claim 116 words
A method for protecting a collection of individual data groups including a first data group and a second data group which are modified from time to time comprising the steps of: performing a predetermined hash operation using both the first data group and indicia in addition to the first data group which specifically identifies said first group; performing a predetermined hash operation on the second data group and indicia identifying said second group; and combining the hashes to determine an aggregate hash for said collection using a function wherein said hash of said first group or said hash of said second group may be subsequently extracted from the aggregate hash using the inverse of said function.
Claim 21
Dependent Claim 27 words
A method according to claim 18, further comprising a step of performing an update operation by operating on said aggregate hash using the inverse of said function.
Claim 22
Dependent Claim 27 words
A method according to claim 18, wherein said step of combining the hash uses indicia identifying said first data group and indicia identifying said second data group.
Claim 23
Dependent Claim 18 words
A method according to claim 18, wherein said first data group and said second data group are records.
Claim 24
Dependent Claim 47 words
A method according to claim 18, further including the step of associating a data structure with at least one of said first data group and said second data group, said data structure containing information regarding the respective group for use if the data processing system is interrupted.
Claim 25
Dependent Claim 27 words
A method according to claim 18, further including the step of storing said hash such that it cannot be modified by anyone other than an authorized user.
Claim 26
Dependent Claim 14 words
A method according to claim 18, wherein said function is an exclusive OR operation.
Claim 27
Dependent Claim 13 words
A method according to claim 24, wherein said function is an addition operation.
Claim 28
Dependent Claim 14 words
The method according to claim 18, wherein the predetermined hash operation is cryptographically secure.
Claim 29
Independent Claim 73 words
A method for maintaining a validity indicator of an updatable data file including a plurality of data records and having an associated file hash comprising the steps of: accessing said file hash; updating one of said plurality of data records to generate an updated record; and computing an aggregate hash using the updated record by applying a function having both associative and commutative properties to the aggregate hash and the updated data record.
Claim 30
Independent Claim 73 words
A method for maintaining a validity indicator of an updatable data file including a plurality of data records and having an associated file hash comprising the steps of: accessing said file hash; updating one of said plurality of data records to generate an updated record; and computing an aggregate hash using the updated record by applying a function having both associative and commutative properties to the aggregate hash and the updated data record.
Claim 31
Dependent Claim 54 words
A method according to claim 27, further including the step of associating a data structure with at least one of said plurality of data records containing information regarding said one of said plurality of record for use if the data processing system is interrupted while updating said one of said plurality of data records.
Claim 32
Dependent Claim 35 words
A method according to claim 28, further including the step of providing said data structure with a field for identifying an updating operation to be performed on said one of said plurality of data records.
Claim 33
Dependent Claim 27 words
A method according to claim 28, further including the step of providing said data structure with a field for identifying a revised version of an aggregate hash.
Claim 34
Dependent Claim 19 words
A method according to claim 28, further including the step of encrypting at least part of said data structure.
Claim 35
Dependent Claim 15 words
A method according to claim 27, further including the step of storing said aggregate hash.
Claim 36
Dependent Claim 28 words
A method according to claim 27, further including the step of storing said aggregate hash such that it cannot be modified by anyone other than an authorized user.
Claim 37
Dependent Claim 14 words
A method according to claim 27, wherein said function is an exclusive OR operation.
Claim 38
Dependent Claim 13 words
A method according to claim 27, wherein said function is an addition operation.
Claim 39
Independent Claim 75 words
A method of protecting a plurality of digital data records each data record including both information content and a record identifier comprising the steps of: combining the informational content of a data record with the record identifier of said data record to determine an aggregate data string; performing a hashing operation on said aggregate data string to determine a hash value; and applying a function having both associative and commutative properties to said hash value.
Claim 40
Independent Claim 75 words
A method of protecting a plurality of digital data records each data record including both information content and a record identifier comprising the steps of: combining the informational content of a data record with the record identifier of said data record to determine an aggregate data string; performing a hashing operation on said aggregate data string to determine a hash value; and applying a function having both associative and commutative properties to said hash value.
Claim 41
Dependent Claim 45 words
A method according to claim 36, further including the step of associating a data structure with at least one data record containing information regarding the data record for use if the data processing system is interrupted while an update for said data record is underway.
Claim 42
Dependent Claim 30 words
A method according to claim 37, further including the step of providing said data structure with a field for identifying an updating operation to be performed on said data record.
Claim 43
Dependent Claim 33 words
A method according to claim 37, further including the step of providing said data structure with a field of identifying a revised version of an aggregate hash for said plurality of data records.
Claim 44
Dependent Claim 19 words
A method according to claim 37, further including the step of encrypting at least part of said data structure.
Claim 45
Dependent Claim 14 words
A method according to claim 36, wherein said function is an exclusive OR operation.
Claim 46
Dependent Claim 13 words
A method according to claim 36, wherein said function is an addition operation.
Claim 47
Dependent Claim 16 words
A method according to claim 36, wherein the hashing operation produces a cryptographically secure hash value.

References Cited (Backward Citations)

US4352952A Cited
US4290105A Cited
US4588991A Cited
US5182799A Cited
US5204966A Cited
USRE34954E Cited
US5199073A Cited
US5208853A Cited
US5297208A Cited
US5483598A Cited
US5319712A Cited
US5432852A Cited
US5475826A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2000-12-01 2001-06-02 2001-12-02 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2004-12-01 2005-06-02 2005-12-02 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2008-12-01 2009-06-02 2009-12-02 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag