MAGMA
Cryptographic Library
Loading...
Searching...
No Matches
mac.h
Go to the documentation of this file.
1#ifndef MAGMA_MAC_H
2#define MAGMA_MAC_H
3
4#include <stddef.h>
5#include <stdint.h>
6#include "core/keys.h"
7#include "core/crypt.h"
8#include "core/utils.h"
9
20 const unsigned char keys[ITER_KEYS_COUNT][ITER_KEY_LEN],
21 const size_t mac_size,
22 const unsigned char *input,
23 unsigned char *mac,
24 const size_t length
25);
26
38 unsigned char K1_output[MAGMA_BLOCK_SIZE],
39 unsigned char K2_output[MAGMA_BLOCK_SIZE],
40 const unsigned char keys[ITER_KEYS_COUNT][ITER_KEY_LEN]
41);
42
43#endif
#define MAGMA_BLOCK_SIZE
Definition crypt.h:13
#define ITER_KEYS_COUNT
Definition keys.h:9
#define ITER_KEY_LEN
Definition keys.h:10
MagmaResult magma_mac(const unsigned char keys[ITER_KEYS_COUNT][ITER_KEY_LEN], const size_t mac_size, const unsigned char *input, unsigned char *mac, const size_t length)
Processing data to produce a Message Authentication Code (MAC) using the specified keys.
Definition mac.c:3
MagmaResult calc_additional_keys(unsigned char K1_output[MAGMA_BLOCK_SIZE], unsigned char K2_output[MAGMA_BLOCK_SIZE], const unsigned char keys[ITER_KEYS_COUNT][ITER_KEY_LEN])
Calculates additional keys K1 and K2 used in the MAC generation process.
Definition mac.c:75
MagmaResult
Definition types.h:4