initial coding for MD5 adopted from RFC 1321