Toggle navigation
Home
CycloneTCP
CycloneSSL
CycloneSSH
CycloneIPSEC
CycloneSTP
CycloneACME
CycloneCRYPTO
Download
Main Page
Data Structures
Files
File List
Globals
cyclone_crypto
ecc
x448.h
Go to the documentation of this file.
1
/**
2
* @file x448.h
3
* @brief X448 function implementation
4
*
5
* @section License
6
*
7
* SPDX-License-Identifier: GPL-2.0-or-later
8
*
9
* Copyright (C) 2010-2024 Oryx Embedded SARL. All rights reserved.
10
*
11
* This file is part of CycloneCRYPTO Open.
12
*
13
* This program is free software; you can redistribute it and/or
14
* modify it under the terms of the GNU General Public License
15
* as published by the Free Software Foundation; either version 2
16
* of the License, or (at your option) any later version.
17
*
18
* This program is distributed in the hope that it will be useful,
19
* but WITHOUT ANY WARRANTY; without even the implied warranty of
20
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21
* GNU General Public License for more details.
22
*
23
* You should have received a copy of the GNU General Public License
24
* along with this program; if not, write to the Free Software Foundation,
25
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
26
*
27
* @author Oryx Embedded SARL (www.oryx-embedded.com)
28
* @version 2.4.0
29
**/
30
31
#ifndef _X448_H
32
#define _X448_H
33
34
//Dependencies
35
#include "
core/crypto.h
"
36
#include "
ecc/curve448.h
"
37
38
//C++ guard
39
#ifdef __cplusplus
40
extern
"C"
{
41
#endif
42
43
44
/**
45
* @brief X448 working state
46
**/
47
48
typedef
struct
49
{
50
uint32_t k[14];
51
uint32_t
u
[14];
52
uint32_t x1[14];
53
uint32_t z1[14];
54
uint32_t x2[14];
55
uint32_t z2[14];
56
uint32_t
t1
[14];
57
uint32_t
t2
[14];
58
}
X448State
;
59
60
61
//X448 related functions
62
error_t
x448
(uint8_t *
r
,
const
uint8_t *k,
const
uint8_t *
u
);
63
64
//C++ guard
65
#ifdef __cplusplus
66
}
67
#endif
68
69
#endif
crypto.h
General definitions for cryptographic algorithms.
curve448.h
Curve448 elliptic curve (constant-time implementation)
t1
uint32_t t1
Definition:
dhcpv6_common.h:250
t2
uint32_t t2
Definition:
dhcpv6_common.h:251
error_t
error_t
Error codes.
Definition:
error.h:43
u
uint8_t u
Definition:
lldp_ext_med.h:213
r
uint8_t r
Definition:
ndp.h:346
X448State
X448 working state.
Definition:
x448.h:49
x448
error_t x448(uint8_t *r, const uint8_t *k, const uint8_t *u)
X448 function (scalar multiplication on Curve448)
Definition:
x448.c:53