make private functions public; drop MD5
add more test vectors