1 /*
2  * Copyright (c) 2001-2019, Arm Limited and Contributors. All rights reserved.
3  *
4  * SPDX-License-Identifier: BSD-3-Clause
5  */
6 
7 
8 #ifndef LLF_RSA_PUBLIC_H
9 #define LLF_RSA_PUBLIC_H
10 
11 /*
12  * All the includes that are needed for code using this module to
13  * compile correctly should be #included here.
14  */
15 
16 #include "cc_error.h"
17 #include "cc_rsa_types.h"
18 
19 
20 #ifdef __cplusplus
21 extern "C"
22 {
23 #endif
24 
25 
26 typedef struct {
27     /* the Barrett mod tag  NP for N-modulus - used in the modular multiplication and
28        exponentiation, calculated in CC_RsaPrivKeyBuild function */
29     uint32_t NP[CC_PKA_BARRETT_MOD_TAG_BUFF_SIZE_IN_WORDS];
30 }RsaPubKeyDb_t;
31 
32 CCError_t RsaExecPubKeyExp(CCRsaPubKey_t     *pPubKey,
33                 CCRsaPrimeData_t *pPubData );
34 
35 CCError_t RsaInitPubKeyDb(CCRsaPubKey_t *pPubKey);
36 
37 #ifdef __cplusplus
38 }
39 #endif
40 
41 #endif
42