1
by Marek Habersack
Import upstream version 1.10 |
1 |
/* md2.h
|
2 |
*
|
|
3 |
* The MD2 hash function, described in RFC 1319.
|
|
4 |
*/
|
|
5 |
||
6 |
/* nettle, low-level cryptographics library
|
|
7 |
*
|
|
8 |
* Copyright (C) 2003 Niels Möller
|
|
9 |
*
|
|
10 |
* The nettle library is free software; you can redistribute it and/or modify
|
|
11 |
* it under the terms of the GNU Lesser General Public License as published by
|
|
12 |
* the Free Software Foundation; either version 2.1 of the License, or (at your
|
|
13 |
* option) any later version.
|
|
14 |
*
|
|
15 |
* The nettle library is distributed in the hope that it will be useful, but
|
|
16 |
* WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
|
|
17 |
* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
|
|
18 |
* License for more details.
|
|
19 |
*
|
|
20 |
* You should have received a copy of the GNU Lesser General Public License
|
|
21 |
* along with the nettle library; see the file COPYING.LIB. If not, write to
|
|
22 |
* the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
|
|
23 |
* MA 02111-1307, USA.
|
|
24 |
*/
|
|
25 |
||
26 |
#ifndef NETTLE_MD2_H_INCLUDED
|
|
27 |
#define NETTLE_MD2_H_INCLUDED
|
|
28 |
||
29 |
#include "nettle-types.h" |
|
30 |
||
1.1.4
by Magnus Holmgren
Import upstream version 1.15 |
31 |
#ifdef __cplusplus
|
32 |
extern "C" { |
|
33 |
#endif
|
|
34 |
||
1
by Marek Habersack
Import upstream version 1.10 |
35 |
/* Name mangling */
|
36 |
#define md2_init nettle_md2_init
|
|
37 |
#define md2_update nettle_md2_update
|
|
38 |
#define md2_digest nettle_md2_digest
|
|
39 |
||
40 |
#define MD2_DIGEST_SIZE 16
|
|
41 |
#define MD2_DATA_SIZE 16
|
|
42 |
||
43 |
struct md2_ctx |
|
44 |
{
|
|
45 |
uint8_t C[MD2_DATA_SIZE]; |
|
46 |
uint8_t X[3 * MD2_DATA_SIZE]; |
|
47 |
uint8_t block[MD2_DATA_SIZE]; /* Block buffer */ |
|
48 |
unsigned index; /* Into buffer */ |
|
49 |
};
|
|
50 |
||
51 |
void
|
|
52 |
md2_init(struct md2_ctx *ctx); |
|
53 |
||
54 |
void
|
|
55 |
md2_update(struct md2_ctx *ctx, |
|
56 |
unsigned length, |
|
57 |
const uint8_t *data); |
|
58 |
||
59 |
void
|
|
60 |
md2_digest(struct md2_ctx *ctx, |
|
61 |
unsigned length, |
|
62 |
uint8_t *digest); |
|
63 |
||
64 |
||
1.1.4
by Magnus Holmgren
Import upstream version 1.15 |
65 |
#ifdef __cplusplus
|
66 |
}
|
|
67 |
#endif
|
|
68 |
||
1
by Marek Habersack
Import upstream version 1.10 |
69 |
#endif /* NETTLE_MD2_H_INCLUDED */ |