]> www.wagner.pp.ru Git - openssl-gost/engine.git/blob - gost_gost2015.h
Magma/Kuznyechik ASN1 parameters and functions
[openssl-gost/engine.git] / gost_gost2015.h
1 #ifndef GOST_GOST2015_H
2 #define GOST_GOST2015_H
3
4 #include <openssl/evp.h>
5
6 #define MAGMA_MAC_MAX_SIZE 8
7 #define KUZNYECHIK_MAC_MAX_SIZE 16
8
9 int gost2015_final_call(EVP_CIPHER_CTX *ctx, EVP_MD_CTX *omac_ctx, size_t mac_size,
10                         unsigned char *encrypted_mac,
11                         int (*do_cipher) (EVP_CIPHER_CTX *ctx,
12                                 unsigned char *out,
13                                 const unsigned char *in,
14                                 size_t inl));
15
16 /* IV is expected to be 16 bytes*/
17 int gost2015_get_asn1_params(const ASN1_TYPE *params, size_t ukm_size,
18         unsigned char *iv, size_t ukm_offset, unsigned char *kdf_seed);
19
20 int gost2015_set_asn1_params(ASN1_TYPE *params,
21         const unsigned char *iv, size_t iv_size, const unsigned char *kdf_seed);
22 #endif