SmartSnippets DA1459x SDK
Files | Data Structures | Macros | Enumerations

Files

file  suota.h
 SUOTA structure definitions.
 
file  suota_security_ext.h
 SUOTA security extension definitions.
 

Data Structures

struct  __attribute__
 
struct  suota_1_1_product_header_t
 SUOTA 1.1 product header as defined by Dialog SUOTA specification. More...
 
struct  suota_1_1_image_header_t
 SUOTA 1.1 image header as defined by Dialog SUOTA specification. More...
 
struct  suota_1_1_image_header_da1469x_t
 SUOTA 1.1 image header for DA1469x devices. More...
 

Macros

#define SECURITY_HDR_TYPE_SECURITY_SECTION   0x22AA
 
#define SECURITY_HDR_TYPE_SIGNATURE_SECTION   0x33AA
 
#define SECURITY_HDR_TYPE_DEVICE_ADMIN_SECTION   0x44AA
 
#define SECURITY_HDR_TYPE_KEY_REVOCATION_RECORD   0x55AA
 
#define SECURITY_HDR_TYPE_FW_VERSION_NUMBER   0x66AA
 
#define SECURITY_HDR_TYPE_ROLLBACK_PREVENTION_SEGMENT   0x77AA
 

Enumerations

enum  __attribute__ {
  SECURITY_HDR_MODE_ECDSA = 0x01, SECURITY_HDR_MODE_EDDSA, SECURITY_HDR_ECC_CURVE_SECP192R1 = 0x01, SECURITY_HDR_ECC_CURVE_SECP224R1,
  SECURITY_HDR_ECC_CURVE_SECP256R1, SECURITY_HDR_ECC_CURVE_EDWARDS25519, SECURITY_HDR_HASH_SHA_224 = 0x01, SECURITY_HDR_HASH_SHA_256,
  SECURITY_HDR_HASH_SHA_384, SECURITY_HDR_HASH_SHA_512, SECURITY_HDR_KEY_TYPE_SIGNATURE = 0xA1, SECURITY_HDR_KEY_TYPE_DECRYPTION = 0xA2,
  SECURITY_HDR_KEY_TYPE_USER_DATA = 0xA3, SECURITY_HDR_KEY_TYPE_PUBLIC = 0xA4, SECURITY_HDR_KEY_TYPE_SYMMETRIC = 0xA5
}
 
enum  __attribute__ {
  SECURITY_HDR_MODE_ECDSA = 0x01, SECURITY_HDR_MODE_EDDSA, SECURITY_HDR_ECC_CURVE_SECP192R1 = 0x01, SECURITY_HDR_ECC_CURVE_SECP224R1,
  SECURITY_HDR_ECC_CURVE_SECP256R1, SECURITY_HDR_ECC_CURVE_EDWARDS25519, SECURITY_HDR_HASH_SHA_224 = 0x01, SECURITY_HDR_HASH_SHA_256,
  SECURITY_HDR_HASH_SHA_384, SECURITY_HDR_HASH_SHA_512, SECURITY_HDR_KEY_TYPE_SIGNATURE = 0xA1, SECURITY_HDR_KEY_TYPE_DECRYPTION = 0xA2,
  SECURITY_HDR_KEY_TYPE_USER_DATA = 0xA3, SECURITY_HDR_KEY_TYPE_PUBLIC = 0xA4, SECURITY_HDR_KEY_TYPE_SYMMETRIC = 0xA5
}
 
enum  __attribute__ {
  SECURITY_HDR_MODE_ECDSA = 0x01, SECURITY_HDR_MODE_EDDSA, SECURITY_HDR_ECC_CURVE_SECP192R1 = 0x01, SECURITY_HDR_ECC_CURVE_SECP224R1,
  SECURITY_HDR_ECC_CURVE_SECP256R1, SECURITY_HDR_ECC_CURVE_EDWARDS25519, SECURITY_HDR_HASH_SHA_224 = 0x01, SECURITY_HDR_HASH_SHA_256,
  SECURITY_HDR_HASH_SHA_384, SECURITY_HDR_HASH_SHA_512, SECURITY_HDR_KEY_TYPE_SIGNATURE = 0xA1, SECURITY_HDR_KEY_TYPE_DECRYPTION = 0xA2,
  SECURITY_HDR_KEY_TYPE_USER_DATA = 0xA3, SECURITY_HDR_KEY_TYPE_PUBLIC = 0xA4, SECURITY_HDR_KEY_TYPE_SYMMETRIC = 0xA5
}
 
