Man page - lib1305(3)
Packages contains this manual
Manual
lib1305
NAMESYNOPSIS
DESCRIPTION
SEE ALSO
NAME
lib1305 - C API for the lib1305 implementation of the Poly1305 one-time authenticator
SYNOPSIS
Using lib1305:
#include <lib1305.h>
Link with -l1305 .
Authenticating a message:
unsigned char a[poly1305_BYTES]; const unsigned char m[mlen]; const unsigned char k[poly1305_KEYBYTES]; poly1305(a,m,mlen,k);
Verifying an authenticator:
const unsigned char a[poly1305_BYTES]; const unsigned char m[mlen]; const unsigned char k[poly1305_KEYBYTES]; int result; result = poly1305_verify(a,m,mlen,k);
DESCRIPTION
lib1305 is an implementation of the Poly1305 one-time authenticator. The lib1305 functions follow the SUPERCOP onetimeauth API except that
|
β’ |
the function names are lib1305-specific instead of crypto_onetimeauth_* , |
||
|
β’ |
message lengths are long long instead of unsigned long long , and |
||
|
β’ |
the poly1305 function returns void instead of int . |
The poly1305 function generates an authenticator a[0] , a[1] , ..., a[poly1305_BYTES-1] given a message m[0] , m[1] , ..., m[mlen-1] and a secret key k[0] , k[1] , ..., k[poly1305_KEYBYTES-1] . βOne-timeβ means that the secret key must not be reused to generate an authenticator of another message.
The poly1305_verify function verifies an authenticator a[0] , a[1] , ..., a[poly1305_BYTES-1] given a message m[0] , m[1] , ..., m[mlen-1] and a secret key k[0] , k[1] , ..., k[poly1305_KEYBYTES-1] . It returns 0 if the authenticator is valid, otherwise nonzero.
SEE ALSO
randombytes (3)