Constants#

This section provides a reference to the Common Crypto API constants.

Enumerations#

enum
SL_SI91X_KEY_SLOT_1 = 1
SL_SI91X_KEY_SLOT_2
}

Enumeration defining different key slots for built-in keys supported by the SI91X device.

enum
SL_SI91X_KEY_SIZE_1 = 32
SL_SI91X_KEY_SIZE_2 = 96
}

Enumeration defining different key sizes for built-in keys supported by the SI91X device.

enum
SL_SI91X_TRANSPARENT_KEY = 0
SL_SI91X_WRAPPED_KEY
SL_SI91X_BUILT_IN_KEY
}

Enumeration defining keys supported by the SI91X device.

enum
SL_SI91X_WRAP_IV_ECB_MODE = 0
SL_SI91X_WRAP_IV_CBC_MODE
}

Enumeration defining Wrap IV modes supported by the SI91X device.

enum
AES = 2
SHA = 4
HMAC_SHA = 5
DH = 14
ECDH = 15
SHA3 = 16
CHACHAPOLY = 17
GCM = 18
WRAP = 20
TRNG = 21
CCM = 31
ECDSA = 32
}

Enumeration defining crypto algorithms supported by the SI91X device.

Macros#

#define

Maximum length of the message in bytes that can be handled in one go.

#define

Maximum length of the CCM message in bytes that can be handled in one go.

#define

Maximum length of the CHACHAPOLY message in bytes that can be handled in one go.

#define

Length of the initialization vector in bytes.

#define

Key size in bytes.

#define

Wrap Key size in bytes.

#define

Maximum length of the ECDSA message in bytes that can be handled in one go.

#define

Indicator to pinpoint the first data segment undergoing processing within the API.

#define

Indicator to pinpoint the middle data segment undergoing processing within the API.

#define
LAST_CHUNK BIT(2)

Indicator to pinpoint the last data segment undergoing processing within the API.

Enumeration Documentation#

sl_si91x_crypto_key_slot_t#

sl_si91x_crypto_key_slot_t

Enumeration defining different key slots for built-in keys supported by the SI91X device.

This enumeration defines different key slots for built-in keys supported by the SI91X device.

Enumerator
SL_SI91X_KEY_SLOT_1

M4 OTA key slot.

SL_SI91X_KEY_SLOT_2

M4 Public key slot.


Definition at line 96 of file components/device/silabs/si91x/wireless/crypto/inc/sl_si91x_crypto.h

sl_si91x_crypto_key_size_t#

sl_si91x_crypto_key_size_t

Enumeration defining different key sizes for built-in keys supported by the SI91X device.

This enumeration defines different key sizes for built-in keys supported by the SI91X device, such as 32, and 96 bytes.

Enumerator
SL_SI91X_KEY_SIZE_1

M4 OTA key size.

SL_SI91X_KEY_SIZE_2

M4 Public key size.


Definition at line 107 of file components/device/silabs/si91x/wireless/crypto/inc/sl_si91x_crypto.h

sl_si91x_crypto_key_type_t#

sl_si91x_crypto_key_type_t

Enumeration defining keys supported by the SI91X device.

This enumeration defines different keys supported by the SI91X device, such as transparent key, wrapped key, and built-in keys.

Enumerator
SL_SI91X_TRANSPARENT_KEY

Plain key.

SL_SI91X_WRAPPED_KEY

Wrapped version of the plain key. To use the wrapped keys, security should be enabled in the module.

SL_SI91X_BUILT_IN_KEY

Firmware built-in keys.


Definition at line 118 of file components/device/silabs/si91x/wireless/crypto/inc/sl_si91x_crypto.h

sl_si91x_crypto_wrap_mode_t#

sl_si91x_crypto_wrap_mode_t

Enumeration defining Wrap IV modes supported by the SI91X device.

This enumeration defines different modes supported by the SI91X device during the WRAP process, such as ECB and CBC modes.

Enumerator
SL_SI91X_WRAP_IV_ECB_MODE

Wrap IV using ECB mode.

SL_SI91X_WRAP_IV_CBC_MODE

Wrap IV using CBC mode.


