Synergy Software Package User's Manual

Key Installation functions for Key Installation procedure. More...

Data Structures

struct  key_installation_key_t
 
struct  key_installation_cfg_t
 
struct  key_installation_api_t
 
struct  key_installation_instance_t
 

Macros

#define SCE_KEY_INSTALLATION_API_VERSION_MAJOR   (2U)
 
#define KEY_INSTALLATION_SESSION_KEY_SIZE_IN_WORDS   (8U)
 
#define KEY_INSTALLATION_RSA1024_MODULUS_SIZE_IN_WORDS   (32U)
 
#define KEY_INSTALLATION_RSA2048_MODULUS_SIZE_IN_WORDS   (64U)
 
#define KEY_INSTALLATION_RSA1024_ENCRYPTED_KEY_SIZE_IN_WORDS   (36U)
 
#define KEY_INSTALLATION_RSA2048_ENCRYPTED_KEY_SIZE_IN_WORDS   (68U)
 
#define KEY_INSTALLATION_RSA1024_WRAPPED_PRIVKEY_SIZE_IN_WORDS   (37U)
 
#define KEY_INSTALLATION_RSA2048_WRAPPED_PRIVKEY_SIZE_IN_WORDS   (69U)
 
#define KEY_INSTALLATION_AES128_ENCRYPTED_KEY_SIZE_IN_WORDS   (8U)
 
#define KEY_INSTALLATION_AES192_ENCRYPTED_KEY_SIZE_IN_WORDS   (12U)
 
#define KEY_INSTALLATION_AES256_ENCRYPTED_KEY_SIZE_IN_WORDS   (12U)
 
#define KEY_INSTALLATION_AES128_ENCRYPTED_XTS_KEY_SIZE_IN_WORDS   (12U)
 
#define KEY_INSTALLATION_AES256_ENCRYPTED_XTS_KEY_SIZE_IN_WORDS   (20U)
 
#define KEY_INSTALLATION_AES128_WRAPPED_KEY_SIZE_IN_WORDS   (9U)
 
#define KEY_INSTALLATION_AES192_WRAPPED_KEY_SIZE_IN_WORDS   (13U)
 
#define KEY_INSTALLATION_AES256_WRAPPED_KEY_SIZE_IN_WORDS   (13U)
 
#define KEY_INSTALLATION_AES128_WRAPPED_XTS_KEY_SIZE_IN_WORDS   (13U)
 
#define KEY_INSTALLATION_AES256_WRAPPED_XTS_KEY_SIZE_IN_WORDS   (21U)
 
#define KEY_INSTALLATION_ECC192_ENCRYPTED_KEY_SIZE_IN_WORDS   (12U)
 
#define KEY_INSTALLATION_ECC224_ENCRYPTED_KEY_SIZE_IN_WORDS   (12U)
 
#define KEY_INSTALLATION_ECC256_ENCRYPTED_KEY_SIZE_IN_WORDS   (12U)
 
#define KEY_INSTALLATION_ECC384_ENCRYPTED_KEY_SIZE_IN_WORDS   (16U)
 
#define KEY_INSTALLATION_ECC192_WRAPPED_KEY_SIZE_IN_WORDS   (13U)
 
#define KEY_INSTALLATION_ECC224_WRAPPED_KEY_SIZE_IN_WORDS   (13U)
 
#define KEY_INSTALLATION_ECC256_WRAPPED_KEY_SIZE_IN_WORDS   (13U)
 
#define KEY_INSTALLATION_ECC384_WRAPPED_KEY_SIZE_IN_WORDS   (17U)
 

Typedefs

typedef void key_installation_ctrl_t
 

Enumerations

