X-Git-Url: http://wagner.pp.ru/gitweb/?a=blobdiff_plain;f=gost_lcl.h;h=c518ed0333e92a981f3a4c08ace9110d201714f9;hb=a3b21ced5bfe2c42a04cfad7d4f8499f27ec31ca;hp=50446a33b7aae633ec06f629ec821554a024840b;hpb=486cd1d88be05434966105074afedf1b1e32314c;p=openssl-gost%2Fengine.git diff --git a/gost_lcl.h b/gost_lcl.h index 50446a3..c518ed0 100644 --- a/gost_lcl.h +++ b/gost_lcl.h @@ -36,11 +36,14 @@ typedef struct R3410_ec { char *x; char *y; char *cofactor; + EC_GROUP *group; } R3410_ec_params; extern R3410_ec_params R3410_2001_paramset[], *R3410_2012_256_paramset, R3410_2012_512_paramset[]; +void free_cached_groups(void); + extern const ENGINE_CMD_DEFN gost_cmds[]; int gost_control_func(ENGINE *e, int cmd, long i, void *p, void (*f) (void)); const char *get_gost_engine_param(int param); @@ -57,6 +60,7 @@ int register_pmeth_gost(int id, EVP_PKEY_METHOD **pmeth, int flags); /* For GOST R34.10 parameters */ # define param_ctrl_string "paramset" # define ukm_ctrl_string "ukmhex" +# define vko_ctrl_string "vko" # define EVP_PKEY_CTRL_GOST_PARAMSET (EVP_PKEY_ALG_CTRL+1) /* For GOST 28147 MAC */ # define key_ctrl_string "key" @@ -304,6 +308,9 @@ int pack_sign_cp(ECDSA_SIG *s, int order, unsigned char *sig, size_t *siglen); /* Get private key as BIGNUM from both 34.10-2001 keys*/ /* Returns pointer into EVP_PKEY structure */ BIGNUM *gost_get0_priv_key(const EVP_PKEY *pkey); +/* from gost_crypt.c */ +/* Decrements 8-byte sequence */ +int decrement_sequence(unsigned char *seq, int decrement); /* Struct describing cipher and used for init/deinit.*/ struct gost_cipher_st {