blob: 50683d4b8c1258706d2c4edfaf108af7460189fb [file] [log] [blame]
yuezonghe824eb0c2024-06-27 02:32:26 -07001/* ed25519.h
2 *
3 * Copyright (C) 2006-2021 wolfSSL Inc.
4 *
5 * This file is part of wolfSSL.
6 *
7 * wolfSSL is free software; you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License as published by
9 * the Free Software Foundation; either version 2 of the License, or
10 * (at your option) any later version.
11 *
12 * wolfSSL is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 * GNU General Public License for more details.
16 *
17 * You should have received a copy of the GNU General Public License
18 * along with this program; if not, write to the Free Software
19 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
20 */
21
22/* ed25519.h */
23
24#ifndef WOLFSSL_ED25519_H_
25#define WOLFSSL_ED25519_H_
26
27#ifdef __cplusplus
28extern "C" {
29#endif
30
31WOLFSSL_API
32int wolfSSL_ED25519_generate_key(unsigned char *priv, unsigned int *privSz,
33 unsigned char *pub, unsigned int *pubSz);
34WOLFSSL_API
35int wolfSSL_ED25519_sign(const unsigned char *msg, unsigned int msgSz,
36 const unsigned char *priv, unsigned int privSz,
37 unsigned char *sig, unsigned int *sigSz);
38WOLFSSL_API
39int wolfSSL_ED25519_verify(const unsigned char *msg, unsigned int msgSz,
40 const unsigned char *pub, unsigned int pubSz,
41 const unsigned char *sig, unsigned int sigSz);
42
43#ifdef __cplusplus
44} /* extern "C" */
45#endif
46
47#endif /* header */