crys_rsa_types

nRF5 SDK v13.0.0

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

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)

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.