libtomcrypt
src
headers
tomcrypt.h
1
/* LibTomCrypt, modular cryptographic library -- Tom St Denis */
2
/* SPDX-License-Identifier: Unlicense */
3
4
#ifndef TOMCRYPT_H_
5
#define TOMCRYPT_H_
6
#include <assert.h>
7
#include <stdio.h>
8
#include <string.h>
9
#include <stdlib.h>
10
#include <stddef.h>
11
#include <time.h>
12
#include <ctype.h>
13
#include <limits.h>
14
15
/* use configuration data */
16
#include "tomcrypt_custom.h"
17
18
#ifdef __cplusplus
19
extern
"C"
{
20
#endif
21
22
/* version */
23
#define CRYPT 0x0118
24
#define SCRYPT "1.18.2-develop"
25
26
/* max size of either a cipher/hash block or symmetric key [largest of the two] */
27
#define MAXBLOCKSIZE 168
28
29
#ifndef TAB_SIZE
30
/* descriptor table size */
31
#define TAB_SIZE 48
32
#endif
33
34
/* error codes [will be expanded in future releases] */
35
enum
{
36
CRYPT_OK=0,
/* Result OK */
37
CRYPT_ERROR,
/* Generic Error */
38
CRYPT_NOP,
/* Not a failure but no operation was performed */
39
40
CRYPT_INVALID_KEYSIZE,
/* Invalid key size given */
41
CRYPT_INVALID_ROUNDS,
/* Invalid number of rounds */
42
CRYPT_FAIL_TESTVECTOR,
/* Algorithm failed test vectors */
43
44
CRYPT_BUFFER_OVERFLOW,
/* Not enough space for output */
45
CRYPT_INVALID_PACKET,
/* Invalid input packet given */
46
47
CRYPT_INVALID_PRNGSIZE,
/* Invalid number of bits for a PRNG */
48
CRYPT_ERROR_READPRNG,
/* Could not read enough from PRNG */
49
50
CRYPT_INVALID_CIPHER,
/* Invalid cipher specified */
51
CRYPT_INVALID_HASH,
/* Invalid hash specified */
52
CRYPT_INVALID_PRNG,
/* Invalid PRNG specified */
53
54
CRYPT_MEM,
/* Out of memory */
55
56
CRYPT_PK_TYPE_MISMATCH,
/* Not equivalent types of PK keys */
57
CRYPT_PK_NOT_PRIVATE,
/* Requires a private PK key */
58
59
CRYPT_INVALID_ARG,
/* Generic invalid argument */
60
CRYPT_FILE_NOTFOUND,
/* File Not Found */
61
62
CRYPT_PK_INVALID_TYPE,
/* Invalid type of PK key */
63
64
CRYPT_OVERFLOW,
/* An overflow of a value was detected/prevented */
65
66
CRYPT_PK_ASN1_ERROR,
/* An error occurred while en- or decoding ASN.1 data */
67
68
CRYPT_INPUT_TOO_LONG,
/* The input was longer than expected. */
69
70
CRYPT_PK_INVALID_SIZE,
/* Invalid size input for PK parameters */
71
72
CRYPT_INVALID_PRIME_SIZE,
/* Invalid size of prime requested */
73
CRYPT_PK_INVALID_PADDING,
/* Invalid padding on input */
74
75
CRYPT_HASH_OVERFLOW,
/* Hash applied to too many bits */
76
CRYPT_PW_CTX_MISSING,
/* Password context to decrypt key file is missing */
77
CRYPT_UNKNOWN_PEM,
/* The PEM header was not recognized */
78
79
/* Here only follows the number of error codes.
80
* This will never be returned and shall always be at the end of the enum. */
81
CRYPT_ERR_NUM
82
};
83
84
#include "tomcrypt_cfg.h"
85
#include "tomcrypt_macros.h"
86
#include "tomcrypt_cipher.h"
87
#include "tomcrypt_hash.h"
88
#include "tomcrypt_mac.h"
89
#include "tomcrypt_prng.h"
90
#include "tomcrypt_pk.h"
91
#include "tomcrypt_math.h"
92
#include "tomcrypt_misc.h"
93
#include "tomcrypt_argchk.h"
94
#include "tomcrypt_pkcs.h"
95
96
#ifdef __cplusplus
97
}
98
#endif
99
100
#endif
/* TOMCRYPT_H_ */
101
Generated by
1.8.13