enum  key_installation_key_format_t {
  KEY_INSTALLATION_KEY_FORMAT_ENCRYPTED_RSA_PRIVATE_KEY, KEY_INSTALLATION_KEY_FORMAT_WRAPPED_RSA_PRIVATE_KEY, KEY_INSTALLATION_KEY_FORMAT_ENCRYPTED_AES_KEY, KEY_INSTALLATION_KEY_FORMAT_WRAPPED_AES_KEY,
  KEY_INSTALLATION_KEY_FORMAT_ENCRYPTED_INSTALL_KEY, KEY_INSTALLATION_KEY_FORMAT_ENCRYPTED_ECC_PRIVATE_KEY, KEY_INSTALLATION_KEY_FORMAT_WRAPPED_ECC_PRIVATE_KEY, KEY_INSTALLATION_KEY_FORMAT_ENCRYPTED_RSA_PRIVATE_CRT_KEY,
  KEY_INSTALLATION_KEY_FORMAT_WRAPPED_RSA_PRIVATE_CRT_KEY, KEY_INSTALLATION_KEY_FORMAT_SESSION_KEY
}
 
enum  key_installation_key_size_t {
  KEY_INSTALLATION_KEY_SIZE_RSA_1024, KEY_INSTALLATION_KEY_SIZE_RSA_2048, KEY_INSTALLATION_KEY_SIZE_AES_128, KEY_INSTALLATION_KEY_SIZE_AES_XTS_128,
  KEY_INSTALLATION_KEY_SIZE_AES_192, KEY_INSTALLATION_KEY_SIZE_AES_256, KEY_INSTALLATION_KEY_SIZE_AES_XTS_256, KEY_INSTALLATION_KEY_SIZE_ENCRYPTED_INSTALL_416,
  KEY_INSTALLATION_KEY_SIZE_ECC_192, KEY_INSTALLATION_KEY_SIZE_ECC_224, KEY_INSTALLATION_KEY_SIZE_ECC_256, KEY_INSTALLATION_KEY_SIZE_ECC_384,
  KEY_INSTALLATION_KEY_SIZE_SESSION
}
 
enum  key_installation_key_shared_index_t {
  KEY_INSTALLATION_KEY_SHARED_INDEX_0, KEY_INSTALLATION_KEY_SHARED_INDEX_1, KEY_INSTALLATION_KEY_SHARED_INDEX_2, KEY_INSTALLATION_KEY_SHARED_INDEX_3,
  KEY_INSTALLATION_KEY_SHARED_INDEX_4, KEY_INSTALLATION_KEY_SHARED_INDEX_5, KEY_INSTALLATION_KEY_SHARED_INDEX_6, KEY_INSTALLATION_KEY_SHARED_INDEX_7,
  KEY_INSTALLATION_KEY_SHARED_INDEX_8, KEY_INSTALLATION_KEY_SHARED_INDEX_9, KEY_INSTALLATION_KEY_SHARED_INDEX_A, KEY_INSTALLATION_KEY_SHARED_INDEX_B,
  KEY_INSTALLATION_KEY_SHARED_INDEX_C, KEY_INSTALLATION_KEY_SHARED_INDEX_D, KEY_INSTALLATION_KEY_SHARED_INDEX_E, KEY_INSTALLATION_KEY_SHARED_INDEX_F
}
 

Detailed Description

Key Installation functions for Key Installation procedure.

Macro Definition Documentation

◆ KEY_INSTALLATION_AES128_ENCRYPTED_KEY_SIZE_IN_WORDS

#define KEY_INSTALLATION_AES128_ENCRYPTED_KEY_SIZE_IN_WORDS   (8U)

Macro definitions for AES Key sizes AES Encrypted key size in words for a 128-bit AES Key

◆ KEY_INSTALLATION_AES128_ENCRYPTED_XTS_KEY_SIZE_IN_WORDS

#define KEY_INSTALLATION_AES128_ENCRYPTED_XTS_KEY_SIZE_IN_WORDS   (12U)

AES Encrypted key size in words for a 128-bit AES Key in XTS chaining mode

◆ KEY_INSTALLATION_AES128_WRAPPED_KEY_SIZE_IN_WORDS

#define KEY_INSTALLATION_AES128_WRAPPED_KEY_SIZE_IN_WORDS   (9U)

AES Wrapped (output) key size in words for a 128-bit AES Key

