⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 tomcrypt_custom.h

📁 AES加密算法对socket通信过程进行加密传输
💻 H
字号:
#ifndef TOMCRYPT_CUSTOM_H_#define TOMCRYPT_CUSTOM_H_/* macros for various libc functions you can change for embedded targets */#ifndef XMALLOC   #ifdef malloc    #define LTC_NO_PROTOTYPES   #endif#define XMALLOC  malloc#endif#ifndef XREALLOC   #ifdef realloc    #define LTC_NO_PROTOTYPES   #endif#define XREALLOC realloc#endif#ifndef XCALLOC   #ifdef calloc    #define LTC_NO_PROTOTYPES   #endif#define XCALLOC  calloc#endif#ifndef XFREE   #ifdef free   #define LTC_NO_PROTOTYPES   #endif#define XFREE    free#endif#ifndef XMEMSET   #ifdef memset   #define LTC_NO_PROTOTYPES   #endif#define XMEMSET  memset#endif#ifndef XMEMCPY   #ifdef memcpy   #define LTC_NO_PROTOTYPES   #endif#define XMEMCPY  memcpy#endif#ifndef XMEMCMP   #ifdef memcmp    #define LTC_NO_PROTOTYPES   #endif#define XMEMCMP  memcmp#endif#ifndef XSTRCMP   #ifdef strcmp   #define LTC_NO_PROTOTYPES   #endif#define XSTRCMP strcmp#endif#ifndef XCLOCK#define XCLOCK   clock#endif#ifndef XCLOCKS_PER_SEC#define XCLOCKS_PER_SEC CLOCKS_PER_SEC#endif#ifndef XQSORT   #ifdef qsort   #define LTC_NO_PROTOTYPES   #endif#define XQSORT qsort#endif/* Easy button? */#ifdef LTC_EASY   #define LTC_NO_CIPHERS   #define LTC_RIJNDAEL   #define LTC_BLOWFISH   #define LTC_DES   #define LTC_CAST5      #define LTC_NO_MODES   #define LTC_ECB_MODE   #define LTC_CBC_MODE   #define LTC_CTR_MODE      #define LTC_NO_HASHES   #define LTC_SHA1   #define LTC_SHA512   #define LTC_SHA384   #define LTC_SHA256   #define LTC_SHA224      #define LTC_NO_MACS   #define LTC_HMAC   #define LTC_OMAC   #define LTC_CCM_MODE   #define LTC_NO_PRNGS   #define LTC_SPRNG   #define LTC_YARROW   #define LTC_DEVRANDOM   #define TRY_URANDOM_FIRST         #define LTC_NO_PK   #define LTC_MRSA   #define LTC_MECC#endif   /* Use small code where possible *//* #define LTC_SMALL_CODE *//* Enable self-test test vector checking */#ifndef LTC_NO_TEST   #define LTC_TEST#endif/* 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 *//* disable FAST mode *//* #define LTC_NO_FAST *//* disable BSWAP on x86 *//* #define LTC_NO_BSWAP *//* ---> Symmetric Block Ciphers <--- */#ifndef LTC_NO_CIPHERS#define LTC_BLOWFISH#define LTC_RC2#define LTC_RC5#define LTC_RC6#define LTC_SAFERP#define LTC_RIJNDAEL#define LTC_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 LTC_TWOFISH#ifndef LTC_NO_TABLES   #define LTC_TWOFISH_TABLES   /* #define LTC_TWOFISH_ALL_TABLES */#else   #define LTC_TWOFISH_SMALL#endif/* #define LTC_TWOFISH_SMALL *//* LTC_DES includes EDE triple-LTC_DES */#define LTC_DES#define LTC_CAST5#define LTC_NOEKEON#define LTC_SKIPJACK#define LTC_SAFER#define LTC_KHAZAD#define LTC_ANUBIS#define LTC_ANUBIS_TWEAK#define LTC_KSEED#define LTC_KASUMI#endif /* LTC_NO_CIPHERS *//* ---> Block Cipher Modes of Operation <--- */#ifndef LTC_NO_MODES#define LTC_CFB_MODE#define LTC_OFB_MODE#define LTC_ECB_MODE#define LTC_CBC_MODE#define LTC_CTR_MODE/* F8 chaining mode */#define LTC_F8_MODE/* LRW mode */#define LTC_LRW_MODE#ifndef LTC_NO_TABLES   /* like GCM mode this will enable 16 8x128 tables [64KB] that make    * seeking very fast.      */   #define LRW_TABLES#endif/* XTS mode */#define LTC_XTS_MODE#endif /* LTC_NO_MODES *//* ---> One-Way Hash Functions <--- */#ifndef LTC_NO_HASHES #define LTC_CHC_HASH#define LTC_WHIRLPOOL#define LTC_SHA512#define LTC_SHA384#define LTC_SHA256#define LTC_SHA224#define LTC_TIGER#define LTC_SHA1#define LTC_MD5#define LTC_MD4#define LTC_MD2#define LTC_RIPEMD128#define LTC_RIPEMD160#define LTC_RIPEMD256#define LTC_RIPEMD320#endif /* LTC_NO_HASHES *//* ---> MAC functions <--- */#ifndef LTC_NO_MACS#define LTC_HMAC#define LTC_OMAC#define LTC_PMAC#define LTC_XCBC#define LTC_F9_MODE#define LTC_PELICAN#if defined(LTC_PELICAN) && !defined(LTC_RIJNDAEL)   #error Pelican-MAC requires LTC_RIJNDAEL#endif/* ---> Encrypt + Authenticate Modes <--- */#define LTC_EAX_MODE#if defined(LTC_EAX_MODE) && !(defined(LTC_CTR_MODE) && defined(LTC_OMAC))   #error LTC_EAX_MODE requires CTR and LTC_OMAC mode#endif#define LTC_OCB_MODE#define LTC_CCM_MODE#define LTC_GCM_MODE/* Use 64KiB tables */#ifndef LTC_NO_TABLES   #define LTC_GCM_TABLES #endif/* USE SSE2? requires GCC works on x86_32 and x86_64*/#ifdef LTC_GCM_TABLES/* #define LTC_GCM_TABLES_SSE2 */#endif#endif /* LTC_NO_MACS *//* Various tidbits of modern neatoness */#define LTC_BASE64/* --> Pseudo Random Number Generators <--- */#ifndef LTC_NO_PRNGS/* Yarrow */#define LTC_YARROW/* which descriptor of AES to use?  *//* 0 = rijndael_enc 1 = aes_enc, 2 = rijndael [full], 3 = aes [full] */#define LTC_YARROW_AES 0#if defined(LTC_YARROW) && !defined(LTC_CTR_MODE)   #error LTC_YARROW requires LTC_CTR_MODE chaining mode to be defined!#endif/* a PRNG that simply reads from an available system source */#define LTC_SPRNG/* The LTC_RC4 stream cipher */#define LTC_RC4/* Fortuna PRNG */#define LTC_FORTUNA/* reseed every N calls to the read function */#define LTC_FORTUNA_WD    10/* number of pools (4..32) can save a bit of ram by lowering the count */#define LTC_FORTUNA_POOLS 32/* Greg's LTC_SOBER128 PRNG ;-0 */#define LTC_SOBER128/* the *nix style /dev/random device */#define LTC_DEVRANDOM/* try /dev/urandom before trying /dev/random */#define TRY_URANDOM_FIRST#endif /* LTC_NO_PRNGS *//* ---> math provider? <--- */#ifndef LTC_NO_MATH/* LibTomMath *//* #define LTM_LTC_DESC *//* TomsFastMath *//* #define TFM_LTC_DESC */#endif /* LTC_NO_MATH *//* ---> Public Key Crypto <--- */#ifndef LTC_NO_PK/* Include RSA support */#define LTC_MRSA/* Include Katja (a Rabin variant like RSA) *//* #define MKAT */ /* Digital Signature Algorithm */#define LTC_MDSA/* ECC */#define LTC_MECC/* use Shamir's trick for point mul (speeds up signature verification) */#define LTC_ECC_SHAMIR#if defined(TFM_LTC_DESC) && defined(LTC_MECC)   #define LTC_MECC_ACCEL#endif   /* do we want fixed point ECC *//* #define LTC_MECC_FP *//* Timing Resistant? *//* #define LTC_ECC_TIMING_RESISTANT */#endif /* LTC_NO_PK *//* LTC_PKCS #1 (RSA) and #5 (Password Handling) stuff */#ifndef LTC_NO_PKCS#define LTC_PKCS_1#define LTC_PKCS_5/* Include ASN.1 DER (required by DSA/RSA) */#define LTC_DER#endif /* LTC_NO_PKCS *//* cleanup */#ifdef LTC_MECC/* Supported ECC Key Sizes */#ifndef LTC_NO_CURVES   #define ECC112   #define ECC128   #define ECC160   #define ECC192   #define ECC224   #define ECC256   #define ECC384   #define ECC521#endif#endif#if defined(LTC_MECC) || defined(LTC_MRSA) || defined(LTC_MDSA) || defined(MKATJA)   /* Include the MPI functionality?  (required by the PK algorithms) */   #define MPI#endif#ifdef LTC_MRSA   #define LTC_PKCS_1#endif   #if defined(LTC_DER) && !defined(MPI)    #error ASN.1 DER requires MPI functionality#endif#if (defined(LTC_MDSA) || defined(LTC_MRSA) || defined(LTC_MECC) || defined(MKATJA)) && !defined(LTC_DER)   #error PK requires ASN.1 DER functionality, make sure LTC_DER is enabled#endif/* THREAD management */#ifdef LTC_PTHREAD#include <pthread.h>#define LTC_MUTEX_GLOBAL(x)   pthread_mutex_t x = PTHREAD_MUTEX_INITIALIZER;#define LTC_MUTEX_PROTO(x)    extern pthread_mutex_t x;#define LTC_MUTEX_TYPE(x)     pthread_mutex_t x;#define LTC_MUTEX_INIT(x)     pthread_mutex_init(x, NULL);#define LTC_MUTEX_LOCK(x)     pthread_mutex_lock(x);#define LTC_MUTEX_UNLOCK(x)   pthread_mutex_unlock(x);#else/* default no functions */#define LTC_MUTEX_GLOBAL(x)#define LTC_MUTEX_PROTO(x)#define LTC_MUTEX_TYPE(x)#define LTC_MUTEX_INIT(x)#define LTC_MUTEX_LOCK(x)#define LTC_MUTEX_UNLOCK(x)#endif/* Debuggers *//* define this if you use Valgrind, note: it CHANGES the way SOBER-128 and LTC_RC4 work (see the code) *//* #define LTC_VALGRIND */#endif/* $Source: /cvs/libtom/libtomcrypt/src/headers/tomcrypt_custom.h,v $ *//* $Revision: 1.73 $ *//* $Date: 2007/05/12 14:37:41 $ */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -