Speed check: SHA-256
message length =    16 ->   21.62 MBytes/s
message length =    64 ->   48.21 MBytes/s
message length =   256 ->   83.18 MBytes/s
message length =  1024 ->  101.45 MBytes/s
message length =  8192 ->  108.02 MBytes/s
long messages          ->  109.57 MBytes/s
removed Digest
removed inheritance