SemiDrive SSDK Appication Program Interface PTG3.0
rsa.h
Go to the documentation of this file.
1/*****************************************************************************
2 *
3 *
4 *Copyright (c) 2021-2029 Semidrive Incorporated. All rights reserved.
5 *Software License Agreement
6 *
7 ******************************************************************************
8 */
9#ifndef RSA_H
10#define RSA_H
11
12#ifdef __cplusplus
13extern "C" {
14#endif
15
16#include <pke.h>
17
18/*RSA return code*/
24};
25
26uint32_t RSA_ModExp(uint32_t *a, uint32_t *e, uint32_t *n, uint32_t *out,
27 uint32_t eBitLen, uint32_t nBitLen);
28
29uint32_t RSA_CRTModExp(uint32_t *a, uint32_t *p, uint32_t *q, uint32_t *dp,
30 uint32_t *dq, uint32_t *u, uint32_t *out,
31 uint32_t nBitLen);
32
33uint32_t RSA_GetKey(uint32_t *e, uint32_t *d, uint32_t *n, uint32_t eBitLen,
34 uint32_t nBitLen);
35
36uint32_t RSA_GetCRTKey(uint32_t *e, uint32_t *p, uint32_t *q, uint32_t *dp,
37 uint32_t *dq, uint32_t *u, uint32_t *n, uint32_t eBitLen,
38 uint32_t nBitLen);
39
40#ifdef PKE_SEC
41
42#define RSA_SEC
43#ifdef RSA_SEC
44
45/*RSA SEC return code*/
46enum RSA_RET_CODE_S { RSA_SUCCESS_S = 0x3AEBA318, RSA_ERROR_S = 0x45DF3DAE };
47
48uint32_t RSA_ModExp_with_pub(uint32_t *a, uint32_t *e, uint32_t *d, uint32_t *n,
49 uint32_t *out, uint32_t eBitLen, uint32_t nBitLen);
50
51uint32_t RSA_CRTModExp_with_pub(uint32_t *a, uint32_t *p, uint32_t *q,
52 uint32_t *dp, uint32_t *dq, uint32_t *u,
53 uint32_t *e, uint32_t *out, uint32_t eBitLen,
54 uint32_t nBitLen);
55
56#endif
57#endif
58
59#ifdef __cplusplus
60}
61#endif
62
63#endif
unsigned char u[1]
Definition: logo_rgb565.h:32916
Semidrive CRYPTO pke header file.
@ PKE_SUCCESS
Definition: pke.h:101
uint32_t RSA_CRTModExp(uint32_t *a, uint32_t *p, uint32_t *q, uint32_t *dp, uint32_t *dq, uint32_t *u, uint32_t *out, uint32_t nBitLen)
uint32_t RSA_ModExp(uint32_t *a, uint32_t *e, uint32_t *n, uint32_t *out, uint32_t eBitLen, uint32_t nBitLen)
uint32_t RSA_GetCRTKey(uint32_t *e, uint32_t *p, uint32_t *q, uint32_t *dp, uint32_t *dq, uint32_t *u, uint32_t *n, uint32_t eBitLen, uint32_t nBitLen)
RSA_RET_CODE
Definition: rsa.h:19
@ RSA_INPUT_TOO_LONG
Definition: rsa.h:22
@ RSA_SUCCESS
Definition: rsa.h:20
@ RSA_BUFFER_NULL
Definition: rsa.h:21
@ RSA_INPUT_INVALID
Definition: rsa.h:23
uint32_t RSA_GetKey(uint32_t *e, uint32_t *d, uint32_t *n, uint32_t eBitLen, uint32_t nBitLen)