26 #ifndef __POLY1305_HEADER__ 27 #define __POLY1305_HEADER__ 29 #include "../cap/capdecl.h" 31 #if (defined(__ENABLE_MOCANA_CRYPTO_INTERFACE__)) 32 #include "../crypto_interface/crypto_interface_poly1305_priv.h" 39 #define MOC_POLY1305_STATE_INIT 0xC0DED00D 40 #define MOC_POLY1305_STATE_UPDATE 0xC0DED00E 41 #define MOC_POLY1305_STATE_FINAL 0xC0DED00F 43 typedef struct Poly1305Ctx
74 MOC_EXTERN MSTATUS
Poly1305Init(MOC_HASH(hwAccelDescr hwAccelCtx) Poly1305Ctx *ctx,
const ubyte key[32]);
97 MOC_EXTERN MSTATUS
Poly1305Update(MOC_HASH(hwAccelDescr hwAccelCtx) Poly1305Ctx *ctx,
const ubyte *m, ubyte4 bytes);
118 MOC_EXTERN MSTATUS
Poly1305Final(MOC_HASH(hwAccelDescr hwAccelCtx) Poly1305Ctx *ctx, ubyte mac[16]);
142 MOC_EXTERN MSTATUS
Poly1305_completeDigest(MOC_HASH(hwAccelDescr hwAccelCtx) ubyte mac[16],
const ubyte *m, ubyte4 bytes,
143 const ubyte key[32]);
MOC_EXTERN MSTATUS Poly1305_completeDigest(MOC_HASH(hwAccelDescr hwAccelCtx) ubyte mac[16], const ubyte *m, ubyte4 bytes, const ubyte key[32])
One shot API that will compute a poly1305 mac context free.
MOC_EXTERN MSTATUS Poly1305Init(MOC_HASH(hwAccelDescr hwAccelCtx) Poly1305Ctx *ctx, const ubyte key[32])
Initializes a Poly1305Ctx with a 32 byte (256 bit) key.
MOC_EXTERN MSTATUS Poly1305Update(MOC_HASH(hwAccelDescr hwAccelCtx) Poly1305Ctx *ctx, const ubyte *m, ubyte4 bytes)
Updates a Poly1305Ctx with message data.
MOC_EXTERN MSTATUS Poly1305Final(MOC_HASH(hwAccelDescr hwAccelCtx) Poly1305Ctx *ctx, ubyte mac[16])
Finalizes a Poly1305Ctx and computes the resulting mac.