enum  __attribute__ {
  SECURITY_HDR_MODE_ECDSA = 0x01, SECURITY_HDR_MODE_EDDSA, SECURITY_HDR_ECC_CURVE_SECP192R1 = 0x01, SECURITY_HDR_ECC_CURVE_SECP224R1,
  SECURITY_HDR_ECC_CURVE_SECP256R1, SECURITY_HDR_ECC_CURVE_EDWARDS25519, SECURITY_HDR_HASH_SHA_224 = 0x01, SECURITY_HDR_HASH_SHA_256,
  SECURITY_HDR_HASH_SHA_384, SECURITY_HDR_HASH_SHA_512, SECURITY_HDR_KEY_TYPE_SIGNATURE = 0xA1, SECURITY_HDR_KEY_TYPE_DECRYPTION = 0xA2,
  SECURITY_HDR_KEY_TYPE_USER_DATA = 0xA3, SECURITY_HDR_KEY_TYPE_PUBLIC = 0xA4, SECURITY_HDR_KEY_TYPE_SYMMETRIC = 0xA5
}
 

Detailed Description

Macro Definition Documentation

◆ SECURITY_HDR_TYPE_DEVICE_ADMIN_SECTION

#define SECURITY_HDR_TYPE_DEVICE_ADMIN_SECTION   0x44AA

Device administration section type

◆ SECURITY_HDR_TYPE_FW_VERSION_NUMBER

#define SECURITY_HDR_TYPE_FW_VERSION_NUMBER   0x66AA

Firmware version number type

◆ SECURITY_HDR_TYPE_KEY_REVOCATION_RECORD

#define SECURITY_HDR_TYPE_KEY_REVOCATION_RECORD   0x55AA

Key revocation record type

◆ SECURITY_HDR_TYPE_ROLLBACK_PREVENTION_SEGMENT

#define SECURITY_HDR_TYPE_ROLLBACK_PREVENTION_SEGMENT   0x77AA

Rollback prevention segment type (new minimum firmware version)

◆ SECURITY_HDR_TYPE_SECURITY_SECTION

#define SECURITY_HDR_TYPE_SECURITY_SECTION   0x22AA

Security section type

◆ SECURITY_HDR_TYPE_SIGNATURE_SECTION

#define SECURITY_HDR_TYPE_SIGNATURE_SECTION   0x33AA

Signature section type

Enumeration Type Documentation

◆ __attribute__ [1/4]

Digital signature generation/verification algorithm

Enumerator
SECURITY_HDR_MODE_ECDSA 

Elliptic Curve Digital Signature Algorithm

SECURITY_HDR_MODE_EDDSA 

Edwards-curve Digital Signature Algorithm

SECURITY_HDR_ECC_CURVE_SECP192R1 

192-bits NIST curve

SECURITY_HDR_ECC_CURVE_SECP224R1 

224-bits NIST curve

SECURITY_HDR_ECC_CURVE_SECP256R1 

256-bits NIST curve

SECURITY_HDR_ECC_CURVE_EDWARDS25519 

Edwards 25519 curve

SECURITY_HDR_HASH_SHA_224 

SHA 224

SECURITY_HDR_HASH_SHA_256 

SHA 256

SECURITY_HDR_HASH_SHA_384 

SHA 384

SECURITY_HDR_HASH_SHA_512 

SHA 512

SECURITY_HDR_KEY_TYPE_SIGNATURE 

Asymmetric, public key used in signature verification (index only)

SECURITY_HDR_KEY_TYPE_DECRYPTION 

Symmetric key used in executable decryption (index only)

SECURITY_HDR_KEY_TYPE_USER_DATA 

Symmetric key used in user data encryption (index only)

SECURITY_HDR_KEY_TYPE_PUBLIC 

Asymmetric, public key used in signature verification (index or address)

SECURITY_HDR_KEY_TYPE_SYMMETRIC 

Symmetric key used in user data encryption (index or address)

◆ __attribute__ [2/4]

Elliptic curve

Note
Edwards 25519 curve is used in EdDSA only.
Enumerator
SECURITY_HDR_MODE_ECDSA 

Elliptic Curve Digital Signature Algorithm

