nRF5 SDK v13.0.0
Data Structures | Macros | Typedefs | Enumerations
crys_rsa_types

This file contains all of the enums and definitions that are used for the CRYS RSA APIs. More...

Data Structures

struct  CRYSRSAPubKey_t
 
struct  CRYS_RSAUserPubKey_t
 
struct  CRYSRSAPrivNonCRTKey_t
 
struct  CRYSRSAPrivCRTKey_t
 
struct  CRYSRSAPrivKey_t
 
struct  CRYS_RSAUserPrivKey_t
 
struct  CRYS_RSAPrimeData_t
 
union  CRYS_RSAKGData_t
 
struct  RSAPrivContext_t
 
struct  CRYS_RSAPrivUserContext_t
 
struct  RSAPubContext_t
 
struct  CRYS_RSAPubUserContext_t
 
struct  CRYS_RSAKGFipsContext_t
 
struct  CRYS_RSAFipsKatContext_t
 

Macros

#define CRYS_PKA_RSA_HASH_CTX_SIZE_IN_WORDS   CRYS_HASH_USER_CTX_SIZE_IN_WORDS
 
#define CRYS_RSA_MAX_VALID_KEY_SIZE_VALUE_IN_BYTES   (CRYS_RSA_MAX_VALID_KEY_SIZE_VALUE_IN_BITS / SASI_BITS_IN_BYTE)
 
#define CRYS_RSA_MIN_VALID_KEY_SIZE_VALUE_IN_BITS   512
 
#define CRYS_RSA_VALID_KEY_SIZE_MULTIPLE_VALUE_IN_BITS   256
 
#define CRYS_RSA_MAX_KEY_GENERATION_SIZE_BITS   CRYS_RSA_MAX_KEY_GENERATION_HW_SIZE_BITS
 
#define CRYS_RSA_FIPS_KEY_SIZE_1024_BITS   1024
 
#define CRYS_RSA_FIPS_KEY_SIZE_2048_BITS   2048
 
#define CRYS_RSA_FIPS_KEY_SIZE_3072_BITS   3072
 
#define CRYS_RSA_FIPS_MODULUS_SIZE_BITS   CRYS_RSA_FIPS_KEY_SIZE_2048_BITS
 
#define CRYS_DH_FIPS_KEY_SIZE_1024_BITS   1024
 
#define CRYS_DH_FIPS_KEY_SIZE_2048_BITS   2048
 
#define CRYS_RSA_VERIFY_SALT_LENGTH_UNKNOWN   0xFFFF
 
#define CRYS_RSA_MIN_PUB_EXP_VALUE   3
 
#define CRYS_RSA_MIN_PRIV_EXP_VALUE   1
 
#define CRYS_RSA_TMP_BUFF_SIZE   (CRYS_RSA_OAEP_ENCODE_MAX_MASKDB_SIZE + CRYS_RSA_OAEP_ENCODE_MAX_SEEDMASK_SIZE + CRYS_PKA_RSA_HASH_CTX_SIZE_IN_WORDS*sizeof(uint32_t) + sizeof(CRYS_HASH_Result_t))
 
#define CRYS_PKCS1_HashFunc_t   CRYS_HASH_OperationMode_t
 
#define CRYS_RSA_OAEP_MAX_HLEN   CRYS_HASH_SHA512_DIGEST_SIZE_IN_BYTES
 
#define CRYS_RSA_MGF_2_POWER_32   65535
 
#define CRYS_RSA_SIZE_OF_T_STRING_BYTES   (CRYS_RSA_MAXIMUM_MOD_BUFFER_SIZE_IN_WORDS*sizeof(uint32_t))
 
#define CRYS_RSA_OAEP_ENCODE_MAX_SEEDMASK_SIZE   CRYS_RSA_OAEP_MAX_HLEN
 
#define CRYS_RSA_PSS_SALT_LENGTH   CRYS_RSA_OAEP_MAX_HLEN
 
#define CRYS_RSA_PSS_PAD1_LEN   8
 
#define CRYS_RSA_OAEP_ENCODE_MAX_MASKDB_SIZE   (CRYS_RSA_MAXIMUM_MOD_BUFFER_SIZE_IN_WORDS*sizeof(uint32_t))
 
#define CRYS_RSA_OAEP_DECODE_MAX_DBMASK_SIZE   (CRYS_RSA_MAXIMUM_MOD_BUFFER_SIZE_IN_WORDS*sizeof(uint32_t))
 
#define CRYS_RSA_SIZE_IN_WORDS_OF_CRYSRSAPrivCRTKey_t   (CRYS_RSA_MAXIMUM_MOD_BUFFER_SIZE_IN_WORDS*7/2 + 5)
 

Typedefs

typedef struct CRYS_RSAUserPubKey_t CRYS_RSAUserPubKey_t
 
typedef struct
CRYS_RSAUserPrivKey_t 
CRYS_RSAUserPrivKey_t
 
typedef struct CRYS_RSAPrimeData_t CRYS_RSAPrimeData_t
 
