40#define POLY1305_BLOCK_SIZE 16
Common macros and compiler attributes/pragmas configuration.
#define ACCESS(mode, ptr_idx, size_idx)
Emit an attribute (if supported by the compiler) that declares how a function will access its paramet...
void poly1305_finish(poly1305_ctx_t *ctx, uint8_t *mac)
Finish the poly1305 operation.
void poly1305_init(poly1305_ctx_t *ctx, const uint8_t *key)
Initialize a poly1305 context.
void poly1305_update(poly1305_ctx_t *ctx, const uint8_t *data, size_t len)
Update the poly1305 context with a block of message.
void poly1305_auth(uint8_t *mac, const uint8_t *data, size_t len, const uint8_t *key)
Calculate a single poly1305 tag.
uint32_t c[4]
Message chunk.
uint32_t pad[4]
Second key part.
uint32_t r[4]
first key part
size_t c_idx
Chunk length.