1 /*
2 Copyright (C) 2010-2015 Werner Dittmann
3
4 This program is free software: you can redistribute it and/or modify
5 it under the terms of the GNU General Public License as published by
6 the Free Software Foundation, either version 3 of the License, or
7 (at your option) any later version.
8
9 This program is distributed in the hope that it will be useful,
10 but WITHOUT ANY WARRANTY; without even the implied warranty of
11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 GNU General Public License for more details.
13
14 You should have received a copy of the GNU General Public License
15 along with this program. If not, see <http://www.gnu.org/licenses/>.
16 */
17
18
19 #ifndef MAC_SKEIN_H
20 #define MAC_SKEIN_H
21
54 void macSkein( uint8_t* key, int32_t key_length,
55 const uint8_t* data, uint32_t data_length,
56 uint8_t* mac, int32_t mac_length,
SkeinSize_t skeinSize );
57
79 void macSkein( uint8_t* key, int32_t key_length,
80 const uint8_t* data[], uint32_t data_length[],
81 uint8_t* mac, int32_t mac_length,
SkeinSize_t skeinSize);
82
101
117 void macSkeinCtx(
void* ctx,
const uint8_t* data, uint32_t data_length,
118 uint8_t* mac);
119
135 void macSkeinCtx(
void* ctx,
const uint8_t* data[], uint32_t data_length[],
136 uint8_t* mac);
137
144
148 #endif
void macSkeinCtx(void *ctx, const uint8_t *data, uint32_t data_length, uint8_t *mac)
Compute Skein MAC.
void freeSkeinMacContext(void *ctx)
Free Skein MAC context.
void * createSkeinMacContext(uint8_t *key, int32_t key_length, int32_t mac_length, SkeinSize_t skeinSize)
Create and initialize a Skein MAC context.
A Skein API and its functions.
enum SkeinSize SkeinSize_t
Which Skein size to use.
void macSkein(uint8_t *key, int32_t key_length, const uint8_t *data, uint32_t data_length, uint8_t *mac, int32_t mac_length, SkeinSize_t skeinSize)
Compute Skein MAC.