code reorganization
use hash.Hash interface as value of Signer's DigestMethod