Patent ID: 7069450

Claim:
A method for providing a single database to multiple users so that each user can only access a data subset of the database that is unique to the user, the method comprising: logically dividing the database into segments; encrypting each segment of the database; distributing the encrypted database to multiple users; formulating a single key for each user, wherein each user can extract a set of data keys from the single key; and wherein each user can utilize the extracted set of data keys to access a unique data subset of the database to which the user has permission to access, formulating the single key for a first user further comprises: determining a first complement prime set that includes the prime numbers in a prime set that are not associated with any segments in a first data subset; and raising the random value, modulo the modulus, to a power of the product of the first complement prime set; formulating the single key for a second user further comprises: determining a second complement prime set that includes the prime numbers in the prime set that are not associated with any segments in a second data subset; and raising the random value, modulo the modulus, to a power of the product of the second complement prime set.