NXP Reader Library  v17.1.0.2535

Software implementation of the DES algorithm. More...

Collaboration diagram for Cipher : DES:

Modules

 Internals
 Software implementation of the DES algorithm.
 

Functions

phStatus_t phCryptoSym_Sw_Des_DecryptBlock (phCryptoSym_Sw_DataParams_t *pDataParams, uint8_t PH_CRYTOSYM_SW_FAST_RAM *pBlock, uint8_t bKeyNumber)
 Performs a decryption of a DES Block (8 byte) using a DES Key. More...
 
phStatus_t phCryptoSym_Sw_Des_EncryptBlock (phCryptoSym_Sw_DataParams_t *pDataParams, uint8_t PH_CRYTOSYM_SW_FAST_RAM *pBlock, uint8_t bKeyNumber)
 Performs an encryption of a DES Block (8 byte) using a DES Key. More...
 
phStatus_t phCryptoSym_Sw_Des_KeyInit (phCryptoSym_Sw_DataParams_t *pDataParams, const uint8_t *pKey, uint8_t bNumKeys)
 Performs the key Expansion of the DES key(s) According to the number of keys specified, the pDataParams key array is filled up in the following sequence: Expanded KEY1 [128] || Expanded KEY2 [128] || Expanded KEY3 [128]. More...
 
phStatus_t phCryptoSym_Sw_Des_DecodeVersion (uint8_t *pKey, uint16_t *pKeyVersion)
 Decode the KeyVersion of a DES key. More...
 
phStatus_t phCryptoSym_Sw_Des_EncodeVersion (uint8_t *pKey, uint16_t wKeyVersion, uint16_t wKeyType, uint8_t *pEncodedKey)
 Encode the KeyVersion in a DES key. More...
 

Detailed Description

Software implementation of the DES algorithm.

Function Documentation

◆ phCryptoSym_Sw_Des_DecryptBlock()

phStatus_t phCryptoSym_Sw_Des_DecryptBlock ( phCryptoSym_Sw_DataParams_t pDataParams,
uint8_t PH_CRYTOSYM_SW_FAST_RAM pBlock,
uint8_t  bKeyNumber 
)

Performs a decryption of a DES Block (8 byte) using a DES Key.

The key needs to be provided in the pDataParams structure. By specifying the bKeyNumber, either the first, the second or the third key is used.

Returns
Status code
Return values
PH_ERR_SUCCESSOperation successful.
Parameters
[in]pDataParams[In] Pointer to this layers parameter structure.
[in,out]pBlock[InOut] Block to be enciphered in place.
[in]bKeyNumber[In] Number of the key to be used (0, 1 or 2)

◆ phCryptoSym_Sw_Des_EncryptBlock()

phStatus_t phCryptoSym_Sw_Des_EncryptBlock ( phCryptoSym_Sw_DataParams_t pDataParams,
uint8_t PH_CRYTOSYM_SW_FAST_RAM pBlock,
uint8_t  bKeyNumber 
)

Performs an encryption of a DES Block (8 byte) using a DES Key.

The key needs to be provided in the pDataParams structure. By specifying the bKeyNumber, either the first, the second or the third key is used.

Returns
Status code
Return values
PH_ERR_SUCCESSOperation successful.
Parameters
[in]pDataParams[In] Pointer to this layers parameter structure.
[in,out]pBlock[InOut] Block to be enciphered in place.
[in]bKeyNumber[In] Number of the key to be used (0, 1 or 2)

◆ phCryptoSym_Sw_Des_KeyInit()

phStatus_t phCryptoSym_Sw_Des_KeyInit ( phCryptoSym_Sw_DataParams_t pDataParams,
const uint8_t pKey,
uint8_t  bNumKeys 
)

Performs the key Expansion of the DES key(s) According to the number of keys specified, the pDataParams key array is filled up in the following sequence: Expanded KEY1 [128] || Expanded KEY2 [128] || Expanded KEY3 [128].

Returns
Status code
Return values
PH_ERR_SUCCESSOperation successful.
Parameters
[in]pDataParams[In] Pointer to this layers parameter structure.
[in]pKey[In] Key array to be loaded into the DES engine.
[in]bNumKeys[In] Amount of keys provided (1, 2 or 3)

◆ phCryptoSym_Sw_Des_DecodeVersion()

phStatus_t phCryptoSym_Sw_Des_DecodeVersion ( uint8_t pKey,
uint16_t pKeyVersion 
)

Decode the KeyVersion of a DES key.

Returns
Status code
Return values
PH_ERR_SUCCESSOperation successful.
OtherDepending on implementation and underlaying component.
Parameters
[in]pKey[In] Key to decode.
[out]pKeyVersion[Out] Version of the key.

◆ phCryptoSym_Sw_Des_EncodeVersion()

phStatus_t phCryptoSym_Sw_Des_EncodeVersion ( uint8_t pKey,
uint16_t  wKeyVersion,
uint16_t  wKeyType,
uint8_t pEncodedKey 
)

Encode the KeyVersion in a DES key.

Returns
Status code
Return values
PH_ERR_SUCCESSOperation successful.
PH_ERR_INVALID_PARAMETEROperation aborted.
OtherDepending on implementation and underlaying component.
Parameters
[in]pKey[In] Key to encode.
[in]wKeyVersion[In] Version of the key.
[in]wKeyType[In] Type of Key.
[out]pEncodedKey[Out] Encoded key.