Digest md5 integrity and confidentiality support

Do we want this to be API, or should it be moved into _private?