mirror of
https://github.com/CovidBraceletPrj/CovidBracelet.git
synced 2025-01-09 20:54:26 +01:00
83 lines
2.7 KiB
C
83 lines
2.7 KiB
C
/*
|
|
* Copyright (c) 2001-2019, Arm Limited and Contributors. All rights reserved.
|
|
*
|
|
* SPDX-License-Identifier: BSD-3-Clause
|
|
*/
|
|
|
|
#ifndef MBEDTLS_RSA_ALT_H
|
|
#define MBEDTLS_RSA_ALT_H
|
|
|
|
#if defined(MBEDTLS_CONFIG_FILE)
|
|
#include MBEDTLS_CONFIG_FILE
|
|
#endif
|
|
|
|
#if defined (MBEDTLS_RSA_ALT)
|
|
|
|
#include "bignum.h"
|
|
|
|
#if defined(MBEDTLS_THREADING_C)
|
|
#include "threading.h"
|
|
#endif
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
/**
|
|
* \brief The RSA context structure.
|
|
*
|
|
* \note Direct manipulation of the members of this structure
|
|
* is deprecated. All manipulation should instead be done through
|
|
* the public interface functions.
|
|
*/
|
|
typedef struct
|
|
{
|
|
int ver; /*!< always 0 */
|
|
size_t len; /*!< size(N) in chars */
|
|
|
|
mbedtls_mpi N; /*!< public modulus */
|
|
mbedtls_mpi E; /*!< public exponent */
|
|
|
|
mbedtls_mpi D; /*!< private exponent */
|
|
mbedtls_mpi P; /*!< 1st prime factor */
|
|
mbedtls_mpi Q; /*!< 2nd prime factor */
|
|
|
|
mbedtls_mpi DP; /*!< D % (P - 1) */
|
|
mbedtls_mpi DQ; /*!< D % (Q - 1) */
|
|
mbedtls_mpi QP; /*!< 1 / (Q % P) */
|
|
|
|
mbedtls_mpi RN; /*!< cached R^2 mod N */
|
|
|
|
mbedtls_mpi RP; /*!< cached R^2 mod P */
|
|
mbedtls_mpi RQ; /*!< cached R^2 mod Q */
|
|
|
|
mbedtls_mpi Vi; /*!< cached blinding value */
|
|
mbedtls_mpi Vf; /*!< cached un-blinding value */
|
|
|
|
int padding; /*!< MBEDTLS_RSA_PKCS_V15 for 1.5 padding and
|
|
MBEDTLS_RSA_PKCS_v21 for OAEP/PSS */
|
|
int hash_id; /*!< Hash identifier of mbedtls_md_type_t as
|
|
specified in the mbedtls_md.h header file
|
|
for the EME-OAEP and EMSA-PSS
|
|
encoding */
|
|
#if defined(MBEDTLS_THREADING_C)
|
|
mbedtls_threading_mutex_t mutex; /*!< Thread-safety mutex */
|
|
#else
|
|
uint8_t dummy[8]; /*!< Ensuring same size when threading is disabled */
|
|
#endif
|
|
|
|
mbedtls_mpi NP; /*!< Barrett mod N tag NP for N-modulus */
|
|
mbedtls_mpi BQP; /*!< Barrett mod Q tag QP for Q-factor */
|
|
mbedtls_mpi BPP; /*!< Barrett mod P tag PP for P-factor */
|
|
|
|
}
|
|
mbedtls_rsa_context;
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif /* MBEDTLS_RSA_ALT */
|
|
|
|
#endif /* MBEDTLS_RSA_ALT_H */
|