hash module:  use openssl hash functions rework hash block calcluations