SECURITY_HDR_MODE_EDDSA 

Edwards-curve Digital Signature Algorithm

SECURITY_HDR_ECC_CURVE_SECP192R1 

192-bits NIST curve

SECURITY_HDR_ECC_CURVE_SECP224R1 

224-bits NIST curve

SECURITY_HDR_ECC_CURVE_SECP256R1 

256-bits NIST curve

SECURITY_HDR_ECC_CURVE_EDWARDS25519 

Edwards 25519 curve

SECURITY_HDR_HASH_SHA_224 

SHA 224

SECURITY_HDR_HASH_SHA_256 

SHA 256

SECURITY_HDR_HASH_SHA_384 

SHA 384

SECURITY_HDR_HASH_SHA_512 

SHA 512

SECURITY_HDR_KEY_TYPE_SIGNATURE 

Asymmetric, public key used in signature verification (index only)

SECURITY_HDR_KEY_TYPE_DECRYPTION 

Symmetric key used in executable decryption (index only)

SECURITY_HDR_KEY_TYPE_USER_DATA 

Symmetric key used in user data encryption (index only)

SECURITY_HDR_KEY_TYPE_PUBLIC 

Asymmetric, public key used in signature verification (index or address)

SECURITY_HDR_KEY_TYPE_SYMMETRIC 

Symmetric key used in user data encryption (index or address)

◆ __attribute__ [3/4]

Hash method

Enumerator
SECURITY_HDR_MODE_ECDSA 

Elliptic Curve Digital Signature Algorithm

SECURITY_HDR_MODE_EDDSA 

Edwards-curve Digital Signature Algorithm

SECURITY_HDR_ECC_CURVE_SECP192R1 

192-bits NIST curve

SECURITY_HDR_ECC_CURVE_SECP224R1 

224-bits NIST curve

SECURITY_HDR_ECC_CURVE_SECP256R1 

256-bits NIST curve

SECURITY_HDR_ECC_CURVE_EDWARDS25519 

Edwards 25519 curve

SECURITY_HDR_HASH_SHA_224 

SHA 224

SECURITY_HDR_HASH_SHA_256 

SHA 256

SECURITY_HDR_HASH_SHA_384 

SHA 384

SECURITY_HDR_HASH_SHA_512 

SHA 512

SECURITY_HDR_KEY_TYPE_SIGNATURE 

Asymmetric, public key used in signature verification (index only)

SECURITY_HDR_KEY_TYPE_DECRYPTION 

Symmetric key used in executable decryption (index only)

SECURITY_HDR_KEY_TYPE_USER_DATA 

Symmetric key used in user data encryption (index only)

SECURITY_HDR_KEY_TYPE_PUBLIC 

Asymmetric, public key used in signature verification (index or address)

SECURITY_HDR_KEY_TYPE_SYMMETRIC 

Symmetric key used in user data encryption (index or address)

◆ __attribute__ [4/4]

Key type

Enumerator
SECURITY_HDR_MODE_ECDSA 

Elliptic Curve Digital Signature Algorithm

SECURITY_HDR_MODE_EDDSA 

Edwards-curve Digital Signature Algorithm

SECURITY_HDR_ECC_CURVE_SECP192R1 

192-bits NIST curve

SECURITY_HDR_ECC_CURVE_SECP224R1 

224-bits NIST curve

SECURITY_HDR_ECC_CURVE_SECP256R1 

256-bits NIST curve

SECURITY_HDR_ECC_CURVE_EDWARDS25519 

Edwards 25519 curve

SECURITY_HDR_HASH_SHA_224 

SHA 224

SECURITY_HDR_HASH_SHA_256 

SHA 256

SECURITY_HDR_HASH_SHA_384 

SHA 384

SECURITY_HDR_HASH_SHA_512 

SHA 512

SECURITY_HDR_KEY_TYPE_SIGNATURE 

Asymmetric, public key used in signature verification (index only)

SECURITY_HDR_KEY_TYPE_DECRYPTION 

Symmetric key used in executable decryption (index only)

SECURITY_HDR_KEY_TYPE_USER_DATA 

Symmetric key used in user data encryption (index only)

SECURITY_HDR_KEY_TYPE_PUBLIC 

Asymmetric, public key used in signature verification (index or address)

SECURITY_HDR_KEY_TYPE_SYMMETRIC 

Symmetric key used in user data encryption (index or address)