initial adaptation of Rivest's MD5 in scire