]> www.wagner.pp.ru Git - openssl-gost/engine.git/blob - gost_gost2015.h
KUZNYECHIK-CTR_ACPKM-OMAC implementation
[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 #define OID_GOST_CMS_MAC "1.2.643.7.1.0.6.1.1"
9
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,
13                                 unsigned char *out,
14                                 const unsigned char *in,
15                                 size_t inl));
16
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);
20
21 int gost2015_set_asn1_params(ASN1_TYPE *params,
22         const unsigned char *iv, size_t iv_size, const unsigned char *kdf_seed);
23 #endif