Author: Edgar C. Merkle