SHA-256 and SHA-512 implemented in C