◆ KEY_INSTALLATION_AES128_WRAPPED_XTS_KEY_SIZE_IN_WORDS

#define KEY_INSTALLATION_AES128_WRAPPED_XTS_KEY_SIZE_IN_WORDS   (13U)

AES Wrapped (output) key size in words for a 128-bit AES Key in XTS chaining mode

◆ KEY_INSTALLATION_AES192_ENCRYPTED_KEY_SIZE_IN_WORDS

#define KEY_INSTALLATION_AES192_ENCRYPTED_KEY_SIZE_IN_WORDS   (12U)

AES Encrypted key size in words for a 192-bit AES Key

◆ KEY_INSTALLATION_AES192_WRAPPED_KEY_SIZE_IN_WORDS

#define KEY_INSTALLATION_AES192_WRAPPED_KEY_SIZE_IN_WORDS   (13U)

AES Wrapped (output) key size in words for a 192-bit AES Key

◆ KEY_INSTALLATION_AES256_ENCRYPTED_KEY_SIZE_IN_WORDS

#define KEY_INSTALLATION_AES256_ENCRYPTED_KEY_SIZE_IN_WORDS   (12U)

AES Encrypted key size in words for a 256-bit AES Key

◆ KEY_INSTALLATION_AES256_ENCRYPTED_XTS_KEY_SIZE_IN_WORDS

#define KEY_INSTALLATION_AES256_ENCRYPTED_XTS_KEY_SIZE_IN_WORDS   (20U)

AES Encrypted key size in words for a 256-bit AES Key in XTS chaining mode

◆ KEY_INSTALLATION_AES256_WRAPPED_KEY_SIZE_IN_WORDS

#define KEY_INSTALLATION_AES256_WRAPPED_KEY_SIZE_IN_WORDS   (13U)

AES Wrapped (output) key size in words for a 256-bit AES Key

◆ KEY_INSTALLATION_AES256_WRAPPED_XTS_KEY_SIZE_IN_WORDS

#define KEY_INSTALLATION_AES256_WRAPPED_XTS_KEY_SIZE_IN_WORDS   (21U)

AES Wrapped (output) key size in words for a 256-bit AES Key in XTS chaining mode

◆ KEY_INSTALLATION_ECC192_ENCRYPTED_KEY_SIZE_IN_WORDS

#define KEY_INSTALLATION_ECC192_ENCRYPTED_KEY_SIZE_IN_WORDS   (12U)

Macro definitions for ECC Key sizes ECC Encrypted key size in words for a 192-bit ECC Key

◆ KEY_INSTALLATION_ECC192_WRAPPED_KEY_SIZE_IN_WORDS

#define KEY_INSTALLATION_ECC192_WRAPPED_KEY_SIZE_IN_WORDS   (13U)

ECC Wrapped (output) key size in words for a 192-bit ECC Key

◆ KEY_INSTALLATION_ECC224_ENCRYPTED_KEY_SIZE_IN_WORDS

#define KEY_INSTALLATION_ECC224_ENCRYPTED_KEY_SIZE_IN_WORDS   (12U)

ECC Encrypted key size in words for a 224-bit ECC Key

◆ KEY_INSTALLATION_ECC224_WRAPPED_KEY_SIZE_IN_WORDS

#define KEY_INSTALLATION_ECC224_WRAPPED_KEY_SIZE_IN_WORDS   (13U)

ECC Wrapped (output) key size in words for a 224-bit ECC Key

◆ KEY_INSTALLATION_ECC256_ENCRYPTED_KEY_SIZE_IN_WORDS

#define KEY_INSTALLATION_ECC256_ENCRYPTED_KEY_SIZE_IN_WORDS   (12U)

ECC Encrypted key size in words for 256-bit ECC Key

◆ KEY_INSTALLATION_ECC256_WRAPPED_KEY_SIZE_IN_WORDS

#define KEY_INSTALLATION_ECC256_WRAPPED_KEY_SIZE_IN_WORDS   (13U)

ECC Wrapped (output) key size in words for a 256-bit ECC Key

