📄 tomcrypt_custom.h
字号:
/* This header is meant to be included before mycrypt.h in projects where * you don't want to throw all the defines in a makefile. */#ifndef TOMCRYPT_CUSTOM_H_#define TOMCRYPT_CUSTOM_H_/* macros for various libc functions you can change for embedded targets */#define XMALLOC malloc#define XREALLOC realloc#define XCALLOC calloc#define XFREE free#define XMEMSET memset#define XMEMCPY memcpy#define XCLOCK clock#define XCLOCKS_PER_SEC CLOCKS_PER_SEC/* Use small code where possible */// #define LTC_SMALL_CODE/* Enable self-test test vector checking */#define LTC_TEST/* clean the stack of functions which put private information on stack */// #define LTC_CLEAN_STACK/* disable all file related functions */// #define LTC_NO_FILE/* disable all forms of ASM */// #define LTC_NO_ASM/* ---> Symmetric Block Ciphers <--- */#define BLOWFISH#define RC2#define RC5#define RC6#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/* 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#define KHAZAD#define ANUBIS#define ANUBIS_TWEAK/* ---> Block Cipher Modes of Operation <--- */#define CFB#define OFB#define ECB#define CBC#define CTR/* ---> One-Way Hash Functions <--- */#define CHC_HASH#define WHIRLPOOL#define SHA512#define SHA384#define SHA256#define SHA224#define TIGER#define SHA1#define MD5#define MD4#define MD2#define RIPEMD128#define RIPEMD160/* ---> MAC functions <--- */#define HMAC#define OMAC#define PMAC/* ---> Encrypt + Authenticate Modes <--- */#define EAX_MODE#if defined(EAX_MODE) && !(defined(CTR) && defined(OMAC)) #error EAX_MODE requires CTR and OMAC mode#endif#define OCB_MODE/* Various tidbits of modern neatoness */#define BASE64/* --> Pseudo Random Number Generators <--- *//* 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/* a PRNG that simply reads from an available system source */#define SPRNG/* The RC4 stream cipher */#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/* the *nix style /dev/random device */#define DEVRANDOM/* try /dev/urandom before trying /dev/random */#define TRY_URANDOM_FIRST/* ---> Public Key Crypto <--- */#define MRSA/* 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/* Supported Key Sizes */#define DH768#define DH1024#define DH1280#define DH1536#define DH1792#define DH2048#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 (RSA) and #5 (Password Handling) stuff */#define PKCS_1#define PKCS_5/* Include ASN.1 DER (required by DSA/RSA) */#define LTC_DER#if defined(LTC_DER) && !defined(MPI) #error ASN.1 DER requires MPI functionality#endif#if (defined(MDSA) || defined(MRSA)) && !defined(LTC_DER) #error RSA/DSA requires ASN.1 DER functionality, make sure LTC_DER is enabled#endif#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -