On 2026-10-29 Thu 8:11 PM, Niels Möller wrote:
Do you plan to make an updated patch? In addition to the code, also needs tests and docs. I'm starting to think about a 4.1 release, and if any more features should get in.
Thank you for reminding me.
Please see the attached diff.
/* There are two key halves r and s */ #define POLY1305_HALFKEY_SIZE 16
I wonder if we can come up with a better name. I think it may help with some names for the two parts, first half is the point where the polynomial is evaluated, and the second part is a kind of blinding.
For now I've changed it to two defines POLY1305_KEYPART_R_SIZE and POLY1305_KEYPART_S_SIZE.
I've updated the documentation explaining how Poly1305-AES relates to Poly1305, I hope it's clear enough.
void poly1305_set_key(struct poly1305_mac_ctx* ctx, const uint8_t *r);
void poly1305_digest(struct poly1305_mac_ctx* ctx, uint8_t* digest, const uint8_t *s);
I think I'd order the arguments with s (part of the key) before the output digest argument.
Done.
Regards, Tim