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