Methods are provided for encoding and decoding a digital message between a
sender and a recipient in a system including a plurality of private key
generators ("PKGs"). The PKGs include at least a root PKG and n
lower-level PKG in the hierarchy between the root PKG and the recipient.
A root key generation secret is selected and is known only to the root
PKG. A root key generation parameter is generated based on the root key
generation secret. A lower-level key generation secret is selected for
each of the n lower-level PKGs, wherein each lower-level key generation
secret is known only to its associated lower-level PKG. A lower-level key
generation parameter also is generated for each of the n lower-level PKGs
using at least the lower-level key generation secret for its associated
lower-level private key generator. The message is encoded to form a
ciphertext using at least the root key generation parameter and recipient
identity information associated with the recipient. A recipient private
key is generated such that the recipient private key is related to at
least the root key generation secret, one or more of the n lower-level
key generation secrets, and the recipient identity information. The
ciphertext is decoded to recover the message using at least the recipient
private key.