modes.h (1777B)
1 /* modes.h 2 * 3 * Copyright (C) 2006-2025 wolfSSL Inc. 4 * 5 * This file is part of wolfSSL. 6 * 7 * wolfSSL is free software; you can redistribute it and/or modify 8 * it under the terms of the GNU General Public License as published by 9 * the Free Software Foundation; either version 3 of the License, or 10 * (at your option) any later version. 11 * 12 * wolfSSL is distributed in the hope that it will be useful, 13 * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 * GNU General Public License for more details. 16 * 17 * You should have received a copy of the GNU General Public License 18 * along with this program; if not, write to the Free Software 19 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA 20 */ 21 #ifndef WOLFSSL_OPENSSL_MODES_H 22 #define WOLFSSL_OPENSSL_MODES_H 23 24 #include <wolfssl/wolfcrypt/settings.h> 25 #include <wolfssl/openssl/ssl.h> 26 27 typedef void (*WOLFSSL_CBC128_CB) (const unsigned char *in, 28 unsigned char *out, size_t len, const void *key, 29 unsigned char *iv, int enc); 30 31 WOLFSSL_API size_t wolfSSL_CRYPTO_cts128_encrypt(const unsigned char *in, 32 unsigned char *out, size_t len, const void *key, 33 unsigned char *iv, WOLFSSL_CBC128_CB cbc); 34 WOLFSSL_API size_t wolfSSL_CRYPTO_cts128_decrypt(const unsigned char *in, 35 unsigned char *out, size_t len, const void *key, 36 unsigned char *iv, WOLFSSL_CBC128_CB cbc); 37 38 #define WOLFSSL_CTS128_BLOCK_SZ 16 39 40 /* Compatibility layer defines */ 41 #define CRYPTO_cts128_encrypt wolfSSL_CRYPTO_cts128_encrypt 42 #define CRYPTO_cts128_decrypt wolfSSL_CRYPTO_cts128_decrypt 43 #define cbc128_f WOLFSSL_CBC128_CB 44 45 #endif /* WOLFSSL_OPENSSL_MODES_H */