summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDmitry Baryshkov <dbaryshkov@gmail.com>2020-02-04 16:29:26 +0300
committerNiels Möller <nisse@lysator.liu.se>2020-02-06 07:28:12 +0100
commit9f4ade7f147fe1bb4f606040843d813ec8a9084c (patch)
tree263760ec0fbcd2a85a8c1da16351fba644e769be
parenta896feb0ce00453ef9811bb1cb1f3f7f1678d810 (diff)
downloadnettle-9f4ade7f147fe1bb4f606040843d813ec8a9084c.tar.gz
gost28147: move gost params to internal interface
gost28147_param instances were never a part of stable release, so move them to internal header. Signed-off-by: Dmitry Baryshkov <dbaryshkov@gmail.com>
-rw-r--r--Makefile.in2
-rw-r--r--gost28147-internal.h12
-rw-r--r--gost28147.c5
-rw-r--r--gost28147.h58
-rw-r--r--gosthash94.c9
5 files changed, 19 insertions, 67 deletions
diff --git a/Makefile.in b/Makefile.in
index f876e5e8..0de54e85 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -207,7 +207,7 @@ HEADERS = aes.h arcfour.h arctwo.h asn1.h blowfish.h \
cbc.h ccm.h cfb.h chacha.h chacha-poly1305.h ctr.h \
curve25519.h curve448.h des.h dsa.h dsa-compat.h eax.h \
ecc-curve.h ecc.h ecdsa.h eddsa.h \
- gcm.h gost28147.h gostdsa.h gosthash94.h hmac.h \
+ gcm.h gostdsa.h gosthash94.h hmac.h \
knuth-lfib.h hkdf.h \
macros.h \
cmac.h siv-cmac.h \
diff --git a/gost28147-internal.h b/gost28147-internal.h
index 7f5c6f8c..0cb2d152 100644
--- a/gost28147-internal.h
+++ b/gost28147-internal.h
@@ -34,7 +34,19 @@
#ifndef NETTLE_GOST28147_INTERNAL_H_INCLUDED
#define NETTLE_GOST28147_INTERNAL_H_INCLUDED
+#include <stdint.h>
+
#define _gost28147_encrypt_block _nettle_gost28147_encrypt_block
+#define _gost28147_param_test_3411 _nettle_gost28147_param_test_3411
+#define _gost28147_param_CryptoPro_3411 _nettle_gost28147_param_CryptoPro_3411
+
+extern const struct gost28147_param _gost28147_param_test_3411;
+extern const struct gost28147_param _gost28147_param_CryptoPro_3411;
+
+struct gost28147_param
+{
+ uint32_t sbox[4][256];
+};
void _gost28147_encrypt_block (const uint32_t *key, const uint32_t sbox[4][256],
const uint32_t *in, uint32_t *out);
diff --git a/gost28147.c b/gost28147.c
index 15d314c8..b6db334b 100644
--- a/gost28147.c
+++ b/gost28147.c
@@ -33,11 +33,10 @@
#endif
#include "macros.h"
-#include "gost28147.h"
#include "gost28147-internal.h"
/* pre-initialized GOST lookup tables based on rotated S-Box */
-const struct gost28147_param gost28147_param_test_3411 =
+const struct gost28147_param _gost28147_param_test_3411 =
{
{
{ /* 0 */
@@ -304,7 +303,7 @@ const struct gost28147_param gost28147_param_test_3411 =
}
};
-const struct gost28147_param gost28147_param_CryptoPro_3411 =
+const struct gost28147_param _gost28147_param_CryptoPro_3411 =
{
{
{ /* 0 */
diff --git a/gost28147.h b/gost28147.h
deleted file mode 100644
index 32e7d5e8..00000000
--- a/gost28147.h
+++ /dev/null
@@ -1,58 +0,0 @@
-/* gost28147.h
-
- The GOST 28147-89 cipher function, described in RFC 5831.
-
- Copyright (C) 2019 Dmitry Eremin-Solenikov
-
- This file is part of GNU Nettle.
-
- GNU Nettle is free software: you can redistribute it and/or
- modify it under the terms of either:
-
- * the GNU Lesser General Public License as published by the Free
- Software Foundation; either version 3 of the License, or (at your
- option) any later version.
-
- or
-
- * the GNU General Public License as published by the Free
- Software Foundation; either version 2 of the License, or (at your
- option) any later version.
-
- or both in parallel, as here.
-
- GNU Nettle is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- General Public License for more details.
-
- You should have received copies of the GNU General Public License and
- the GNU Lesser General Public License along with this program. If
- not, see http://www.gnu.org/licenses/.
-*/
-
-#ifndef NETTLE_GOST28147_H_INCLUDED
-#define NETTLE_GOST28147_H_INCLUDED
-
-#include "nettle-types.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#define gost28147_param_test_3411 nettle_gost28147_param_test_3411
-#define gost28147_param_CryptoPro_3411 nettle_gost28147_param_CryptoPro_3411
-
-struct gost28147_param
-{
- uint32_t sbox[4][256];
-};
-
-extern const struct gost28147_param gost28147_param_test_3411;
-extern const struct gost28147_param gost28147_param_CryptoPro_3411;
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* NETTLE_GOST28147_H_INCLUDED */
diff --git a/gosthash94.c b/gosthash94.c
index 954130f7..37a7f322 100644
--- a/gosthash94.c
+++ b/gosthash94.c
@@ -41,7 +41,6 @@
#include "macros.h"
#include "nettle-write.h"
#include "gosthash94.h"
-#include "gost28147.h"
#include "gost28147-internal.h"
/**
@@ -339,7 +338,7 @@ gosthash94_update (struct gosthash94_ctx *ctx,
size_t length, const uint8_t *msg)
{
gosthash94_update_int (ctx, length, msg,
- gost28147_param_test_3411.sbox);
+ _gost28147_param_test_3411.sbox);
}
/**
@@ -355,7 +354,7 @@ gosthash94cp_update (struct gosthash94_ctx *ctx,
size_t length, const uint8_t *msg)
{
gosthash94_update_int (ctx, length, msg,
- gost28147_param_CryptoPro_3411.sbox);
+ _gost28147_param_CryptoPro_3411.sbox);
}
/**
@@ -399,7 +398,7 @@ gosthash94_digest (struct gosthash94_ctx *ctx,
size_t length, uint8_t *result)
{
gosthash94_write_digest (ctx, length, result,
- gost28147_param_test_3411.sbox);
+ _gost28147_param_test_3411.sbox);
}
void
@@ -407,5 +406,5 @@ gosthash94cp_digest (struct gosthash94_ctx *ctx,
size_t length, uint8_t *result)
{
gosthash94_write_digest (ctx, length, result,
- gost28147_param_CryptoPro_3411.sbox);
+ _gost28147_param_CryptoPro_3411.sbox);
}