Definition at line 130 of file components/device/silabs/si91x/wireless/crypto/inc/sl_si91x_crypto.h

sl_si91x_crypto_algorithm_type_t#

sl_si91x_crypto_algorithm_type_t

Enumeration defining crypto algorithms supported by the SI91X device.

This enumeration defines different crypto algorithms supported by the SI91X device, including AES, SHA, HMAC_SHA, ECDH, and so on.

Enumerator
AES

AES.

SHA

SHA.

HMAC_SHA

HMAC.

DH

DH.

ECDH

ECDH.

SHA3

SHA3.

CHACHAPOLY

CHACHAPOLY.

GCM

GCM.

WRAP

WRAP.

TRNG

TRNG.

CCM

CCM.

ECDSA

ECDSA.


Definition at line 141 of file components/device/silabs/si91x/wireless/crypto/inc/sl_si91x_crypto.h

Macro Definition Documentation#

SL_SI91X_MAX_DATA_SIZE_IN_BYTES#

#define SL_SI91X_MAX_DATA_SIZE_IN_BYTES
Value:
1400

Maximum length of the message in bytes that can be handled in one go.


Definition at line 44 of file components/device/silabs/si91x/wireless/crypto/inc/sl_si91x_crypto.h

SL_SI91X_MAX_DATA_SIZE_IN_BYTES_FOR_CCM#

#define SL_SI91X_MAX_DATA_SIZE_IN_BYTES_FOR_CCM
Value:
1200

Maximum length of the CCM message in bytes that can be handled in one go.


Definition at line 49 of file components/device/silabs/si91x/wireless/crypto/inc/sl_si91x_crypto.h

SL_SI91X_MAX_DATA_SIZE_IN_BYTES_FOR_CHACHAPOLY#

#define SL_SI91X_MAX_DATA_SIZE_IN_BYTES_FOR_CHACHAPOLY
Value:
1200

Maximum length of the CHACHAPOLY message in bytes that can be handled in one go.


Definition at line 54 of file components/device/silabs/si91x/wireless/crypto/inc/sl_si91x_crypto.h

SL_SI91X_IV_SIZE#

#define SL_SI91X_IV_SIZE
Value:
16

Length of the initialization vector in bytes.


Definition at line 59 of file components/device/silabs/si91x/wireless/crypto/inc/sl_si91x_crypto.h

SL_SI91X_KEY_BUFFER_SIZE#

#define SL_SI91X_KEY_BUFFER_SIZE
Value:
32

Key size in bytes.


Definition at line 64 of file components/device/silabs/si91x/wireless/crypto/inc/sl_si91x_crypto.h

SL_SI91X_WRAP_KEY_BUFFER_SIZE#

#define SL_SI91X_WRAP_KEY_BUFFER_SIZE
Value:
1400

Wrap Key size in bytes.


Definition at line 69 of file components/device/silabs/si91x/wireless/crypto/inc/sl_si91x_crypto.h

SL_SI91X_MAX_DATA_SIZE_IN_BYTES_FOR_ECDSA#

#define SL_SI91X_MAX_DATA_SIZE_IN_BYTES_FOR_ECDSA
Value:
1000

Maximum length of the ECDSA message in bytes that can be handled in one go.


Definition at line 74 of file components/device/silabs/si91x/wireless/crypto/inc/sl_si91x_crypto.h

FIRST_CHUNK#

#define FIRST_CHUNK
Value:
BIT(0)

Indicator to pinpoint the first data segment undergoing processing within the API.


Definition at line 79 of file components/device/silabs/si91x/wireless/crypto/inc/sl_si91x_crypto.h

MIDDLE_CHUNK#

#define MIDDLE_CHUNK
Value:
BIT(1)

Indicator to pinpoint the middle data segment undergoing processing within the API.


Definition at line 84 of file components/device/silabs/si91x/wireless/crypto/inc/sl_si91x_crypto.h

LAST_CHUNK#

#define LAST_CHUNK
Value:
BIT(2)

Indicator to pinpoint the last data segment undergoing processing within the API.


Definition at line 89 of file components/device/silabs/si91x/wireless/crypto/inc/sl_si91x_crypto.h