Mercurial > dropbear
diff mycrypt_custom.h @ 143:5d99163f7e32 libtomcrypt-orig
import of libtomcrypt 0.99
author | Matt Johnston <matt@ucc.asn.au> |
---|---|
date | Sun, 19 Dec 2004 11:34:45 +0000 |
parents | 6362d3854bb4 |
children | 7ed585a2c53b |
line wrap: on
line diff
--- a/mycrypt_custom.h Tue Jun 15 14:07:21 2004 +0000 +++ b/mycrypt_custom.h Sun Dec 19 11:34:45 2004 +0000 @@ -5,29 +5,29 @@ #ifndef MYCRYPT_CUSTOM_H_ #define MYCRYPT_CUSTOM_H_ -#ifdef CRYPT - #error mycrypt_custom.h should be included before mycrypt.h -#endif +/* macros for various libc functions you can change for embedded targets */ +#define XMALLOC malloc +#define XREALLOC realloc +#define XCALLOC calloc +#define XFREE free -/* macros for various libc functions */ -#define XMALLOC malloc -#define XREALLOC realloc -#define XCALLOC calloc -#define XFREE free -#define XCLOCK clock +#define XMEMSET memset +#define XMEMCPY memcpy + +#define XCLOCK clock #define XCLOCKS_PER_SEC CLOCKS_PER_SEC /* Use small code where possible */ -#define SMALL_CODE +// #define SMALL_CODE /* Enable self-test test vector checking */ #define LTC_TEST /* clean the stack of functions which put private information on stack */ -//#define CLEAN_STACK +// #define CLEAN_STACK /* disable all file related functions */ -//#define NO_FILE +// #define NO_FILE /* various ciphers */ #define BLOWFISH @@ -37,16 +37,23 @@ #define SAFERP #define RIJNDAEL #define XTEA +/* _TABLES tells it to use tables during setup, _SMALL means to use the smaller scheduled key format + * (saves 4KB of ram), _ALL_TABLES enables all tables during setup */ #define TWOFISH #define TWOFISH_TABLES -//#define TWOFISH_ALL_TABLES -//#define TWOFISH_SMALL +// #define TWOFISH_ALL_TABLES +// #define TWOFISH_SMALL +/* DES includes EDE triple-DES */ #define DES #define CAST5 #define NOEKEON #define SKIPJACK +/* SAFER code isn't public domain. It appears to be free to use + * but has been disabled by default to avoid any such problems + */ +//#define SAFER -/* modes of operation */ +/* block cipher modes of operation */ #define CFB #define OFB #define ECB @@ -54,6 +61,7 @@ #define CTR /* hash functions */ +#define CHC_HASH #define WHIRLPOOL #define SHA512 #define SHA384 @@ -78,21 +86,48 @@ /* Various tidbits of modern neatoness */ #define BASE64 + +/* Yarrow */ #define YARROW // which descriptor of AES to use? // 0 = rijndael_enc 1 = aes_enc, 2 = rijndael [full], 3 = aes [full] #define YARROW_AES 0 + +#if defined(YARROW) && !defined(CTR) + #error YARROW requires CTR chaining mode to be defined! +#endif + #define SPRNG #define RC4 + +/* Fortuna PRNG */ +#define FORTUNA +/* reseed every N calls to the read function */ +#define FORTUNA_WD 10 +/* number of pools (4..32) can save a bit of ram by lowering the count */ +#define FORTUNA_POOLS 32 + +/* Greg's SOBER128 PRNG ;-0 */ +#define SOBER128 + #define DEVRANDOM #define TRY_URANDOM_FIRST /* Public Key Neatoness */ #define MRSA -#define RSA_TIMING // enable RSA side channel timing prevention +/* enable RSA side channel timing prevention */ +#define RSA_TIMING + +/* Digital Signature Algorithm */ #define MDSA +/* Max diff between group and modulus size in bytes */ +#define MDSA_DELTA 512 +/* Max DSA group size in bytes (default allows 4k-bit groups) */ +#define MDSA_MAX_GROUP 512 + +/* Diffie-Hellman */ #define MDH -#define MECC +/* Supported Key Sizes */ #define DH768 #define DH1024 #define DH1280 @@ -102,19 +137,23 @@ #define DH2560 #define DH3072 #define DH4096 + +/* ECC */ +#define MECC +/* Supported Key Sizes */ #define ECC160 #define ECC192 #define ECC224 #define ECC256 #define ECC384 #define ECC521 + +/* Include the MPI functionality? (required by the PK algorithms) */ #define MPI -/* PKCS #1 and 5 stuff */ +/* PKCS #1 (RSA) and #5 (Password Handling) stuff */ #define PKCS_1 #define PKCS_5 -#include <mycrypt.h> - #endif