Simplify code

Need to split up fields to:
  - DigestField
  - HMACField
  - PGPPublicKeyField
  - PGPSymmetricKeyField
`hash based` or `hash-based`