X-Git-Url: http://wagner.pp.ru/gitweb/?a=blobdiff_plain;ds=sidebyside;f=gost_lcl.h;h=7871eb8b73b21ad9d389227f95a559924b12a801;hb=a430c355a1d2eff5df6c96c7b6f928a609c2dd73;hp=58ac94d8921bee24b06a59d95282b31e969a32d9;hpb=14e654cab19089027b00733594480eb03d8c6da5;p=openssl-gost%2Fengine.git diff --git a/gost_lcl.h b/gost_lcl.h index 58ac94d..7871eb8 100644 --- a/gost_lcl.h +++ b/gost_lcl.h @@ -35,6 +35,7 @@ typedef struct R3410_ec { char *q; char *x; char *y; + char *cofactor; } R3410_ec_params; extern R3410_ec_params R3410_2001_paramset[], @@ -68,7 +69,9 @@ struct gost_pmeth_data { * 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 { @@ -181,7 +184,9 @@ void imit_gost_cp_12_destroy(void); 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; @@ -216,7 +221,11 @@ const EVP_CIPHER *cipher_gost_cbc(); 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)