Synergy Software Package User's Manual
SSP Crypto Framework Common Module Interface

Interface definition for Synergy Crypto Framework module. More...

Data Structures

struct  sf_crypto_data_handle_t
 
struct  sf_crypto_callback_args_t
 
struct  sf_crypto_cfg_t
 
struct  sf_crypto_api_t
 
struct  sf_crypto_instance_t
 

Macros

#define SF_CRYPTO_API_VERSION_MAJOR   (2U)
 

Typedefs

typedef void sf_crypto_ctrl_t
 

Enumerations

enum  sf_crypto_key_type_t {
  SF_CRYPTO_KEY_TYPE_RSA_PLAIN_TEXT, SF_CRYPTO_KEY_TYPE_RSA_CRT_PLAIN_TEXT, SF_CRYPTO_KEY_TYPE_RSA_WRAPPED, SF_CRYPTO_KEY_TYPE_AES_WRAPPED,
  SF_CRYPTO_KEY_TYPE_AES_PLAIN_TEXT, SF_CRYPTO_KEY_TYPE_ECC_PLAIN_TEXT, SF_CRYPTO_KEY_TYPE_ECC_WRAPPED, SF_CRYPTO_KEY_TYPE_ENCRYPTED_RSA_PRIVATE_KEY,
  SF_CRYPTO_KEY_TYPE_ENCRYPTED_AES_KEY, SF_CRYPTO_KEY_TYPE_ENCRYPTED_ECC_PRIVATE_KEY
}
 
enum  sf_crypto_key_size_t {
  SF_CRYPTO_KEY_SIZE_RSA_1024, SF_CRYPTO_KEY_SIZE_RSA_2048, SF_CRYPTO_KEY_SIZE_AES_128, SF_CRYPTO_KEY_SIZE_AES_XTS_128,
  SF_CRYPTO_KEY_SIZE_AES_192, SF_CRYPTO_KEY_SIZE_AES_256, SF_CRYPTO_KEY_SIZE_AES_XTS_256, SF_CRYPTO_KEY_SIZE_ECC_192,
  SF_CRYPTO_KEY_SIZE_ECC_224, SF_CRYPTO_KEY_SIZE_ECC_256, SF_CRYPTO_KEY_SIZE_ECC_384
}
 
enum  sf_crypto_state_t { SF_CRYPTO_CLOSED, SF_CRYPTO_OPENED }
 
enum  sf_crypto_event_t { SF_CRYPTO_EVENT_PROCEDURE_DONE, SF_CRYPTO_EVENT_ERROR }
 
enum  sf_crypto_close_option_t { SF_CRYPTO_CLOSE_OPTION_DEFAULT, SF_CRYPTO_CLOSE_OPTION_FORCE_CLOSE }
 

Detailed Description

Interface definition for Synergy Crypto Framework module.

Summary

This is the Interface of SF_CRYPTO Framework module.

Crypto Common Framework Interface description: Crypto Framework

Macro Definition Documentation

◆ SF_CRYPTO_API_VERSION_MAJOR

#define SF_CRYPTO_API_VERSION_MAJOR   (2U)

The API version of SSP Crypto Framework Common Module

Typedef Documentation

◆ sf_crypto_ctrl_t

typedef void sf_crypto_ctrl_t

SSP Crypto Framework Common Module control block. Allocate an instance specific control block to pass into the SSP Crypto Framework Common Module API calls.

Implemented as

Enumeration Type Documentation

◆ sf_crypto_close_option_t

SF_CRYPTO Close option. The module executes close operation if any SF_CRYPTO_XXX modules have already closed if SF_CRYPTO_CLOSE_OPTION_DEFAULT option is specified. The module performs close operation regardless of any SF_CRYPTO_XXX module status if SF_CRYPTO_CLOSE_OPTION_FORCE_CLOSE is specified.

Enumerator
SF_CRYPTO_CLOSE_OPTION_DEFAULT 

Close the module if no any SF_CRYPTO_XXX modules opened.

SF_CRYPTO_CLOSE_OPTION_FORCE_CLOSE 

Close the module regardless of SF_CRYPTO_XXX modules status.

◆ sf_crypto_event_t

Event code for the SSP Crypto Framework Common Module. This event code is all reserved for the future use.

Enumerator
SF_CRYPTO_EVENT_PROCEDURE_DONE 

Crypto hardware procedure done.

SF_CRYPTO_EVENT_ERROR 

Error occurred.

◆ sf_crypto_key_size_t

Supported key sizes

Enumerator
SF_CRYPTO_KEY_SIZE_RSA_1024 

RSA 1024-bit key.

SF_CRYPTO_KEY_SIZE_RSA_2048 

RSA 2048-bit key.

SF_CRYPTO_KEY_SIZE_AES_128 

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

SF_CRYPTO_KEY_SIZE_AES_XTS_128 

AES 128-bit key for XTS chaining mode only.

SF_CRYPTO_KEY_SIZE_AES_192 

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

SF_CRYPTO_KEY_SIZE_AES_256 

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

SF_CRYPTO_KEY_SIZE_AES_XTS_256 

AES 256-bit key for XTS chaining mode only.

SF_CRYPTO_KEY_SIZE_ECC_192 

ECC 192-bit key.

SF_CRYPTO_KEY_SIZE_ECC_224 

ECC 224-bit key.

SF_CRYPTO_KEY_SIZE_ECC_256 

ECC 256-bit key.

SF_CRYPTO_KEY_SIZE_ECC_384 

ECC 384-bit key.

◆ sf_crypto_key_type_t

Supported key types

Enumerator
SF_CRYPTO_KEY_TYPE_RSA_PLAIN_TEXT 

RSA Key pair in standard format and plain text.

SF_CRYPTO_KEY_TYPE_RSA_CRT_PLAIN_TEXT 

RSA Key pair in CRT format and plain text.

SF_CRYPTO_KEY_TYPE_RSA_WRAPPED 

RSA Key pair public key in plain text and wrapped standard format private key.

SF_CRYPTO_KEY_TYPE_AES_WRAPPED 

Wrapped AES key.

SF_CRYPTO_KEY_TYPE_AES_PLAIN_TEXT 

AES Plain text key.

SF_CRYPTO_KEY_TYPE_ECC_PLAIN_TEXT 

ECC Key pair in standard format and plain text.

SF_CRYPTO_KEY_TYPE_ECC_WRAPPED 

ECC Key pair public key in plain text and wrapped standard format private key.

SF_CRYPTO_KEY_TYPE_ENCRYPTED_RSA_PRIVATE_KEY 

RSA private key in encrypted format for installation.

SF_CRYPTO_KEY_TYPE_ENCRYPTED_AES_KEY 

AES key in encrypted format for installation.

SF_CRYPTO_KEY_TYPE_ENCRYPTED_ECC_PRIVATE_KEY 

ECC private key in encrypted format for installation.

◆ sf_crypto_state_t

State codes for the SSP Crypto Framework Common Module

Enumerator
SF_CRYPTO_CLOSED 

The module is closed.

SF_CRYPTO_OPENED 

The module is opened.