cryptkeyrsa.h File Reference
`#include "cryptkey.h"`
`#include <gwenhywfar/cryptkeyrsa.h>`

Go to the source code of this file.

## Macros

#define | GWEN_CRYPT_KEYRSA_FLAGS_DIRECTSIGN 0x00000001
#define | GWEN_CRYPT_KEYRSA_FLAGS_ISVERIFIED 0x00000002
#define | GWEN_CRYPT_KEYRSA_MAX_KEYLENGTH 1024

## Functions

GWENHYWFAR_API void | GWEN_Crypt_KeyRsa_AddFlags (GWEN_CRYPT_KEY *k, uint32_t fl)
GWENHYWFAR_API GWEN_CRYPT_KEY * | GWEN_Crypt_KeyRsa_dup (const GWEN_CRYPT_KEY *k)
GWENHYWFAR_API GWEN_CRYPT_KEY * | GWEN_Crypt_KeyRsa_fromDb (GWEN_DB_NODE *db)
GWENHYWFAR_API GWEN_CRYPT_KEY * | GWEN_Crypt_KeyRsa_fromModExp (unsigned int nbytes, const uint8_t *pModulus, uint32_t lModulus, const uint8_t *pExponent, uint32_t lExponent)
GWENHYWFAR_API GWEN_CRYPT_KEY * | GWEN_Crypt_KeyRsa_fromModPrivExp (unsigned int nbytes, const uint8_t *pModulus, uint32_t lModulus, const uint8_t *pExponent, uint32_t lExponent, const uint8_t *pPrivExponent, uint32_t lPrivExponent)
GWENHYWFAR_API int | GWEN_Crypt_KeyRsa_GeneratePair (unsigned int nbytes, int use65537e, GWEN_CRYPT_KEY **pPubKey, GWEN_CRYPT_KEY **pSecretKey)
GWENHYWFAR_API GWEN_DEPRECATED int | GWEN_Crypt_KeyRsa_GeneratePair2 (unsigned int nbits, int use65537e, GWEN_CRYPT_KEY **pPubKey, GWEN_CRYPT_KEY **pSecretKey)
GWENHYWFAR_API int | GWEN_Crypt_KeyRsa_GetExponent (const GWEN_CRYPT_KEY *k, uint8_t *buffer, uint32_t *pBufLen)
GWENHYWFAR_API uint32_t | GWEN_Crypt_KeyRsa_GetFlags (const GWEN_CRYPT_KEY *k)
GWENHYWFAR_API int | GWEN_Crypt_KeyRsa_GetModulus (const GWEN_CRYPT_KEY *k, uint8_t *buffer, uint32_t *pBufLen)
GWENHYWFAR_API int | GWEN_Crypt_KeyRsa_GetSecretExponent (const GWEN_CRYPT_KEY *k, uint8_t *buffer, uint32_t *pBufLen)
GWENHYWFAR_API void | GWEN_Crypt_KeyRsa_SetFlags (GWEN_CRYPT_KEY *k, uint32_t fl)
GWENHYWFAR_API void | GWEN_Crypt_KeyRsa_SubFlags (GWEN_CRYPT_KEY *k, uint32_t fl)
GWENHYWFAR_API int | GWEN_Crypt_KeyRsa_toDb (const GWEN_CRYPT_KEY *k, GWEN_DB_NODE *db, int pub)

## Macro Definition Documentation

## GWEN_CRYPT_KEYRSA_FLAGS_DIRECTSIGN

#define GWEN_CRYPT_KEYRSA_FLAGS_DIRECTSIGN 0x00000001

When signing always directly use the signature, do not determine whether (sig-n) is smaller

Definition at line 22 of file cryptkeyrsa.h.

## GWEN_CRYPT_KEYRSA_FLAGS_ISVERIFIED

#define GWEN_CRYPT_KEYRSA_FLAGS_ISVERIFIED 0x00000002

Definition at line 23 of file cryptkeyrsa.h.

## GWEN_CRYPT_KEYRSA_MAX_KEYLENGTH

#define GWEN_CRYPT_KEYRSA_MAX_KEYLENGTH 1024

Definition at line 25 of file cryptkeyrsa.h.

## Function Documentation

## GWEN_Crypt_KeyRsa_AddFlags()

GWENHYWFAR_API void GWEN_Crypt_KeyRsa_AddFlags | ( | GWEN_CRYPT_KEY * | k,
|  | uint32_t | fl )

References GWENHYWFAR_API.

## GWEN_Crypt_KeyRsa_dup()

GWENHYWFAR_API GWEN_CRYPT_KEY * GWEN_Crypt_KeyRsa_dup | ( | const GWEN_CRYPT_KEY * | k | ) |

References GWENHYWFAR_API.

## GWEN_Crypt_KeyRsa_fromDb()

