Systems, methods and modulated data signals are described herein that
provide an efficient way to derive a single key from which a user can
extract virtually any number of data encryption keys. A database is
logically divided into segments and a small prime number is associated
with each segment. An encryption key is derived for each segment in the
database and a key set is determined for distributing a data subset to a
user. Each segment is encrypted with the corresponding encryption key. A
single key is derived using the prime numbers associated with the data
segments and the single key, the encrypted database, and a small amount
of public information is provided to the user. The user utilizes this
information to extract the encryption key set from the single key. One
implementation utilizes a tree structure to significantly reduce the
number of modular exponentiations that must be calculated when extracting
the encryption keys. This, in turn, dramatically decreases the processing
overhead that must be allocated to the processing associated with
deriving the encryption keys.