0001
0002
0003
0004
0005
0006 #ifndef _CRYPTO_INTERNAL_POLY1305_H
0007 #define _CRYPTO_INTERNAL_POLY1305_H
0008
0009 #include <asm/unaligned.h>
0010 #include <linux/types.h>
0011 #include <crypto/poly1305.h>
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021 void poly1305_core_setkey(struct poly1305_core_key *key,
0022 const u8 raw_key[POLY1305_BLOCK_SIZE]);
0023 static inline void poly1305_core_init(struct poly1305_state *state)
0024 {
0025 *state = (struct poly1305_state){};
0026 }
0027
0028 void poly1305_core_blocks(struct poly1305_state *state,
0029 const struct poly1305_core_key *key, const void *src,
0030 unsigned int nblocks, u32 hibit);
0031 void poly1305_core_emit(const struct poly1305_state *state, const u32 nonce[4],
0032 void *dst);
0033
0034 #endif