]> wagner.pp.ru Git - openssl-gost/engine.git/blobdiff - gost_lcl.h
Bugfix + some basic test setup
[openssl-gost/engine.git] / gost_lcl.h
index 4caeeebae9fa9d97855cd8a866312f105e6c29b0..7871eb8b73b21ad9d389227f95a559924b12a801 100644 (file)
@@ -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 {
@@ -178,6 +181,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;
@@ -211,7 +220,12 @@ const EVP_CIPHER *cipher_gost();
 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)