Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-01-18 10:02:15

0001 /* curve25519.h
0002 
0003    Copyright (C) 2014 Niels Möller
0004 
0005    This file is part of GNU Nettle.
0006 
0007    GNU Nettle is free software: you can redistribute it and/or
0008    modify it under the terms of either:
0009 
0010      * the GNU Lesser General Public License as published by the Free
0011        Software Foundation; either version 3 of the License, or (at your
0012        option) any later version.
0013 
0014    or
0015 
0016      * the GNU General Public License as published by the Free
0017        Software Foundation; either version 2 of the License, or (at your
0018        option) any later version.
0019 
0020    or both in parallel, as here.
0021 
0022    GNU Nettle is distributed in the hope that it will be useful,
0023    but WITHOUT ANY WARRANTY; without even the implied warranty of
0024    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
0025    General Public License for more details.
0026 
0027    You should have received copies of the GNU General Public License and
0028    the GNU Lesser General Public License along with this program.  If
0029    not, see http://www.gnu.org/licenses/.
0030 */
0031 
0032 #ifndef NETTLE_CURVE25519_H
0033 #define NETTLE_CURVE25519_H
0034 
0035 #include "nettle-types.h"
0036 
0037 #ifdef __cplusplus
0038 extern "C" {
0039 #endif
0040 
0041 /* Name mangling */
0042 #define curve25519_mul_g nettle_curve25519_mul_g
0043 #define curve25519_mul nettle_curve25519_mul
0044 
0045 #define CURVE25519_SIZE 32
0046 
0047 /* Indicates that curve25519_mul conforms to RFC 7748. */
0048 #define NETTLE_CURVE25519_RFC7748 1
0049 
0050 void
0051 curve25519_mul_g (uint8_t *q, const uint8_t *n);
0052 
0053 void
0054 curve25519_mul (uint8_t *q, const uint8_t *n, const uint8_t *p);
0055 
0056 #ifdef __cplusplus
0057 }
0058 #endif
0059 
0060 #endif /* NETTLE_CURVE25519_H */