1 /* 2 * Copyright 2002-2020 The OpenSSL Project Authors. All Rights Reserved. 3 * 4 * Licensed under the Apache License 2.0 (the "License"). You may not use 5 * this file except in compliance with the License. You can obtain a copy 6 * in the file LICENSE in the source distribution or at 7 * https://www.openssl.org/source/license.html 8 */ 9 10 /* 11 * AES low level APIs are deprecated for public use, but still ok for internal 12 * use where we're using them to implement the higher level EVP interface, as is 13 * the case here. 14 */ 15 #include "internal/deprecated.h" 16 17 #include <openssl/aes.h> 18 #include <openssl/modes.h> 19 20 void AES_cbc_encrypt(const unsigned char *in, unsigned char *out, 21 size_t len, const AES_KEY *key, 22 unsigned char *ivec, const int enc) 23 { 24 25 if (enc) 26 CRYPTO_cbc128_encrypt(in, out, len, key, ivec, 27 (block128_f) AES_encrypt); 28 else 29 CRYPTO_cbc128_decrypt(in, out, len, key, ivec, 30 (block128_f) AES_decrypt); 31 } 32