typedef union CRYS_RSAKGData_t CRYS_RSAKGData_t
 
typedef struct
CRYS_RSAPrivUserContext_t 
CRYS_RSAPrivUserContext_t
 
typedef struct
CRYS_RSAPubUserContext_t 
CRYS_RSAPubUserContext_t
 
typedef struct
CRYS_RSAKGFipsContext_t 
CRYS_RSAKGFipsContext_t
 
typedef struct
CRYS_RSAFipsKatContext_t 
CRYS_RSAFipsKatContext_t
 

Enumerations

enum  CRYS_RSA_HASH_OpMode_t {
  CRYS_RSA_HASH_MD5_mode = 0,
  CRYS_RSA_HASH_SHA1_mode = 1,
  CRYS_RSA_HASH_SHA224_mode = 2,
  CRYS_RSA_HASH_SHA256_mode = 3,
  CRYS_RSA_HASH_SHA384_mode = 4,
  CRYS_RSA_HASH_SHA512_mode = 5,
  CRYS_RSA_After_MD5_mode = 6,
  CRYS_RSA_After_SHA1_mode = 7,
  CRYS_RSA_After_SHA224_mode = 8,
  CRYS_RSA_After_SHA256_mode = 9,
  CRYS_RSA_After_SHA384_mode = 10,
  CRYS_RSA_After_SHA512_mode = 11,
  CRYS_RSA_After_HASH_NOT_KNOWN_mode = 12,
  CRYS_RSA_HASH_NO_HASH_mode = 13,
  CRYS_RSA_HASH_NumOfModes,
  CRYS_RSA_HASH_OpModeLast = 0x7FFFFFFF
}
 
enum  CRYS_RSA_DecryptionMode_t {
  CRYS_RSA_NoCrt = 10,
  CRYS_RSA_Crt = 11,
  CRYS_RSADecryptionNumOfOptions,
  CRYS_RSA_DecryptionModeLast = 0x7FFFFFFF
}
 
enum  CRYS_RSA_KeySource_t {
  CRYS_RSA_ExternalKey = 1,
  CRYS_RSA_InternalKey = 2,
  CRYS_RSA_KeySourceLast = 0x7FFFFFFF
}
 
enum  CRYS_PKCS1_MGF_t {
  CRYS_PKCS1_MGF1 = 0,
  CRYS_PKCS1_NO_MGF = 1,
  CRYS_RSA_NumOfMGFFunctions,
  CRYS_PKCS1_MGFLast = 0x7FFFFFFF
}
 
enum  CRYS_PKCS1_version {
  CRYS_PKCS1_VER15 = 0,
  CRYS_PKCS1_VER21 = 1,
  CRYS_RSA_NumOf_PKCS1_versions,
  CRYS_PKCS1_versionLast = 0x7FFFFFFF
}
 
enum  CRYS_RSA_DH_PrimeTestMode_t {
  CRYS_RSA_PRIME_TEST_MODE = 0,
  CRYS_DH_PRIME_TEST_MODE = 1,
  CRYS_RSA_DH_PRIME_TEST_OFF_MODE
}
 

Detailed Description

This file contains all of the enums and definitions that are used for the CRYS RSA APIs.

Typedef Documentation

Required for internal FIPS verification for RSA KAT. * The RSA KAT tests defined for scheme 2.1 with modulus key size of 2048.

Required for internal FIPS verification for RSA key generation.

Temporary buffers for RSA usage.

Temporary buffers for the RSA usage.

The private key's user structure prototype.

The public key's user structure prototype.

Enumeration Type Documentation

MGF values.

Defines the enum of the various PKCS1 versions.

Defines the enum of the RSA decryption mode.

Defines the enum for the HASH operation mode.

Enumerator
CRYS_RSA_HASH_MD5_mode 

MD5 mode for PKCS1 v1.5 only.

CRYS_RSA_HASH_SHA1_mode 

HASH SHA1.

CRYS_RSA_HASH_SHA224_mode 

HASH SHA224.

CRYS_RSA_HASH_SHA256_mode 

HASH SHA256.

CRYS_RSA_HASH_SHA384_mode 

HASH SHA384.

CRYS_RSA_HASH_SHA512_mode 

HASH SHA512.

CRYS_RSA_After_MD5_mode 

For PKCS1 v1.5 only when the data is already hashed with MD5.

CRYS_RSA_After_SHA1_mode 

To be used when the data is already hashed with SHA1.

CRYS_RSA_After_SHA224_mode 

To be used when the data is already hashed with SHA224.

CRYS_RSA_After_SHA256_mode 

To be used when the data is already hashed with SHA256.

CRYS_RSA_After_SHA384_mode 

To be used when the data is already hashed with SHA384.

CRYS_RSA_After_SHA512_mode 

To be used when the data is already hashed with SHA512.

CRYS_RSA_HASH_NO_HASH_mode 

Used for PKCS1 v1.5 Encrypt and Decrypt.


Documentation feedback | Developer Zone | Subscribe | Updated