1 #ifndef GOST_GOST2015_H
2 #define GOST_GOST2015_H
4 #include <openssl/evp.h>
6 #define MAGMA_MAC_MAX_SIZE 8
7 #define KUZNYECHIK_MAC_MAX_SIZE 16
8 #define OID_GOST_CMS_MAC "1.2.643.7.1.0.6.1.1"
10 int gost2015_final_call(EVP_CIPHER_CTX *ctx, EVP_MD_CTX *omac_ctx, size_t mac_size,
11 unsigned char *encrypted_mac,
12 int (*do_cipher) (EVP_CIPHER_CTX *ctx,
14 const unsigned char *in,
17 /* IV is expected to be 16 bytes*/
18 int gost2015_get_asn1_params(const ASN1_TYPE *params, size_t ukm_size,
19 unsigned char *iv, size_t ukm_offset, unsigned char *kdf_seed);
21 int gost2015_set_asn1_params(ASN1_TYPE *params,
22 const unsigned char *iv, size_t iv_size, const unsigned char *kdf_seed);