Toggle navigation
Home
CycloneTCP
CycloneSSL
CycloneSSH
CycloneIPSEC
CycloneSTP
CycloneACME
CycloneCRYPTO
Download
Main Page
Data Structures
Files
File List
Globals
cyclone_crypto
hardware
s7g2
s7g2_crypto_pkc.h
Go to the documentation of this file.
1
/**
2
* @file s7g2_crypto_pkc.h
3
* @brief Synergy S7G2 public-key hardware accelerator
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.4
29
**/
30
31
#ifndef _S7G2_CRYPTO_PKC_H
32
#define _S7G2_CRYPTO_PKC_H
33
34
//Dependencies
35
#include "hw_sce_private.h"
36
#include "
core/crypto.h
"
37
38
//Public-key hardware accelerator
39
#ifndef S7G2_CRYPTO_PKC_SUPPORT
40
#define S7G2_CRYPTO_PKC_SUPPORT DISABLED
41
#elif (S7G2_CRYPTO_PKC_SUPPORT != ENABLED && S7G2_CRYPTO_PKC_SUPPORT != DISABLED)
42
#error S7G2_CRYPTO_PKC_SUPPORT parameter is not valid
43
#endif
44
45
//C++ guard
46
#ifdef __cplusplus
47
extern
"C"
{
48
#endif
49
50
51
/**
52
* @brief RSA primitive arguments
53
**/
54
55
typedef
struct
56
{
57
uint32_t
n
[64];
58
uint32_t d[64];
59
uint32_t e[1];
60
uint32_t
m
[64];
61
uint32_t
c
[64];
62
uint32_t params[160];
63
}
Ra6RsaArgs
;
64
65
66
/**
67
* @brief EC primitive arguments
68
**/
69
70
typedef
struct
71
{
72
uint32_t params[48];
73
uint32_t g[24];
74
uint32_t d[12];
75
uint32_t q[24];
76
uint32_t digest[12];
77
uint32_t
r
[12];
78
uint32_t
s
[12];
79
}
Ra6EcArgs
;
80
81
82
//C++ guard
83
#ifdef __cplusplus
84
}
85
#endif
86
87
#endif
r
uint8_t r
Definition:
ndp.h:346
Ra6RsaArgs
RSA primitive arguments.
Definition:
ra6_crypto_pkc.h:56
crypto.h
General definitions for cryptographic algorithms.
Ra6EcArgs
EC primitive arguments.
Definition:
ra6_crypto_pkc.h:69
m
uint8_t m
Definition:
ndp.h:304
n
uint8_t n
Definition:
dhcpv6_common.h:416
s
uint8_t s
Definition:
igmp_common.h:234
c
uint8_t c
Definition:
ndp.h:514