◆ KEY_INSTALLATION_ECC384_ENCRYPTED_KEY_SIZE_IN_WORDS

#define KEY_INSTALLATION_ECC384_ENCRYPTED_KEY_SIZE_IN_WORDS   (16U)

ECC Encrypted key size in words for a 384-bit ECC Key

◆ KEY_INSTALLATION_ECC384_WRAPPED_KEY_SIZE_IN_WORDS

#define KEY_INSTALLATION_ECC384_WRAPPED_KEY_SIZE_IN_WORDS   (17U)

ECC Wrapped (output) key size in words for a 384-bit ECC Key

◆ KEY_INSTALLATION_RSA1024_ENCRYPTED_KEY_SIZE_IN_WORDS

#define KEY_INSTALLATION_RSA1024_ENCRYPTED_KEY_SIZE_IN_WORDS   (36U)

RSA Encrypted key size in words for a 1024-bit RSA (private) Key

◆ KEY_INSTALLATION_RSA1024_MODULUS_SIZE_IN_WORDS

#define KEY_INSTALLATION_RSA1024_MODULUS_SIZE_IN_WORDS   (32U)

Macro definitions for RSA Key sizes RSA Modulus size in words for a 1024-bit RSA Key

◆ KEY_INSTALLATION_RSA1024_WRAPPED_PRIVKEY_SIZE_IN_WORDS

#define KEY_INSTALLATION_RSA1024_WRAPPED_PRIVKEY_SIZE_IN_WORDS   (37U)

RSA Wrapped (output) private key size in words for a 1024-bit RSA Key

◆ KEY_INSTALLATION_RSA2048_ENCRYPTED_KEY_SIZE_IN_WORDS

#define KEY_INSTALLATION_RSA2048_ENCRYPTED_KEY_SIZE_IN_WORDS   (68U)

RSA Encrypted key size in words for a 2048-bit RSA (private) Key

◆ KEY_INSTALLATION_RSA2048_MODULUS_SIZE_IN_WORDS

#define KEY_INSTALLATION_RSA2048_MODULUS_SIZE_IN_WORDS   (64U)

RSA Modulus size in words for a 2048-bit RSA Key

◆ KEY_INSTALLATION_RSA2048_WRAPPED_PRIVKEY_SIZE_IN_WORDS

#define KEY_INSTALLATION_RSA2048_WRAPPED_PRIVKEY_SIZE_IN_WORDS   (69U)

RSA Wrapped (output) private key size in words for a 2048-bit RSA Key

◆ KEY_INSTALLATION_SESSION_KEY_SIZE_IN_WORDS

#define KEY_INSTALLATION_SESSION_KEY_SIZE_IN_WORDS   (8U)

Macro definitions for universal KeyInstall Session/ IV Key sizes

◆ SCE_KEY_INSTALLATION_API_VERSION_MAJOR

#define SCE_KEY_INSTALLATION_API_VERSION_MAJOR   (2U)

Register definitions, common services and error codes.

Typedef Documentation

◆ key_installation_ctrl_t

Key Installation control block. Allocate using driver instance control structure from driver instance header file.

Enumeration Type Documentation

◆ key_installation_key_format_t

A structure to handle data for Key Installation module operation Supported key format definitions

Enumerator
KEY_INSTALLATION_KEY_FORMAT_ENCRYPTED_RSA_PRIVATE_KEY 

Encrypted RSA Private key.

KEY_INSTALLATION_KEY_FORMAT_WRAPPED_RSA_PRIVATE_KEY 

RSA Private Key wrapped.

KEY_INSTALLATION_KEY_FORMAT_ENCRYPTED_AES_KEY 

Encrypted AES Private key.

KEY_INSTALLATION_KEY_FORMAT_WRAPPED_AES_KEY 

AES Private Key wrapped.

KEY_INSTALLATION_KEY_FORMAT_ENCRYPTED_INSTALL_KEY 

TO BE REMOVED w/ RSA/ ECC MODS.

