X-Git-Url: http://wagner.pp.ru/gitweb/?a=blobdiff_plain;f=gost_lcl.h;h=032886ff4a0e00b6fef87cd7fe54454c9d631f06;hb=41b4121253a9c0e8d82d3eebcfe728d5d43e1b51;hp=08120b574b20b4380d1e1d66a22b2487fdb3e1a1;hpb=d1cf560c742d85ab1986fb0cabe0f9e3a1f0eb23;p=openssl-gost%2Fengine.git diff --git a/gost_lcl.h b/gost_lcl.h index 08120b5..032886f 100644 --- a/gost_lcl.h +++ b/gost_lcl.h @@ -55,6 +55,7 @@ int register_pmeth_gost(int id, EVP_PKEY_METHOD **pmeth, int flags); /* Gost-specific pmeth control-function parameters */ /* For GOST R34.10 parameters */ # define param_ctrl_string "paramset" +# define ukm_ctrl_string "ukmhex" # define EVP_PKEY_CTRL_GOST_PARAMSET (EVP_PKEY_ALG_CTRL+1) /* For GOST 28147 MAC */ # define key_ctrl_string "key" @@ -129,6 +130,7 @@ typedef struct { /* FIXME incomplete */ typedef struct PSKeyTransport_st { ASN1_OCTET_STRING *psexp; X509_PUBKEY *ephem_key; + ASN1_OCTET_STRING *ukm; } PSKeyTransport_gost; DECLARE_ASN1_FUNCTIONS(PSKeyTransport_gost) @@ -165,6 +167,12 @@ typedef struct { DECLARE_ASN1_FUNCTIONS(GOST_CIPHER_PARAMS) +typedef struct { + ASN1_OCTET_STRING *ukm; + } GOST2015_CIPHER_PARAMS; + +DECLARE_ASN1_FUNCTIONS(GOST2015_CIPHER_PARAMS) + typedef struct { ASN1_OCTET_STRING *masked_priv_key; ASN1_OCTET_STRING *public_key; @@ -239,7 +247,10 @@ 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(); +const EVP_CIPHER *cipher_magma_wrap(); +const EVP_CIPHER *cipher_kuznyechik_wrap(); void cipher_gost_destroy(); +void wrap_ciphers_destroy(); void inc_counter(unsigned char *counter, size_t counter_bytes);