| /* SPDX-License-Identifier: BSD-2-Clause */ |
| /* LibTomCrypt, modular cryptographic library -- Tom St Denis |
| * |
| * LibTomCrypt is a library that provides various cryptographic |
| * algorithms in a highly modular and flexible manner. |
| * |
| * The library is free for all purposes without any express |
| * guarantee it works. |
| */ |
| |
| #ifndef TOMCRYPT_H_ |
| #define TOMCRYPT_H_ |
| #include <assert.h> |
| #include <stdio.h> |
| #include <string.h> |
| #include <stdlib.h> |
| #include <stddef.h> |
| #include <time.h> |
| #include <ctype.h> |
| #include <limits.h> |
| |
| /* use configuration data */ |
| #include <tomcrypt_custom.h> |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif |
| |
| /* version */ |
| #define CRYPT 0x0118 |
| #define SCRYPT "1.18.2-develop" |
| |
| /* max size of either a cipher/hash block or symmetric key [largest of the two] */ |
| #define MAXBLOCKSIZE 144 |
| |
| #ifndef TAB_SIZE |
| /* descriptor table size */ |
| #define TAB_SIZE 34 |
| #endif |
| |
| /* error codes [will be expanded in future releases] */ |
| enum { |
| CRYPT_OK=0, /* Result OK */ |
| CRYPT_ERROR, /* Generic Error */ |
| CRYPT_NOP, /* Not a failure but no operation was performed */ |
| |
| CRYPT_INVALID_KEYSIZE, /* Invalid key size given */ |
| CRYPT_INVALID_ROUNDS, /* Invalid number of rounds */ |
| CRYPT_FAIL_TESTVECTOR, /* Algorithm failed test vectors */ |
| |
| CRYPT_BUFFER_OVERFLOW, /* Not enough space for output */ |
| CRYPT_INVALID_PACKET, /* Invalid input packet given */ |
| |
| CRYPT_INVALID_PRNGSIZE, /* Invalid number of bits for a PRNG */ |
| CRYPT_ERROR_READPRNG, /* Could not read enough from PRNG */ |
| |
| CRYPT_INVALID_CIPHER, /* Invalid cipher specified */ |
| CRYPT_INVALID_HASH, /* Invalid hash specified */ |
| CRYPT_INVALID_PRNG, /* Invalid PRNG specified */ |
| |
| CRYPT_MEM, /* Out of memory */ |
| |
| CRYPT_PK_TYPE_MISMATCH, /* Not equivalent types of PK keys */ |
| CRYPT_PK_NOT_PRIVATE, /* Requires a private PK key */ |
| |
| CRYPT_INVALID_ARG, /* Generic invalid argument */ |
| CRYPT_FILE_NOTFOUND, /* File Not Found */ |
| |
| CRYPT_PK_INVALID_TYPE, /* Invalid type of PK key */ |
| |
| CRYPT_OVERFLOW, /* An overflow of a value was detected/prevented */ |
| |
| CRYPT_PK_ASN1_ERROR, /* An error occurred while en- or decoding ASN.1 data */ |
| |
| CRYPT_INPUT_TOO_LONG, /* The input was longer than expected. */ |
| |
| CRYPT_PK_INVALID_SIZE, /* Invalid size input for PK parameters */ |
| |
| CRYPT_INVALID_PRIME_SIZE,/* Invalid size of prime requested */ |
| CRYPT_PK_INVALID_PADDING, /* Invalid padding on input */ |
| |
| CRYPT_HASH_OVERFLOW /* Hash applied to too many bits */ |
| }; |
| |
| #include <tomcrypt_cfg.h> |
| #include <tomcrypt_macros.h> |
| #include <tomcrypt_cipher.h> |
| #include <tomcrypt_hash.h> |
| #include <tomcrypt_mac.h> |
| #include <tomcrypt_prng.h> |
| #include <tomcrypt_pk.h> |
| #include <tomcrypt_math.h> |
| #include <tomcrypt_misc.h> |
| #include <tomcrypt_argchk.h> |
| #include <tomcrypt_pkcs.h> |
| |
| #ifdef __cplusplus |
| } |
| #endif |
| |
| #endif /* TOMCRYPT_H_ */ |
| |
| |
| /* ref: $Format:%D$ */ |
| /* git commit: $Format:%H$ */ |
| /* commit time: $Format:%ai$ */ |