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 \
#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);
#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 */
}
};
-const struct gost28147_param gost28147_param_CryptoPro_3411 =
+const struct gost28147_param _gost28147_param_CryptoPro_3411 =
{
{
{ /* 0 */
+++ /dev/null
-/* 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 */
#include "macros.h"
#include "nettle-write.h"
#include "gosthash94.h"
-#include "gost28147.h"
#include "gost28147-internal.h"
/**
size_t length, const uint8_t *msg)
{
gosthash94_update_int (ctx, length, msg,
- gost28147_param_test_3411.sbox);
+ _gost28147_param_test_3411.sbox);
}
/**
size_t length, const uint8_t *msg)
{
gosthash94_update_int (ctx, length, msg,
- gost28147_param_CryptoPro_3411.sbox);
+ _gost28147_param_CryptoPro_3411.sbox);
}
/**
size_t length, uint8_t *result)
{
gosthash94_write_digest (ctx, length, result,
- gost28147_param_test_3411.sbox);
+ _gost28147_param_test_3411.sbox);
}
void
size_t length, uint8_t *result)
{
gosthash94_write_digest (ctx, length, result,
- gost28147_param_CryptoPro_3411.sbox);
+ _gost28147_param_CryptoPro_3411.sbox);
}