1 #ifndef TOMCRYPT_H_ 2 #define TOMCRYPT_H_ 3 #include <assert.h> 4 #include <stdio.h> 5 #include <string.h> 6 #include <stdlib.h> 7 #include <time.h> 8 #include <ctype.h> 9 #include <limits.h> 10 11 /* use configuration data */ 12 #include <tomcrypt_custom.h> 13 14 #ifdef __cplusplus 15 extern "C" { 16 #endif 17 18 /* version */ 19 #define CRYPT 0x0116 20 #define SCRYPT "1.16" 21 22 /* max size of either a cipher/hash block or symmetric key [largest of the two] */ 23 #define MAXBLOCKSIZE 128 24 25 /* descriptor table size */ 26 /* Dropbear change - this should be smaller, saves some size */ 27 #define TAB_SIZE 4 28 29 /* error codes [will be expanded in future releases] */ 30 enum { 31 CRYPT_OK=0, /* Result OK */ 32 CRYPT_ERROR, /* Generic Error */ 33 CRYPT_NOP, /* Not a failure but no operation was performed */ 34 35 CRYPT_INVALID_KEYSIZE, /* Invalid key size given */ 36 CRYPT_INVALID_ROUNDS, /* Invalid number of rounds */ 37 CRYPT_FAIL_TESTVECTOR, /* Algorithm failed test vectors */ 38 39 CRYPT_BUFFER_OVERFLOW, /* Not enough space for output */ 40 CRYPT_INVALID_PACKET, /* Invalid input packet given */ 41 42 CRYPT_INVALID_PRNGSIZE, /* Invalid number of bits for a PRNG */ 43 CRYPT_ERROR_READPRNG, /* Could not read enough from PRNG */ 44 45 CRYPT_INVALID_CIPHER, /* Invalid cipher specified */ 46 CRYPT_INVALID_HASH, /* Invalid hash specified */ 47 CRYPT_INVALID_PRNG, /* Invalid PRNG specified */ 48 49 CRYPT_MEM, /* Out of memory */ 50 51 CRYPT_PK_TYPE_MISMATCH, /* Not equivalent types of PK keys */ 52 CRYPT_PK_NOT_PRIVATE, /* Requires a private PK key */ 53 54 CRYPT_INVALID_ARG, /* Generic invalid argument */ 55 CRYPT_FILE_NOTFOUND, /* File Not Found */ 56 57 CRYPT_PK_INVALID_TYPE, /* Invalid type of PK key */ 58 CRYPT_PK_INVALID_SYSTEM,/* Invalid PK system specified */ 59 CRYPT_PK_DUP, /* Duplicate key already in key ring */ 60 CRYPT_PK_NOT_FOUND, /* Key not found in keyring */ 61 CRYPT_PK_INVALID_SIZE, /* Invalid size input for PK parameters */ 62 63 CRYPT_INVALID_PRIME_SIZE,/* Invalid size of prime requested */ 64 CRYPT_PK_INVALID_PADDING /* Invalid padding on input */ 65 }; 66 67 #include <tomcrypt_cfg.h> 68 #include <tomcrypt_macros.h> 69 #include <tomcrypt_cipher.h> 70 #include <tomcrypt_hash.h> 71 #include <tomcrypt_mac.h> 72 #include <tomcrypt_prng.h> 73 #include <tomcrypt_pk.h> 74 #include <tomcrypt_math.h> 75 #include <tomcrypt_misc.h> 76 #include <tomcrypt_argchk.h> 77 #include <tomcrypt_pkcs.h> 78 79 #ifdef __cplusplus 80 } 81 #endif 82 83 #endif /* TOMCRYPT_H_ */ 84 85 86 /* $Source: /cvs/libtom/libtomcrypt/src/headers/tomcrypt.h,v $ */ 87 /* $Revision: 1.20 $ */ 88 /* $Date: 2006/11/26 01:45:14 $ */ 89