92
92
#define BLOCK_CIPHER_func_cfb(cname, cprefix, cbits, kstruct, ksched) \
93
93
static int cname##_cfb##cbits##_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out, const unsigned char *in, unsigned int inl) \
95
cprefix##_cfb##cbits##_encrypt(in, out, (long)(cbits==1?inl*8:inl), &((kstruct *)ctx->cipher_data)->ksched, ctx->iv, &ctx->num, ctx->encrypt);\
95
cprefix##_cfb##cbits##_encrypt(in, out, (long)((cbits==1) && !(ctx->flags & EVP_CIPH_FLAG_LENGTH_BITS) ?inl*8:inl), &((kstruct *)ctx->cipher_data)->ksched, ctx->iv, &ctx->num, ctx->encrypt);\
227
227
#define EVP_C_DATA(kstruct, ctx) ((kstruct *)(ctx)->cipher_data)
229
#define IMPLEMENT_CFBR(cipher,cprefix,kstruct,ksched,keysize,cbits,iv_len) \
229
#define IMPLEMENT_CFBR(cipher,cprefix,kstruct,ksched,keysize,cbits,iv_len,fl) \
230
230
BLOCK_CIPHER_func_cfb(cipher##_##keysize,cprefix,cbits,kstruct,ksched) \
231
231
BLOCK_CIPHER_def_cfb(cipher##_##keysize,kstruct, \
232
232
NID_##cipher##_##keysize, keysize/8, iv_len, cbits, \
233
0, cipher##_init_key, NULL, \
234
EVP_CIPHER_set_asn1_iv, \
235
EVP_CIPHER_get_asn1_iv, \
233
(fl)|EVP_CIPH_FLAG_DEFAULT_ASN1, \
234
cipher##_init_key, NULL, NULL, NULL, NULL)
237
#define RC2_set_key private_RC2_set_key
238
#define RC4_set_key private_RC4_set_key
239
#define CAST_set_key private_CAST_set_key
240
#define RC5_32_set_key private_RC5_32_set_key
241
#define BF_set_key private_BF_set_key
242
#define Camellia_set_key private_Camellia_set_key
243
#define idea_set_encrypt_key private_idea_set_encrypt_key
245
#define MD5_Init private_MD5_Init
246
#define MD4_Init private_MD4_Init
247
#define MD2_Init private_MD2_Init
248
#define MDC2_Init private_MDC2_Init
249
#define SHA_Init private_SHA_Init