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