1/*
2 * Copyright 2019-2021 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#include <openssl/des.h>
11#include "crypto/des_platform.h"
12
13#define TDES_FLAGS 0
14
15typedef struct prov_des_ctx_st {
16    PROV_CIPHER_CTX base;      /* Must be first */
17    union {
18        OSSL_UNION_ALIGN;
19        DES_key_schedule ks;
20    } dks;
21    union {
22        void (*cbc) (const void *, void *, size_t,
23                     const DES_key_schedule *, unsigned char *);
24    } dstream;
25
26} PROV_DES_CTX;
27
28const PROV_CIPHER_HW *ossl_prov_cipher_hw_des_cbc(void);
29const PROV_CIPHER_HW *ossl_prov_cipher_hw_des_ecb(void);
30const PROV_CIPHER_HW *ossl_prov_cipher_hw_des_ofb64(void);
31const PROV_CIPHER_HW *ossl_prov_cipher_hw_des_cfb64(void);
32const PROV_CIPHER_HW *ossl_prov_cipher_hw_des_cfb1(void);
33const PROV_CIPHER_HW *ossl_prov_cipher_hw_des_cfb8(void);
34