GWENHYWFAR_API GWEN_CRYPT_KEY * GWEN_Crypt_KeyRsa_fromDb | ( | GWEN_DB_NODE * | db | ) |

References GWENHYWFAR_API.

## GWEN_Crypt_KeyRsa_fromModExp()

GWENHYWFAR_API GWEN_CRYPT_KEY * GWEN_Crypt_KeyRsa_fromModExp | ( | unsigned int | nbytes,
|  | const uint8_t * | pModulus,
|  | uint32_t | lModulus,
|  | const uint8_t * | pExponent,
|  | uint32_t | lExponent )

References GWENHYWFAR_API.

## GWEN_Crypt_KeyRsa_fromModPrivExp()

GWENHYWFAR_API GWEN_CRYPT_KEY * GWEN_Crypt_KeyRsa_fromModPrivExp | ( | unsigned int | nbytes,
|  | const uint8_t * | pModulus,
|  | uint32_t | lModulus,
|  | const uint8_t * | pExponent,
|  | uint32_t | lExponent,
|  | const uint8_t * | pPrivExponent,
|  | uint32_t | lPrivExponent )

References GWENHYWFAR_API.

## GWEN_Crypt_KeyRsa_GeneratePair()

GWENHYWFAR_API int GWEN_Crypt_KeyRsa_GeneratePair | ( | unsigned int | nbytes,
|  | int | use65537e,
|  | GWEN_CRYPT_KEY ** | pPubKey,
|  | GWEN_CRYPT_KEY ** | pSecretKey )

Creates a key pair and returns a pointer to it.

Returns
  NULL on error, otherwise a pointer to two keys: public and private

Parameters

  nbytes | number of bytes
  use65537e | !=0: use the value 65537 for the public exponent, otherwise let the library choose the exponent by its own

References GWEN_DEPRECATED, and GWENHYWFAR_API.

## GWEN_Crypt_KeyRsa_GeneratePair2()

GWENHYWFAR_API GWEN_DEPRECATED int GWEN_Crypt_KeyRsa_GeneratePair2 | ( | unsigned int | nbits,
|  | int | use65537e,
|  | GWEN_CRYPT_KEY ** | pPubKey,
|  | GWEN_CRYPT_KEY ** | pSecretKey )

Creates a key pair and returns a pointer to it. This function allows for more precise control over the size of the created key because it lets you specify the size in bits rather than in bytes.

Returns
  NULL on error, otherwise a pointer to two keys: public and private

Parameters

  nbits | number of bits
  use65537e | !=0: use the value 65537 for the public exponent, otherwise let the library choose the exponent by its own

Deprecated
  Please use GWEN_Crypt_KeyRsa_GeneratePair instead since nbits should be a multiple of 8 anyway according to Libgcrypt.

## GWEN_Crypt_KeyRsa_GetExponent()

GWENHYWFAR_API int GWEN_Crypt_KeyRsa_GetExponent | ( | const GWEN_CRYPT_KEY * | k,
|  | uint8_t * | buffer,
|  | uint32_t * | pBufLen )

References GWENHYWFAR_API.

## GWEN_Crypt_KeyRsa_GetFlags()

GWENHYWFAR_API uint32_t GWEN_Crypt_KeyRsa_GetFlags | ( | const GWEN_CRYPT_KEY * | k | ) |

References GWENHYWFAR_API.

## GWEN_Crypt_KeyRsa_GetModulus()

GWENHYWFAR_API int GWEN_Crypt_KeyRsa_GetModulus | ( | const GWEN_CRYPT_KEY * | k,
|  | uint8_t * | buffer,
|  | uint32_t * | pBufLen )

References GWENHYWFAR_API.

## GWEN_Crypt_KeyRsa_GetSecretExponent()

GWENHYWFAR_API int GWEN_Crypt_KeyRsa_GetSecretExponent | ( | const GWEN_CRYPT_KEY * | k,
|  | uint8_t * | buffer,
|  | uint32_t * | pBufLen )

References GWENHYWFAR_API.

## GWEN_Crypt_KeyRsa_SetFlags()

GWENHYWFAR_API void GWEN_Crypt_KeyRsa_SetFlags | ( | GWEN_CRYPT_KEY * | k,
|  | uint32_t | fl )

References GWENHYWFAR_API.

## GWEN_Crypt_KeyRsa_SubFlags()

GWENHYWFAR_API void GWEN_Crypt_KeyRsa_SubFlags | ( | GWEN_CRYPT_KEY * | k,
|  | uint32_t | fl )

References GWENHYWFAR_API.

## GWEN_Crypt_KeyRsa_toDb()

GWENHYWFAR_API int GWEN_Crypt_KeyRsa_toDb | ( | const GWEN_CRYPT_KEY * | k,
|  | GWEN_DB_NODE * | db,
|  | int | pub )

References GWENHYWFAR_API.