📄 cipherdefs.h
字号:
/*//// INTEL CORPORATION PROPRIETARY INFORMATION// This software is supplied under the terms of a license agreement or// nondisclosure agreement with Intel Corporation and may not be copied// or disclosed except in accordance with the terms of that agreement.// Copyright (c) 2005 Intel Corporation. All Rights Reserved.//*/#if !defined( _CIPHERDEFS_H_ )#define _CIPHERDEFS_H_#include "ippcp.h"#ifdef __cplusplusextern "C" {#endif/*// supported cipher algorithms*/typedef enum { ALGO_DES=0, ALGO_TDES, ALGO_AES, ALGO_RIJ128=ALGO_AES, ALGO_RIJ192, ALGO_RIJ256, ALGO_BLF, ALGO_TWF, #if defined(_IPP_v51_) ALGO_RC4, #endif ALGO_UNKNOWN = -1} AlgoName;/*// modes of cipher algorithm*/typedef enum { ECB =0, CBC, CFB, CTR, MODE_UNKNOWN = -1} CipherMode;/*// cipher operations*/typedef enum { ENCRYPT=0, DECRYPT, OPERATION_UNKNOWN = -1} CipherOperation;/*// ciphers data blocksizes*/#define DES_BLKLEN (DES_BLOCKSIZE/8)#define RIJ128_BLKLEN (RIJNDAEL128_BLOCKSIZE/8)#define RIJ192_BLKLEN (RIJNDAEL192_BLOCKSIZE/8)#define RIJ256_BLKLEN (RIJNDAEL256_BLOCKSIZE/8)#define BLF_BLKLEN (BF_BLOCKSIZE/8)#define TWF_BLKLEN (TF_BLOCKSIZE/8)#define ARCFOUR_BLKLEN (1)#define MAX_BLKLEN (RIJ256_BLKLEN)#define MAX_KEYLEN (256)/*// cipher info*/typedef struct { int blockSize; // size of data block of particular cipher int minKeyLen; // min and int maxKeyLen; // max key length} CipherInfo;int CipherBlockSize(AlgoName algo);int CipherKeyLenMin(AlgoName algo);int CipherKeyLenMax(AlgoName algo);int SuitableCipherKeyLen(AlgoName algo, int len);int SuitableCipherParam(AlgoName algo, CipherMode mode, int p);char* GetAlgoName(AlgoName a);char* GetCipherOperationName(CipherOperation op);char* GetCipherModeName(CipherMode m);#ifdef __cplusplus}#endif#endif /* _CIPHERDEFS_H_ */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -