This function is used to produce the final message digest from
the data that has been added to the hash function context by calling
the silc_hash_update function. The digest is copied in to the
`return_hash' pointer which must be at least the size that
the silc_hash_len returns.