char *q;
char *x;
char *y;
+ char *cofactor;
} R3410_ec_params;
extern R3410_ec_params R3410_2001_paramset[],
* filled */
EVP_MD *md;
unsigned char *shared_ukm;
+ size_t shared_ukm_size; /* XXX temporary use shared_ukm and hash for 2018 CKE*/
int peer_key_used;
+ int cipher_nid; /* KExp15/KImp15 algs*/
};
struct gost_mac_pmeth_data {
EVP_MD *magma_omac(void);
void magma_omac_destroy(void);
EVP_MD *grasshopper_omac(void);
+EVP_MD *grasshopper_omac_acpkm(void);
void grasshopper_omac_destroy(void);
+void grasshopper_omac_acpkm_destroy(void);
/* Cipher context used for EVP_CIPHER operation */
struct ossl_gost_cipher_ctx {
int paramNID;
const EVP_CIPHER *cipher_gost_cpacnt();
const EVP_CIPHER *cipher_gost_cpcnt_12();
const EVP_CIPHER *cipher_magma_cbc();
+const EVP_CIPHER *cipher_magma_ctr();
void cipher_gost_destroy();
+
+void inc_counter(unsigned char* buffer, size_t buf_len);
+
# define EVP_MD_CTRL_KEY_LEN (EVP_MD_CTRL_ALG_CTRL+3)
# define EVP_MD_CTRL_SET_KEY (EVP_MD_CTRL_ALG_CTRL+4)
# define EVP_MD_CTRL_MAC_LEN (EVP_MD_CTRL_ALG_CTRL+5)