KEY_INSTALLATION_KEY_FORMAT_ENCRYPTED_ECC_PRIVATE_KEY 

Encrypted ECC Private key.

KEY_INSTALLATION_KEY_FORMAT_WRAPPED_ECC_PRIVATE_KEY 

ECC Private Key wrapped.

KEY_INSTALLATION_KEY_FORMAT_ENCRYPTED_RSA_PRIVATE_CRT_KEY 

Encrypted RSA Private CRT key.

KEY_INSTALLATION_KEY_FORMAT_WRAPPED_RSA_PRIVATE_CRT_KEY 

RSA Private CRT Key wrapped.

KEY_INSTALLATION_KEY_FORMAT_SESSION_KEY 

Session key for keyInstall API.

◆ key_installation_key_shared_index_t

Supported Shared Key Index values (for keyInstall)

Enumerator
KEY_INSTALLATION_KEY_SHARED_INDEX_0 

Shared Key Index 0.

KEY_INSTALLATION_KEY_SHARED_INDEX_1 

Shared Key Index 1.

KEY_INSTALLATION_KEY_SHARED_INDEX_2 

Shared Key Index 2.

KEY_INSTALLATION_KEY_SHARED_INDEX_3 

Shared Key Index 3.

KEY_INSTALLATION_KEY_SHARED_INDEX_4 

Shared Key Index 4.

KEY_INSTALLATION_KEY_SHARED_INDEX_5 

Shared Key Index 5.

KEY_INSTALLATION_KEY_SHARED_INDEX_6 

Shared Key Index 6.

KEY_INSTALLATION_KEY_SHARED_INDEX_7 

Shared Key Index 7.

KEY_INSTALLATION_KEY_SHARED_INDEX_8 

Shared Key Index 8.

KEY_INSTALLATION_KEY_SHARED_INDEX_9 

Shared Key Index 9.

KEY_INSTALLATION_KEY_SHARED_INDEX_A 

Shared Key Index 10.

KEY_INSTALLATION_KEY_SHARED_INDEX_B 

Shared Key Index 11.

KEY_INSTALLATION_KEY_SHARED_INDEX_C 

Shared Key Index 12.

KEY_INSTALLATION_KEY_SHARED_INDEX_D 

Shared Key Index 13.

KEY_INSTALLATION_KEY_SHARED_INDEX_E 

Shared Key Index 14.

KEY_INSTALLATION_KEY_SHARED_INDEX_F 

Shared Key Index 15.

◆ key_installation_key_size_t

Supported key sizes

Enumerator
KEY_INSTALLATION_KEY_SIZE_RSA_1024 

RSA 1024-bit key.

KEY_INSTALLATION_KEY_SIZE_RSA_2048 

RSA 2048-bit key.

KEY_INSTALLATION_KEY_SIZE_AES_128 

AES 128-bit key for CBC, CTR, ECB, GCM chaining modes.

KEY_INSTALLATION_KEY_SIZE_AES_XTS_128 

AES 128-bit key for XTS chaining mode only.

KEY_INSTALLATION_KEY_SIZE_AES_192 

AES 192-bit key for CBC, CTR, ECB, GCM chaining modes.

KEY_INSTALLATION_KEY_SIZE_AES_256 

AES 256-bit key for CBC, CTR, ECB, GCM chaining modes.

KEY_INSTALLATION_KEY_SIZE_AES_XTS_256 

AES 256-bit key for XTS chaining mode only.

KEY_INSTALLATION_KEY_SIZE_ENCRYPTED_INSTALL_416 

Renesas provided install key size.

KEY_INSTALLATION_KEY_SIZE_ECC_192 

ECC 192-bit key.

KEY_INSTALLATION_KEY_SIZE_ECC_224 

ECC 224-bit key.

KEY_INSTALLATION_KEY_SIZE_ECC_256 

ECC 256-bit key.

KEY_INSTALLATION_KEY_SIZE_ECC_384 

ECC 384-bit key.

KEY_INSTALLATION_KEY_SIZE_SESSION 

Session Key size for all operations.