#define | USE_LRWAN_1_1_X_CRYPTO 1 |
|
#define | USE_RANDOM_DEV_NONCE 0 |
|
#define | USE_10X_JOIN_NONCE_COUNTER_CHECK 0 |
|
#define | FCNT_DOWN_INITAL_VALUE 0xFFFFFFFF |
|
enum | LoRaMacCryptoStatus_t {
LORAMAC_CRYPTO_SUCCESS = 0,
LORAMAC_CRYPTO_FAIL_MIC,
LORAMAC_CRYPTO_FAIL_ADDRESS,
LORAMAC_CRYPTO_FAIL_JOIN_NONCE,
LORAMAC_CRYPTO_FAIL_RJCOUNT0_OVERFLOW,
LORAMAC_CRYPTO_FAIL_FCNT_ID,
LORAMAC_CRYPTO_FAIL_FCNT_SMALLER,
LORAMAC_CRYPTO_FAIL_FCNT_DUPLICATED,
LORAMAC_CRYPTO_FAIL_PARAM,
LORAMAC_CRYPTO_ERROR_NPE,
LORAMAC_CRYPTO_ERROR_INVALID_KEY_ID,
LORAMAC_CRYPTO_ERROR_INVALID_ADDR_ID,
LORAMAC_CRYPTO_ERROR_INVALID_VERSION,
LORAMAC_CRYPTO_ERROR_BUF_SIZE,
LORAMAC_CRYPTO_ERROR_SECURE_ELEMENT_FUNC,
LORAMAC_CRYPTO_ERROR_PARSER,
LORAMAC_CRYPTO_ERROR_SERIALIZER,
LORAMAC_CRYPTO_ERROR_RJCOUNT1_OVERFLOW,
LORAMAC_CRYPTO_ERROR
} |
|
typedef void(* | LoRaMacCryptoNvmEvent) (void) |
|
LoRaMacCryptoStatus_t | LoRaMacCryptoInit (LoRaMacCryptoNvmData_t *nvm) |
|
LoRaMacCryptoStatus_t | LoRaMacCryptoSetLrWanVersion (Version_t version) |
|
LoRaMacCryptoStatus_t | LoRaMacCryptoGetFCntDown (FCntIdentifier_t fCntID, uint32_t frameFcnt, uint32_t *currentDown) |
|
LoRaMacCryptoStatus_t | LoRaMacCryptoGetFCntUp (uint32_t *currentUp) |
|
LoRaMacCryptoStatus_t | LoRaMacCryptoGetRJcount (FCntIdentifier_t fCntID, uint16_t *rJcount) |
|
LoRaMacCryptoStatus_t | LoRaMacCryptoSetMulticastReference (MulticastCtx_t *multicastList) |
|
LoRaMacCryptoStatus_t | LoRaMacCryptoSetKey (KeyIdentifier_t keyID, uint8_t *key) |
|
LoRaMacCryptoStatus_t | LoRaMacCryptoPrepareJoinRequest (LoRaMacMessageJoinRequest_t *macMsg) |
|
LoRaMacCryptoStatus_t | LoRaMacCryptoPrepareReJoinType1 (LoRaMacMessageReJoinType1_t *macMsg) |
|
LoRaMacCryptoStatus_t | LoRaMacCryptoPrepareReJoinType0or2 (LoRaMacMessageReJoinType0or2_t *macMsg) |
|
LoRaMacCryptoStatus_t | LoRaMacCryptoHandleJoinAccept (JoinReqIdentifier_t joinReqType, uint8_t *joinEUI, LoRaMacMessageJoinAccept_t *macMsg) |
|
LoRaMacCryptoStatus_t | LoRaMacCryptoSecureMessage (uint32_t fCntUp, uint8_t txDr, uint8_t txCh, LoRaMacMessageData_t *macMsg) |
|
LoRaMacCryptoStatus_t | LoRaMacCryptoUnsecureMessage (AddressIdentifier_t addrID, uint32_t address, FCntIdentifier_t fCntID, uint32_t fCntDown, LoRaMacMessageData_t *macMsg) |
|
LoRaMacCryptoStatus_t | LoRaMacCryptoDeriveMcRootKey (uint8_t versionMinor, KeyIdentifier_t keyID) |
|
LoRaMacCryptoStatus_t | LoRaMacCryptoDeriveMcKEKey (KeyIdentifier_t keyID) |
|
LoRaMacCryptoStatus_t | LoRaMacCryptoDeriveMcSessionKeyPair (AddressIdentifier_t addrID, uint32_t mcAddr) |
|
LoRa MAC layer cryptographic functionality implementation.
- Copyright
- Revised BSD License, see section License.
______ _
/ _____) _ | |
( (____ _____ ____ _| |_ _____ ____| |__
\____ \| ___ | (_ _) ___ |/ ___) _ \
_____) ) ____| | | || |_| ____( (___| | | |
(______/|_____)_|_|_| \__)_____)\____)_| |_|
(C)2013-2017 Semtech
___ _____ _ ___ _ _____ ___ ___ ___ ___
/ __|_ _/_\ / __| |/ / __/ _ \| _ \/ __| __|
\__ \ | |/ _ \ (__| ' <| _| (_) | / (__| _|
|___/ |_/_/ \_\___|_|\_\_| \___/|_|_\\___|___|
embedded.connectivity.solutions===============
- Author
- Miguel Luis ( Semtech )
-
Gregory Cristian ( Semtech )
-
Daniel Jaeckle ( STACKFORCE )
-
Johannes Bruder ( STACKFORCE )
addtogroup LORAMAC