Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
p6crypto.h
Go to the documentation of this file.
1 
11 #ifndef P6CRYPTO_H__
12 #define P6CRYPTO_H__ 1
13 
14 #include "p6entropy.h"
15 
16 namespace P6R {
17 
18 #ifdef __cplusplus
19 extern "C" {
20 #endif
21 
37 typedef struct
38 {
41  const P6CHAR* pBuffer;
44 
45 
55 typedef struct
56 {
62 
63 
113 typedef enum {
114  CIPHER_AES_CBC = 0x00,
115  CIPHER_AES_CFB = 0x01,
116  CIPHER_AES_CTR = 0x02,
117  CIPHER_AES_ECB = 0x03,
118  CIPHER_AES_OFB = 0x04,
119 
120  CIPHER_BF_CBC = 0x05,
121  CIPHER_BF_CFB = 0x06,
122  CIPHER_BF_ECB = 0x07,
123  CIPHER_BF_OFB = 0x08,
124 
129 
130  CIPHER_DES_CBC = 0x0D,
131  CIPHER_DES_CFB = 0x0E,
133  CIPHER_DES_OFB = 0x10,
134 
139 
141 
142  CIPHER_RC2_CBC = 0x16,
143  CIPHER_RC2_CFB = 0x17,
144  CIPHER_RC2_ECB = 0x18,
145  CIPHER_RC2_OFB = 0x19,
146 
147  CIPHER_RC4 = 0x1A,
148 
149  CIPHER_RC5_CBC = 0x1B,
150  CIPHER_RC5_CFB = 0x1C,
151  CIPHER_RC5_ECB = 0x1D,
152  CIPHER_RC5_OFB = 0x1E,
153 
154  CIPHER_EC = 0x1F,
155  CIPHER_ECDSA = 0x20,
156  CIPHER_ECDH = 0x21,
157  CIPHER_ECMQV = 0x22,
158 
163 
166 
167 
175 typedef enum {
177  CURVE_P_192 = 0x01,
178  CURVE_K_163 = 0x02,
179  CURVE_B_163 = 0x03,
180  CURVE_P_224 = 0x04,
181  CURVE_K_233 = 0x05,
182  CURVE_B_233 = 0x06,
183  CURVE_P_256 = 0x07,
184  CURVE_K_283 = 0x08,
185  CURVE_B_283 = 0x09,
186  CURVE_P_384 = 0x0A,
187  CURVE_K_409 = 0x0B,
188  CURVE_B_409 = 0x0C,
189  CURVE_P_521 = 0x0D,
190  CURVE_K_571 = 0x0E,
191  CURVE_B_571 = 0x0F,
245 } P6ECCURVE;
246 
247 #ifdef __cplusplus
248 }
249 #endif
250 
251 } // namespace
252 
253 
254 #endif
255 
256 
257 
258 
259 
260 
unsigned char P6UCHAR
Definition: p6types.h:74
unsigned int P6UINT32
Definition: p6types.h:40
P6BOOL skipLineTermination
Definition: p6crypto.h:40
bool P6BOOL
Boolean type.
Definition: p6types.h:101
const P6WCHAR * pFilePath
Definition: p6crypto.h:57
P6CRYPTOCIPHER
Cipher Type.
Definition: p6crypto.h:113
wchar_t P6WCHAR
Wide character type see p6i18n.h.
Definition: p6types.h:76
Where to get the data to process, either a file or generic buffer.
Definition: p6crypto.h:37
P6UCHAR * pBuffer
Definition: p6crypto.h:58
P6ECCURVE
EC Curve Type.
Definition: p6crypto.h:175
P6UINT32 byteCount
Definition: p6crypto.h:59
Where to put the data processed, either a file or generic buffer.
Definition: p6crypto.h:55
const P6CHAR * pBuffer
Definition: p6crypto.h:41
const P6WCHAR * pFilePath
Definition: p6crypto.h:39
Interface definition for 3rd parties to provide separate entropy implementations. ...
char P6CHAR
Narrow character type.
Definition: p6types.h:71