123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105 |
- /* 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: HEAD -> develop */
- /* git commit: a1f6312416ef6cd183ee62db58b640dc2d7ec1f4 */
- /* commit time: 2019-09-04 13:44:47 +0200 */
|