]> www.wagner.pp.ru Git - openssl-gost/engine.git/blobdiff - gost_lcl.h
Don't recreate GOST EC groups every time (#358)
[openssl-gost/engine.git] / gost_lcl.h
index 8471ed062cecde22fe78931015eaec8b0b5eb483..c518ed0333e92a981f3a4c08ace9110d201714f9 100644 (file)
@@ -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);
@@ -305,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 {