public header files put into include/crpyto private header/source files put into crpyto crypto.c cryptodev.[c|h] cryptosoft.[c|h] come from: commit id is f245bed2a7593bf0decce50caaed4ce05fefd6cf the rest come from: commit id is 61b0e532b2dce0a91cf3ea67d346645a61a88cdd Signed-off-by: anjiahao <anjiahao@xiaomi.com>
27 lines
761 B
C
27 lines
761 B
C
/* $OpenBSD: poly1305.h,v 1.2 2020/07/22 13:54:30 tobhe Exp $ */
|
|
/*
|
|
* Public Domain poly1305 from Andrew Moon
|
|
*
|
|
* poly1305 implementation using 32 bit * 32 bit = 64 bit multiplication
|
|
* and 64 bit addition from https://github.com/floodyberry/poly1305-donna
|
|
*/
|
|
|
|
#ifndef _POLY1305_H_
|
|
#define _POLY1305_H_
|
|
|
|
#define poly1305_block_size 16
|
|
|
|
typedef struct poly1305_state {
|
|
unsigned long r[5];
|
|
unsigned long h[5];
|
|
unsigned long pad[4];
|
|
size_t leftover;
|
|
unsigned char buffer[poly1305_block_size];
|
|
unsigned char final;
|
|
} poly1305_state;
|
|
|
|
void poly1305_init(poly1305_state *, const unsigned char[32]);
|
|
void poly1305_update(poly1305_state *, const unsigned char *, size_t);
|
|
void poly1305_finish(poly1305_state *, unsigned char[16]);
|
|
|
|
#endif /* _POLY1305_H_ */
|