.SH NAME
md4, md5,
sha1, sha2_224, sha2_256, sha2_384, sha2_512,
-ripemd160,
+ripemd160, poly1305,
hmac_x, hmac_md5,
hmac_sha1, hmac_sha2_224, hmac_sha2_256, hmac_sha2_384, hmac_sha2_512,
md5pickle, md5unpickle,
.Ti
DS* ripemd160(uchar *data, ulong dlen, uchar *digest, DS *state)
.Ti
+DS* poly1305(uchar *p, ulong len, uchar *key, ulong klen, uchar *digest, DS *state)
+.Ti
DS* hmac_x(uchar *p, ulong len, uchar *key, ulong klen, uchar *digest, DS *s, DS*(*x)(uchar*, ulong, uchar*, DS*), int xlen)
.Ti
DS* hmac_md5(uchar *data, ulong dlen, uchar *key, ulong klen, uchar *digest, DS *state)
.IR sha2_384 ,
.IR sha2_512 ,
.IR ripemd160 ,
+.IR poly1305 ,
.IR hmac_md5 ,
.IR hmac_sha1 ,
.IR hmac_sha2_224 ,
.I hmac_x
is not intended for general use.
.PP
+.IR Poly1305
+is a one-time authenticator designed by D. J. Bernstein. It takes a 32-byte
+one-time key and a message and produces a 16-byte tag.
+.PP
The functions
.I md5pickle
and