2 * Copyright 2019 The OpenSSL Project Authors. All Rights Reserved.
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
10 #include <openssl/rc4.h>
11 #include <openssl/md5.h>
12 #include "prov/ciphercommon.h"
14 typedef struct prov_rc4_hmac_md5_ctx_st
{
15 PROV_CIPHER_CTX base
; /* Must be first */
20 MD5_CTX head
, tail
, md
;
21 size_t payload_length
;
22 size_t tls_aad_pad_sz
;
23 } PROV_RC4_HMAC_MD5_CTX
;
25 typedef struct prov_cipher_hw_rc4_hmac_md5_st
{
26 PROV_CIPHER_HW base
; /* Must be first */
27 int (*tls_init
)(PROV_CIPHER_CTX
*ctx
, unsigned char *aad
, size_t aad_len
);
28 void (*init_mackey
)(PROV_CIPHER_CTX
*ctx
, const unsigned char *key
,
31 } PROV_CIPHER_HW_RC4_HMAC_MD5
;
33 const PROV_CIPHER_HW
*PROV_CIPHER_HW_rc4_hmac_md5(size_t keybits
);