An efficient and practical method for dynamically maintaining an
authenticated dictionary uses a skip list data structure and
communicative hash functions to provide a dictionary database (201) that
stores information objects so that any individual object can be
authenticated as belonging or not belonging to the dictionary. The
authentication consists of a short sequence of vales that begin with an
element and a sequence of values that, when hashed in order using a
cryptographic associative hash function, create the same value as the
hashed digest of the entire dictionary. Rather than hashing up a dynamic
2-3 tree, hashes are created in a skip list. Validation of the result of
the authenticating step is provided if the hash of the short sequence
matches a signed hash of the entire skip list.