Claims
- 1. A method for retrieving secured data from a secure data store, comprising:
receiving access information; hashing a type-independent portion of said received access information to produce a hashed result; determining whether or not said hashed result is present in a look-up table; and in response to determining that said hashed result is present in said look-up table, retrieving said secured data from said secured data store using a secure retrieval algorithm associated with said secured data store.
- 2. The method of claim 1, wherein said retrieving comprises:
standardizing a type dependent portion of said received access information; combining said standardized type dependent portion of said received access information with said type-independent portion of said received access information; hashing a result of said combining to obtain a combined hashed result; and accessing said secure data store with said combined hashed result.
- 3. The method of claim 2, wherein said accessing comprises:
splitting said combined hashed result into a plurality of offset fields, a quantity of said plurality of fields corresponding to a number of separate data stores in which portions of said secured data are stored; accessing locations in said separate data stores using said offset fields as indices into said data stores, whereby portions of said secured data are retrieved from said locations; and combining said portions of said secure data to produce said secured data.
- 4. The method of claim 3, wherein said combining combines said data value portions by multiplying said data value portions by powers of a predetermined numeric base corresponding to a position of each data value portion in said data value.
- 5. The method of claim 3, wherein said combining comprises:
dividing a field of said hashed result by a predetermined striping combination number to produce a striping modulus; selecting a striping order from a striping order table in conformity with said modulus; and reordering said portions of said secured data according to said retrieved striping order, whereby said combining is performed in conformity with said striping order.
- 6. The method of claim 1, wherein said hashing is performed according to a SHA-1 algorithm.
- 7. The method of claim 1, wherein said look-up table is associated with a first type of said access information, and wherein said method further comprises in response to determining that said hashed result is not present in said look-up table, determining whether or not said hashed result is present in a second look-up table corresponding to a second type of said access information.
- 8. The method of claim 1, further comprising in response to determining that said hashed result is not present in said look-up table, permuting said access information to obtain permuted access information, and wherein said steps of hashing, determining and retrieving are performed in conformity with said permuted access information.
- 9. The method of claim 1, wherein said type-independent portion of said access information is an old mailing address of an entity, wherein said type-dependent portion of said access information is a name of an entity and wherein said secured data is a new mailing address of said entity.
- 10. The method of claim 9, wherein said look-up table contains entries corresponding to business entities, and wherein said method further comprises in response to determining that said hashed result is not present in said look-up table, treating the access information as a name and old address of one or more individual persons.
- 11. A computer system comprising a processor for executing program instructions and a memory coupled to said processor for storing program instructions and data, wherein said program instructions comprise program instructions for:
receiving access information, hashing a type-independent portion of said received access information to produce a hashed result, determining whether or not said hashed result is present in a look-up table, and in response to determining that said hashed result is present in said look-up table, retrieving said secured data from said secured data store using a secure retrieval algorithm associated with said secured data store.
- 12. The computer system of claim 11, wherein said program instructions for retrieving comprise program instructions for:
standardizing a type dependent portion of said received access information, combining said standardized type dependent portion of said received access information with said type-independent portion of said received access information, hashing a result of said combining to obtain a combined hashed result, and accessing said secure data store with said combined hashed result.
- 13. The computer system of claim 12, wherein said program instructions for accessing comprise program instructions for:
splitting said combined hashed result into a plurality of offset fields, a quantity of said plurality of fields corresponding to a number of separate data stores in which portions of said secured data are stored, accessing locations in said separate data stores using said offset fields as indices into said data stores, whereby portions of said secured data are retrieved from said locations, and combining said portions of said secure data to produce said secured data.
- 14. The computer system of claim 13, wherein said program instructions for combining combine said data value portions by multiplying said data value portions by powers of a predetermined numeric base corresponding to a position of each data value portion in said data value.
- 15. The computer system of claim 13, wherein said program instructions for combining comprise program instructions for:
dividing a field of said hashed result by a predetermined striping combination number to produce a striping modulus, selecting a striping order from a striping order table in conformity with said modulus, and reordering said portions of said secured data according to said retrieved striping order, whereby said combining is performed in conformity with said striping order.
- 16. The computer system of claim 11, wherein said program instructions for hashing implement a SHA-1 algorithm.
- 17. The computer system of claim 11, wherein said look-up table is associated with a first type of said access information, and wherein said program instructions further comprise program instructions for in response to determining that said hashed result is not present in said look-up table, determining whether or not said hashed result is present in a second look-up table corresponding to a second type of said access information.
- 18. The computer system of claim 11, further comprising program instructions for in response to determining that said hashed result is not present in said look-up table, permuting said access information to obtain permuted access information, and wherein said program instructions for hashing, determining and retrieving are executed again using said permuted access information as input.
- 19. The computer system of claim 11, wherein said type-independent portion of said access information is an old mailing address of an entity, wherein said type-dependent portion of said access information is a name of an entity and wherein said secured data is a new mailing address of said entity.
- 20. The computer system of claim 19, wherein said look-up table contains entries corresponding to business entities, and wherein said program instructions further comprise program instructions for in response to determining that said hashed result is not present in said look-up table, processing the access information as a name and old address of one or more individual persons.
- 21. A computer program product comprising a signal-bearing media encoding program instructions for execution within a general-purpose computer system, wherein said program instructions comprise program instructions for:
receiving access information, hashing a type-independent portion of said received access information to produce a hashed result, determining whether or not said hashed result is present in a look-up table, and in response to determining that said hashed result is present in said look-up table, retrieving said secured data from said secured data store using a secure retrieval algorithm associated with said secured data store.
- 22. The computer program product of claim 21, wherein said program instructions for retrieving comprise program instructions for:
standardizing a type dependent portion of said received access information, combining said standardized type dependent portion of said received access information with said type-independent portion of said received access information, hashing a result of said combining to obtain a combined hashed result, and accessing said secure data store with said combined hashed result.
- 23. The computer program product of claim 22, wherein said program instructions for accessing comprise program instructions for:
splitting said combined hashed result into a plurality of offset fields, a quantity of said plurality of fields corresponding to a number of separate data stores in which portions of said secured data are stored, accessing locations in said separate data stores using said offset fields as indices into said data stores, whereby portions of said secured data are retrieved from said locations, and combining said portions of said secure data to produce said secured data.
- 24. The computer program product of claim 23, wherein said program instructions for combining combine said data value portions by multiplying said data value portions by powers of a predetermined numeric base corresponding to a position of each data value portion in said data value.
- 25. The computer program product of claim 23, wherein said program instructions for combining comprise program instructions for:
dividing a field of said hashed result by a predetermined striping combination number to produce a striping modulus, selecting a striping order from a striping order table in conformity with said modulus, and reordering said portions of said secured data according to said retrieved striping order, whereby said combining is performed in conformity with said striping order.
- 26. The computer program product of claim 21, wherein said program instructions for hashing implement a SHA-1 algorithm.
- 27. The computer program product of claim 21, wherein said look-up table is associated with a first type of said access information, and wherein said program instructions further comprise program instructions for in response to determining that said hashed result is not present in said look-up table, determining whether or not said hashed result is present in a second look-up table corresponding to a second type of said access information.
- 28. The computer program product of claim 21, further comprising program instructions for in response to determining that said hashed result is not present in said look-up table, permuting said access information to obtain permuted access information, and wherein said program instructions for hashing, determining and retrieving are executed again using said permuted access information as input.
- 29. The computer program product of claim 21, wherein said type-independent portion of said access information is an old mailing address of an entity, wherein said type-dependent portion of said access information is a name of an entity and wherein said secured data is a new mailing address of said entity.
- 30. The computer program product of claim 29, wherein said look-up table contains entries corresponding to business entities, and wherein said program instructions further comprise program instructions for in response to determining that said hashed result is not present in said look-up table, processing the access information as a name and old address of one or more individual persons.
RELATED APPLICATIONS
[0001] This application claims priority under 35 U.S.C. 119(e) to provisional application Ser. No. 60/409,262, filed Sep. 6, 2002 and is also a continuation-in-part of co-pending U.S. patent application “METHOD AND SYSTEM FOR STORING AND RETRIEVING DATA USING HASH-ACCESSED MULTIPLE DATA STORES”, Ser. No. 10/377,989 filed Feb. 28, 2003, the specification of which is incorporated herein by reference. This application is further related to pending U.S. patent applications: “SYSTEM AND METHOD FOR STANDARDIZING A MAILING ADDRESS”, Ser. No. 10/297,986 filed Dec. 12, 2002; “A METHOD FOR CORRECTING A MAILING ADDRESS”, Ser. No. 10/384,915, filed Mar. 6, 2003; and “DELIVERY POINT VALIDATION SYSTEM”, Ser. No. 10/344,990, filed Mar. 20, 2003, the specifications of all of which are incorporated herein by reference.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60409282 |
Sep 2002 |
US |
Continuation in Parts (1)
|
Number |
Date |
Country |
Parent |
10377989 |
Feb 2003 |
US |
Child |
10459013 |
Jun 2003 |
US |