|
Packit Service |
4684c1 |
/* ecc-gost-curve.h
|
|
Packit Service |
4684c1 |
|
|
Packit Service |
4684c1 |
Copyright (C) 2013 Niels Möller
|
|
Packit Service |
4684c1 |
|
|
Packit Service |
4684c1 |
This file is part of GNU Nettle.
|
|
Packit Service |
4684c1 |
|
|
Packit Service |
4684c1 |
GNU Nettle is free software: you can redistribute it and/or
|
|
Packit Service |
4684c1 |
modify it under the terms of either:
|
|
Packit Service |
4684c1 |
|
|
Packit Service |
4684c1 |
* the GNU Lesser General Public License as published by the Free
|
|
Packit Service |
4684c1 |
Software Foundation; either version 3 of the License, or (at your
|
|
Packit Service |
4684c1 |
option) any later version.
|
|
Packit Service |
4684c1 |
|
|
Packit Service |
4684c1 |
or
|
|
Packit Service |
4684c1 |
|
|
Packit Service |
4684c1 |
* the GNU General Public License as published by the Free
|
|
Packit Service |
4684c1 |
Software Foundation; either version 2 of the License, or (at your
|
|
Packit Service |
4684c1 |
option) any later version.
|
|
Packit Service |
4684c1 |
|
|
Packit Service |
4684c1 |
or both in parallel, as here.
|
|
Packit Service |
4684c1 |
|
|
Packit Service |
4684c1 |
GNU Nettle is distributed in the hope that it will be useful,
|
|
Packit Service |
4684c1 |
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
Packit Service |
4684c1 |
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
Packit Service |
4684c1 |
General Public License for more details.
|
|
Packit Service |
4684c1 |
|
|
Packit Service |
4684c1 |
You should have received copies of the GNU General Public License and
|
|
Packit Service |
4684c1 |
the GNU Lesser General Public License along with this program. If
|
|
Packit Service |
4684c1 |
not, see https://www.gnu.org/licenses/.
|
|
Packit Service |
4684c1 |
*/
|
|
Packit Service |
4684c1 |
|
|
Packit Service |
4684c1 |
/* Development of Nettle's ECC support was funded by the .SE Internet Fund. */
|
|
Packit Service |
4684c1 |
|
|
Packit Service |
4684c1 |
#ifndef GNUTLS_LIB_NETTLE_GOST_ECC_GOST_CURVE_H
|
|
Packit Service |
4684c1 |
#define GNUTLS_LIB_NETTLE_GOST_ECC_GOST_CURVE_H
|
|
Packit Service |
4684c1 |
|
|
Packit Service |
4684c1 |
#ifdef __cplusplus
|
|
Packit Service |
4684c1 |
extern "C" {
|
|
Packit Service |
4684c1 |
#endif
|
|
Packit Service |
4684c1 |
|
|
Packit Service |
4684c1 |
/* The contents of this struct is internal. */
|
|
Packit Service |
4684c1 |
struct ecc_curve;
|
|
Packit Service |
4684c1 |
|
|
Packit Service |
4684c1 |
#ifndef NETTLE_PURE
|
|
Packit Service |
4684c1 |
#ifdef __GNUC__
|
|
Packit Service |
4684c1 |
#define NETTLE_PURE __attribute__((pure))
|
|
Packit Service |
4684c1 |
#else
|
|
Packit Service |
4684c1 |
#define NETTLE_PURE
|
|
Packit Service |
4684c1 |
#endif
|
|
Packit Service |
4684c1 |
#endif
|
|
Packit Service |
4684c1 |
|
|
Packit Service |
4684c1 |
#define gost_point_mul_g _gnutls_nettle_ecc_gost_point_mul_g
|
|
Packit Service |
4684c1 |
#define gost_point_set _gnutls_nettle_ecc_gost_point_set
|
|
Packit Service |
4684c1 |
#define gostdsa_generate_keypair _gnutls_nettle_ecc_gostdsa_generate_keypair
|
|
Packit Service |
4684c1 |
void
|
|
Packit Service |
4684c1 |
gost_point_mul_g (struct ecc_point *r, const struct ecc_scalar *n);
|
|
Packit Service |
4684c1 |
int
|
|
Packit Service |
4684c1 |
gost_point_set (struct ecc_point *p, const mpz_t x, const mpz_t y);
|
|
Packit Service |
4684c1 |
void
|
|
Packit Service |
4684c1 |
gostdsa_generate_keypair (struct ecc_point *pub,
|
|
Packit Service |
4684c1 |
struct ecc_scalar *key,
|
|
Packit Service |
4684c1 |
void *random_ctx, nettle_random_func *random);
|
|
Packit Service |
4684c1 |
|
|
Packit Service |
4684c1 |
#define nettle_get_gost_gc256b _gnutls_nettle_ecc_get_gost_gc256b
|
|
Packit Service |
4684c1 |
#define nettle_get_gost_gc512a _gnutls_nettle_ecc_get_gost_gc512a
|
|
Packit Service |
4684c1 |
const struct ecc_curve * NETTLE_PURE nettle_get_gost_gc256b(void);
|
|
Packit Service |
4684c1 |
const struct ecc_curve * NETTLE_PURE nettle_get_gost_gc512a(void);
|
|
Packit Service |
4684c1 |
|
|
Packit Service |
4684c1 |
#ifdef __cplusplus
|
|
Packit Service |
4684c1 |
}
|
|
Packit Service |
4684c1 |
#endif
|
|
Packit Service |
4684c1 |
|
|
Packit Service |
4684c1 |
#endif /* GNUTLS_LIB_NETTLE_GOST_ECC_GOST_CURVE_H */
|