gost28147: do not use GOST28147_CONTEXT outside of GOST 28147 calculation
authorDmitry Eremin-Solenikov <dbaryshkov@gmail.com>
Tue, 12 Nov 2019 13:50:04 +0000 (16:50 +0300)
committerJussi Kivilinna <jussi.kivilinna@iki.fi>
Thu, 21 Nov 2019 15:59:30 +0000 (17:59 +0200)
* cipher/gost28147.c (_gcry_gost_enc_data): remove unused context
  argument
* cipher/gostr3411-94.c (GOSTR3411_CONTEXT, gostr3411_init,
  do_hash_step): remove unused GOST 28147-89 context.

Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
cipher/gost.h
cipher/gost28147.c
cipher/gostr3411-94.c

index 025119c..04c2f85 100644 (file)
@@ -26,7 +26,7 @@ typedef struct {
 } GOST28147_context;
 
 /* This is a simple interface that will be used by GOST R 34.11-94 */
-unsigned int _gcry_gost_enc_data (GOST28147_context *c, const u32 *key,
+unsigned int _gcry_gost_enc_data (const u32 *key,
     u32 *o1, u32 *o2, u32 n1, u32 n2, int cryptopro);
 
 #endif
index 85d398d..db7e941 100644 (file)
@@ -120,7 +120,7 @@ gost_encrypt_block (void *c, byte *outbuf, const byte *inbuf)
   return /* burn_stack */ burn + 6*sizeof(void*) /* func call */;
 }
 
-unsigned int _gcry_gost_enc_data (GOST28147_context *c, const u32 *key,
+unsigned int _gcry_gost_enc_data (const u32 *key,
     u32 *o1, u32 *o2, u32 n1, u32 n2, int cryptopro)
 {
   const u32 *sbox;
index c5a0aef..7cf0637 100644 (file)
@@ -35,7 +35,6 @@
 
 typedef struct {
   gcry_md_block_ctx_t bctx;
-  GOST28147_context hd;
   union {
     u32 h[8];
     byte result[32];
@@ -55,7 +54,6 @@ gost3411_init (void *context, unsigned int flags)
 
   (void)flags;
 
-  memset (&hd->hd, 0, sizeof(hd->hd));
   memset (hd->h, 0, 32);
   memset (hd->sigma, 0, 32);
 
@@ -228,7 +226,7 @@ do_hash_step (GOSTR3411_CONTEXT *hd, u32 *h, u32 *m)
   for (i = 0; i < 4; i++) {
     do_p (k, u, v);
 
-    burn = _gcry_gost_enc_data (&hd->hd, k, &s[2*i], &s[2*i+1], h[2*i], h[2*i+1], hd->cryptopro);
+    burn = _gcry_gost_enc_data (k, &s[2*i], &s[2*i+1], h[2*i], h[2*i+1], hd->cryptopro);
 
     do_a (u);
     if (i == 1)