X-Git-Url: http://wagner.pp.ru/gitweb/?a=blobdiff_plain;f=gost_lcl.h;h=528794a5a469cf6485944c75dec3e886d1a3e808;hb=21c7d90eb3034c1c82167e67d291a46a112a833b;hp=6f3cadc0362c2b9c9b5155ba2f59bf84dd05e40a;hpb=c5958ad35eb481ec342fef73bb4544fd8846eeb5;p=openssl-gost%2Fengine.git diff --git a/gost_lcl.h b/gost_lcl.h index 6f3cadc..528794a 100644 --- a/gost_lcl.h +++ b/gost_lcl.h @@ -9,6 +9,7 @@ * OpenSSL 0.9.9 libraries required to compile and use * * this code * **********************************************************************/ +# include "compat.h" # include # include # include @@ -35,6 +36,7 @@ typedef struct R3410_ec { char *q; char *x; char *y; + char *cofactor; } R3410_ec_params; extern R3410_ec_params R3410_2001_paramset[], @@ -178,6 +180,12 @@ EVP_MD *imit_gost_cpa(void); void imit_gost_cpa_destroy(void); EVP_MD *imit_gost_cp_12(void); 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; @@ -212,7 +220,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)