diff options
author | Dmitry Eremin-Solenikov <dbaryshkov@gmail.com> | 2019-07-11 21:43:11 +0300 |
---|---|---|
committer | Niels Möller <nisse@lysator.liu.se> | 2019-09-15 10:09:15 +0200 |
commit | 1d7bce28f88b493854810ce21468a996b4d857f1 (patch) | |
tree | aab97ae376f566b69bc20df2aaa54146cd8bb778 /gost28147.h | |
parent | c00f4b17f7f38c180ece4c92c50c05feb2e28c2d (diff) | |
download | nettle-1d7bce28f88b493854810ce21468a996b4d857f1.tar.gz |
Start separating GOST 28147-89 from GOST R 34.11-94
Hash function GOST R 34.11-94 (gosthash94) in its compression function
uses Russian block cipher (GOST 28147-89, Magma). Start separating block
cipher code from hash function code. For now there is no public
interface for this cipher, it will be added later.
Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
Diffstat (limited to 'gost28147.h')
-rw-r--r-- | gost28147.h | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/gost28147.h b/gost28147.h new file mode 100644 index 00000000..d403c432 --- /dev/null +++ b/gost28147.h @@ -0,0 +1,56 @@ +/* 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 + +struct gost28147_param +{ + uint32_t sbox[4][256]; +}; + +extern const struct gost28147_param gost28147_param_test_3411; + +#ifdef __cplusplus +} +#endif + +#endif /* NETTLE_GOST28147_H_INCLUDED */ |