OSDN Git Service

0c4ef108509203eec9d09df5c492fb3cb0a9ff8a
[ffftp/ffftp.git] / contrib / openssl / include / openssl / modes.h
1 /* ====================================================================\r
2  * Copyright (c) 2008 The OpenSSL Project. All rights reserved.\r
3  *\r
4  * Rights for redistribution and usage in source and binary\r
5  * forms are granted according to the OpenSSL license.\r
6  */\r
7 \r
8 #include <stddef.h>\r
9 \r
10 typedef void (*block128_f)(const unsigned char in[16],\r
11                         unsigned char out[16],\r
12                         const void *key);\r
13 \r
14 typedef void (*cbc128_f)(const unsigned char *in, unsigned char *out,\r
15                         size_t len, const void *key,\r
16                         unsigned char ivec[16], int enc);\r
17 \r
18 void CRYPTO_cbc128_encrypt(const unsigned char *in, unsigned char *out,\r
19                         size_t len, const void *key,\r
20                         unsigned char ivec[16], block128_f block);\r
21 void CRYPTO_cbc128_decrypt(const unsigned char *in, unsigned char *out,\r
22                         size_t len, const void *key,\r
23                         unsigned char ivec[16], block128_f block);\r
24 \r
25 void CRYPTO_ctr128_encrypt(const unsigned char *in, unsigned char *out,\r
26                         size_t len, const void *key,\r
27                         unsigned char ivec[16], unsigned char ecount_buf[16],\r
28                         unsigned int *num, block128_f block);\r
29 \r
30 void CRYPTO_ofb128_encrypt(const unsigned char *in, unsigned char *out,\r
31                         size_t len, const void *key,\r
32                         unsigned char ivec[16], int *num,\r
33                         block128_f block);\r
34 \r
35 void CRYPTO_cfb128_encrypt(const unsigned char *in, unsigned char *out,\r
36                         size_t len, const void *key,\r
37                         unsigned char ivec[16], int *num,\r
38                         int enc, block128_f block);\r
39 void CRYPTO_cfb128_8_encrypt(const unsigned char *in, unsigned char *out,\r
40                         size_t length, const void *key,\r
41                         unsigned char ivec[16], int *num,\r
42                         int enc, block128_f block);\r
43 void CRYPTO_cfb128_1_encrypt(const unsigned char *in, unsigned char *out,\r
44                         size_t bits, const void *key,\r
45                         unsigned char ivec[16], int *num,\r
46                         int enc, block128_f block);\r
47 \r
48 size_t CRYPTO_cts128_encrypt_block(const unsigned char *in, unsigned char *out,\r
49                         size_t len, const void *key,\r
50                         unsigned char ivec[16], block128_f block);\r
51 size_t CRYPTO_cts128_encrypt(const unsigned char *in, unsigned char *out,\r
52                         size_t len, const void *key,\r
53                         unsigned char ivec[16], cbc128_f cbc);\r
54 size_t CRYPTO_cts128_decrypt_block(const unsigned char *in, unsigned char *out,\r
55                         size_t len, const void *key,\r
56                         unsigned char ivec[16], block128_f block);\r
57 size_t CRYPTO_cts128_decrypt(const unsigned char *in, unsigned char *out,\r
58                         size_t len, const void *key,\r
59                         unsigned char ivec[16], cbc128_f cbc);\r