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 #ifdef __cplusplus
17 namespace P6R {
18 extern "C" {
19 #endif
20 
36 typedef struct
37 {
40  const P6CHAR* pBuffer;
43 
44 
54 typedef struct
55 {
61 
62 
112 typedef enum {
113  CIPHER_AES_CBC = 0x00,
114  CIPHER_AES_CFB = 0x01,
115  CIPHER_AES_CTR = 0x02,
116  CIPHER_AES_ECB = 0x03,
117  CIPHER_AES_OFB = 0x04,
118 
119  CIPHER_BF_CBC = 0x05,
120  CIPHER_BF_CFB = 0x06,
121  CIPHER_BF_ECB = 0x07,
122  CIPHER_BF_OFB = 0x08,
123 
128 
129  CIPHER_DES_CBC = 0x0D,
130  CIPHER_DES_CFB = 0x0E,
132  CIPHER_DES_OFB = 0x10,
133 
138 
140 
141  CIPHER_RC2_CBC = 0x16,
142  CIPHER_RC2_CFB = 0x17,
143  CIPHER_RC2_ECB = 0x18,
144  CIPHER_RC2_OFB = 0x19,
145 
146  CIPHER_RC4 = 0x1A,
147 
148  CIPHER_RC5_CBC = 0x1B,
149  CIPHER_RC5_CFB = 0x1C,
150  CIPHER_RC5_ECB = 0x1D,
151  CIPHER_RC5_OFB = 0x1E,
152 
153  CIPHER_EC = 0x1F,
154  CIPHER_ECDSA = 0x20,
155  CIPHER_ECDH = 0x21,
156  CIPHER_ECMQV = 0x22,
157 
162 
165 
166 
174 typedef enum {
176  CURVE_P_192 = 0x01,
177  CURVE_K_163 = 0x02,
178  CURVE_B_163 = 0x03,
179  CURVE_P_224 = 0x04,
180  CURVE_K_233 = 0x05,
181  CURVE_B_233 = 0x06,
182  CURVE_P_256 = 0x07,
183  CURVE_K_283 = 0x08,
184  CURVE_B_283 = 0x09,
185  CURVE_P_384 = 0x0A,
186  CURVE_K_409 = 0x0B,
187  CURVE_B_409 = 0x0C,
188  CURVE_P_521 = 0x0D,
189  CURVE_K_571 = 0x0E,
190  CURVE_B_571 = 0x0F,
244 } P6ECCURVE;
245 
246 
250 typedef enum {
257 
258 
262 typedef enum {
267 } P6CRYPTKEYFMT;
268 
269 #ifdef __cplusplus
270 } // extern "C"
271 } // namespace
272 #endif
273 
274 #endif
275 
276 
277 
278 
279 
280 
unsigned char P6UCHAR
Definition: p6types.h:108
uint32_t P6UINT32
Definition: p6types.h:77
P6BOOL skipLineTermination
Definition: p6crypto.h:39
unsigned char P6BOOL
Boolean type.
Definition: p6types.h:133
const P6WCHAR * pFilePath
Definition: p6crypto.h:56
P6CRYPTOCIPHER
Cipher Type.
Definition: p6crypto.h:112
wchar_t P6WCHAR
Wide character type see p6i18n.h.
Definition: p6types.h:111
P6CRYPTCERTFMT
Defines the supported encodings for certificate data.
Definition: p6crypto.h:250
P6CRYPTKEYFMT
Defines the supported encodings for crypto key data.
Definition: p6crypto.h:262
Where to get the data to process, either a file or generic buffer.
Definition: p6crypto.h:36
P6UCHAR * pBuffer
Definition: p6crypto.h:57
P6ECCURVE
EC Curve Type.
Definition: p6crypto.h:174
P6UINT32 byteCount
Definition: p6crypto.h:58
Where to put the data processed, either a file or generic buffer.
Definition: p6crypto.h:54
const P6CHAR * pBuffer
Definition: p6crypto.h:40
const P6WCHAR * pFilePath
Definition: p6crypto.h:38
Interface definition for 3rd parties to provide separate entropy implementations. ...
char P6CHAR
Narrow character type.
Definition: p6types.h:105