MCUXpresso SDK API Reference Manual  Rev. 0
NXP Semiconductors
 All Data Structures Functions Variables Typedefs Enumerations Enumerator Groups Pages
LTC eDMA DES driver

Overview

This section describes the programming interface of the LTC eDMA DES driver.

Functions

status_t LTC_DES_EncryptEcbEDMA (LTC_Type *base, ltc_edma_handle_t *handle, const uint8_t *plaintext, uint8_t *ciphertext, uint32_t size, const uint8_t key[LTC_DES_KEY_SIZE])
 Encrypts DES using ECB block mode. More...
 
status_t LTC_DES_DecryptEcbEDMA (LTC_Type *base, ltc_edma_handle_t *handle, const uint8_t *ciphertext, uint8_t *plaintext, uint32_t size, const uint8_t key[LTC_DES_KEY_SIZE])
 Decrypts DES using ECB block mode. More...
 
status_t LTC_DES_EncryptCbcEDMA (LTC_Type *base, ltc_edma_handle_t *handle, const uint8_t *plaintext, uint8_t *ciphertext, uint32_t size, const uint8_t iv[LTC_DES_IV_SIZE], const uint8_t key[LTC_DES_KEY_SIZE])
 Encrypts DES using CBC block mode. More...
 
status_t LTC_DES_DecryptCbcEDMA (LTC_Type *base, ltc_edma_handle_t *handle, const uint8_t *ciphertext, uint8_t *plaintext, uint32_t size, const uint8_t iv[LTC_DES_IV_SIZE], const uint8_t key[LTC_DES_KEY_SIZE])
 Decrypts DES using CBC block mode. More...
 
status_t LTC_DES_EncryptCfbEDMA (LTC_Type *base, ltc_edma_handle_t *handle, const uint8_t *plaintext, uint8_t *ciphertext, uint32_t size, const uint8_t iv[LTC_DES_IV_SIZE], const uint8_t key[LTC_DES_KEY_SIZE])
 Encrypts DES using CFB block mode. More...
 
status_t LTC_DES_DecryptCfbEDMA (LTC_Type *base, ltc_edma_handle_t *handle, const uint8_t *ciphertext, uint8_t *plaintext, uint32_t size, const uint8_t iv[LTC_DES_IV_SIZE], const uint8_t key[LTC_DES_KEY_SIZE])
 Decrypts DES using CFB block mode. More...
 
status_t LTC_DES_EncryptOfbEDMA (LTC_Type *base, ltc_edma_handle_t *handle, const uint8_t *plaintext, uint8_t *ciphertext, uint32_t size, const uint8_t iv[LTC_DES_IV_SIZE], const uint8_t key[LTC_DES_KEY_SIZE])
 Encrypts DES using OFB block mode. More...
 
status_t LTC_DES_DecryptOfbEDMA (LTC_Type *base, ltc_edma_handle_t *handle, const uint8_t *ciphertext, uint8_t *plaintext, uint32_t size, const uint8_t iv[LTC_DES_IV_SIZE], const uint8_t key[LTC_DES_KEY_SIZE])
 Decrypts DES using OFB block mode. More...
 
status_t LTC_DES2_EncryptEcbEDMA (LTC_Type *base, ltc_edma_handle_t *handle, const uint8_t *plaintext, uint8_t *ciphertext, uint32_t size, const uint8_t key1[LTC_DES_KEY_SIZE], const uint8_t key2[LTC_DES_KEY_SIZE])
 Encrypts triple DES using ECB block mode with two keys. More...
 
status_t LTC_DES2_DecryptEcbEDMA (LTC_Type *base, ltc_edma_handle_t *handle, const uint8_t *ciphertext, uint8_t *plaintext, uint32_t size, const uint8_t key1[LTC_DES_KEY_SIZE], const uint8_t key2[LTC_DES_KEY_SIZE])
 Decrypts triple DES using ECB block mode with two keys. More...
 
status_t LTC_DES2_EncryptCbcEDMA (LTC_Type *base, ltc_edma_handle_t *handle, const uint8_t *plaintext, uint8_t *ciphertext, uint32_t size, const uint8_t iv[LTC_DES_IV_SIZE], const uint8_t key1[LTC_DES_KEY_SIZE], const uint8_t key2[LTC_DES_KEY_SIZE])
 Encrypts triple DES using CBC block mode with two keys. More...
 
status_t LTC_DES2_DecryptCbcEDMA (LTC_Type *base, ltc_edma_handle_t *handle, const uint8_t *ciphertext, uint8_t *plaintext, uint32_t size, const uint8_t iv[LTC_DES_IV_SIZE], const uint8_t key1[LTC_DES_KEY_SIZE], const uint8_t key2[LTC_DES_KEY_SIZE])
 Decrypts triple DES using CBC block mode with two keys. More...
 
status_t LTC_DES2_EncryptCfbEDMA (LTC_Type *base, ltc_edma_handle_t *handle, const uint8_t *plaintext, uint8_t *ciphertext, uint32_t size, const uint8_t iv[LTC_DES_IV_SIZE], const uint8_t key1[LTC_DES_KEY_SIZE], const uint8_t key2[LTC_DES_KEY_SIZE])
 Encrypts triple DES using CFB block mode with two keys. More...
 
status_t LTC_DES2_DecryptCfbEDMA (LTC_Type *base, ltc_edma_handle_t *handle, const uint8_t *ciphertext, uint8_t *plaintext, uint32_t size, const uint8_t iv[LTC_DES_IV_SIZE], const uint8_t key1[LTC_DES_KEY_SIZE], const uint8_t key2[LTC_DES_KEY_SIZE])
 Decrypts triple DES using CFB block mode with two keys. More...
 
status_t LTC_DES2_EncryptOfbEDMA (LTC_Type *base, ltc_edma_handle_t *handle, const uint8_t *plaintext, uint8_t *ciphertext, uint32_t size, const uint8_t iv[LTC_DES_IV_SIZE], const uint8_t key1[LTC_DES_KEY_SIZE], const uint8_t key2[LTC_DES_KEY_SIZE])
 Encrypts triple DES using OFB block mode with two keys. More...
 
status_t LTC_DES2_DecryptOfbEDMA (LTC_Type *base, ltc_edma_handle_t *handle, const uint8_t *ciphertext, uint8_t *plaintext, uint32_t size, const uint8_t iv[LTC_DES_IV_SIZE], const uint8_t key1[LTC_DES_KEY_SIZE], const uint8_t key2[LTC_DES_KEY_SIZE])
 Decrypts triple DES using OFB block mode with two keys. More...
 
status_t LTC_DES3_EncryptEcbEDMA (LTC_Type *base, ltc_edma_handle_t *handle, const uint8_t *plaintext, uint8_t *ciphertext, uint32_t size, const uint8_t key1[LTC_DES_KEY_SIZE], const uint8_t key2[LTC_DES_KEY_SIZE], const uint8_t key3[LTC_DES_KEY_SIZE])
 Encrypts triple DES using ECB block mode with three keys. More...
 
status_t LTC_DES3_DecryptEcbEDMA (LTC_Type *base, ltc_edma_handle_t *handle, const uint8_t *ciphertext, uint8_t *plaintext, uint32_t size, const uint8_t key1[LTC_DES_KEY_SIZE], const uint8_t key2[LTC_DES_KEY_SIZE], const uint8_t key3[LTC_DES_KEY_SIZE])
 Decrypts triple DES using ECB block mode with three keys. More...
 
status_t LTC_DES3_EncryptCbcEDMA (LTC_Type *base, ltc_edma_handle_t *handle, const uint8_t *plaintext, uint8_t *ciphertext, uint32_t size, const uint8_t iv[LTC_DES_IV_SIZE], const uint8_t key1[LTC_DES_KEY_SIZE], const uint8_t key2[LTC_DES_KEY_SIZE], const uint8_t key3[LTC_DES_KEY_SIZE])
 Encrypts triple DES using CBC block mode with three keys. More...
 
status_t LTC_DES3_DecryptCbcEDMA (LTC_Type *base, ltc_edma_handle_t *handle, const uint8_t *ciphertext, uint8_t *plaintext, uint32_t size, const uint8_t iv[LTC_DES_IV_SIZE], const uint8_t key1[LTC_DES_KEY_SIZE], const uint8_t key2[LTC_DES_KEY_SIZE], const uint8_t key3[LTC_DES_KEY_SIZE])
 Decrypts triple DES using CBC block mode with three keys. More...
 
status_t LTC_DES3_EncryptCfbEDMA (LTC_Type *base, ltc_edma_handle_t *handle, const uint8_t *plaintext, uint8_t *ciphertext, uint32_t size, const uint8_t iv[LTC_DES_IV_SIZE], const uint8_t key1[LTC_DES_KEY_SIZE], const uint8_t key2[LTC_DES_KEY_SIZE], const uint8_t key3[LTC_DES_KEY_SIZE])
 Encrypts triple DES using CFB block mode with three keys. More...
 
status_t LTC_DES3_DecryptCfbEDMA (LTC_Type *base, ltc_edma_handle_t *handle, const uint8_t *ciphertext, uint8_t *plaintext, uint32_t size, const uint8_t iv[LTC_DES_IV_SIZE], const uint8_t key1[LTC_DES_KEY_SIZE], const uint8_t key2[LTC_DES_KEY_SIZE], const uint8_t key3[LTC_DES_KEY_SIZE])
 Decrypts triple DES using CFB block mode with three keys. More...
 
status_t LTC_DES3_EncryptOfbEDMA (LTC_Type *base, ltc_edma_handle_t *handle, const uint8_t *plaintext, uint8_t *ciphertext, uint32_t size, const uint8_t iv[LTC_DES_IV_SIZE], const uint8_t key1[LTC_DES_KEY_SIZE], const uint8_t key2[LTC_DES_KEY_SIZE], const uint8_t key3[LTC_DES_KEY_SIZE])
 Encrypts triple DES using OFB block mode with three keys. More...
 
status_t LTC_DES3_DecryptOfbEDMA (LTC_Type *base, ltc_edma_handle_t *handle, const uint8_t *ciphertext, uint8_t *plaintext, uint32_t size, const uint8_t iv[LTC_DES_IV_SIZE], const uint8_t key1[LTC_DES_KEY_SIZE], const uint8_t key2[LTC_DES_KEY_SIZE], const uint8_t key3[LTC_DES_KEY_SIZE])
 Decrypts triple DES using OFB block mode with three keys. More...
 

Function Documentation

status_t LTC_DES_EncryptEcbEDMA ( LTC_Type *  base,
ltc_edma_handle_t *  handle,
const uint8_t *  plaintext,
uint8_t *  ciphertext,
uint32_t  size,
const uint8_t  key[LTC_DES_KEY_SIZE] 
)

Encrypts DES using ECB block mode.

Parameters
baseLTC peripheral base address
handlepointer to ltc_edma_handle_t structure which stores the transaction state.
plaintextInput plaintext to encrypt
[out]ciphertextOutput ciphertext
sizeSize of input and output data in bytes. Must be multiple of 8 bytes.
keyInput key to use for encryption
Returns
Status from encrypt/decrypt operation
status_t LTC_DES_DecryptEcbEDMA ( LTC_Type *  base,
ltc_edma_handle_t *  handle,
const uint8_t *  ciphertext,
uint8_t *  plaintext,
uint32_t  size,
const uint8_t  key[LTC_DES_KEY_SIZE] 
)

Decrypts DES using ECB block mode.

Parameters
baseLTC peripheral base address
handlepointer to ltc_edma_handle_t structure which stores the transaction state.
ciphertextInput ciphertext to decrypt
[out]plaintextOutput plaintext
sizeSize of input and output data in bytes. Must be multiple of 8 bytes.
keyInput key to use for decryption
Returns
Status from encrypt/decrypt operation
status_t LTC_DES_EncryptCbcEDMA ( LTC_Type *  base,
ltc_edma_handle_t *  handle,
const uint8_t *  plaintext,
uint8_t *  ciphertext,
uint32_t  size,
const uint8_t  iv[LTC_DES_IV_SIZE],
const uint8_t  key[LTC_DES_KEY_SIZE] 
)

Encrypts DES using CBC block mode.

Parameters
baseLTC peripheral base address
handlepointer to ltc_edma_handle_t structure which stores the transaction state.
plaintextInput plaintext to encrypt
[out]ciphertextOuput ciphertext
sizeSize of input and output data in bytes
ivInput initial vector to combine with the first plaintext block. The iv does not need to be secret, but it must be unpredictable.
keyInput key to use for encryption
Returns
Status from encrypt/decrypt operation
status_t LTC_DES_DecryptCbcEDMA ( LTC_Type *  base,
ltc_edma_handle_t *  handle,
const uint8_t *  ciphertext,
uint8_t *  plaintext,
uint32_t  size,
const uint8_t  iv[LTC_DES_IV_SIZE],
const uint8_t  key[LTC_DES_KEY_SIZE] 
)

Decrypts DES using CBC block mode.

Parameters
baseLTC peripheral base address
handlepointer to ltc_edma_handle_t structure which stores the transaction state.
ciphertextInput ciphertext to decrypt
[out]plaintextOutput plaintext
sizeSize of input data in bytes
ivInput initial vector to combine with the first plaintext block. The iv does not need to be secret, but it must be unpredictable.
keyInput key to use for decryption
Returns
Status from encrypt/decrypt operation
status_t LTC_DES_EncryptCfbEDMA ( LTC_Type *  base,
ltc_edma_handle_t *  handle,
const uint8_t *  plaintext,
uint8_t *  ciphertext,
uint32_t  size,
const uint8_t  iv[LTC_DES_IV_SIZE],
const uint8_t  key[LTC_DES_KEY_SIZE] 
)

Encrypts DES using CFB block mode.

Parameters
baseLTC peripheral base address
handlepointer to ltc_edma_handle_t structure which stores the transaction state.
plaintextInput plaintext to encrypt
sizeSize of input data in bytes
ivInput initial block.
keyInput key to use for encryption
[out]ciphertextOutput ciphertext
Returns
Status from encrypt/decrypt operation
status_t LTC_DES_DecryptCfbEDMA ( LTC_Type *  base,
ltc_edma_handle_t *  handle,
const uint8_t *  ciphertext,
uint8_t *  plaintext,
uint32_t  size,
const uint8_t  iv[LTC_DES_IV_SIZE],
const uint8_t  key[LTC_DES_KEY_SIZE] 
)

Decrypts DES using CFB block mode.

Parameters
baseLTC peripheral base address
handlepointer to ltc_edma_handle_t structure which stores the transaction state.
ciphertextInput ciphertext to decrypt
[out]plaintextOutput plaintext
sizeSize of input and output data in bytes
ivInput initial block.
keyInput key to use for decryption
Returns
Status from encrypt/decrypt operation
status_t LTC_DES_EncryptOfbEDMA ( LTC_Type *  base,
ltc_edma_handle_t *  handle,
const uint8_t *  plaintext,
uint8_t *  ciphertext,
uint32_t  size,
const uint8_t  iv[LTC_DES_IV_SIZE],
const uint8_t  key[LTC_DES_KEY_SIZE] 
)

Encrypts DES using OFB block mode.

Parameters
baseLTC peripheral base address
handlepointer to ltc_edma_handle_t structure which stores the transaction state.
plaintextInput plaintext to encrypt
[out]ciphertextOutput ciphertext
sizeSize of input and output data in bytes
ivInput unique input vector. The OFB mode requires that the IV be unique for each execution of the mode under the given key.
keyInput key to use for encryption
Returns
Status from encrypt/decrypt operation
status_t LTC_DES_DecryptOfbEDMA ( LTC_Type *  base,
ltc_edma_handle_t *  handle,
const uint8_t *  ciphertext,
uint8_t *  plaintext,
uint32_t  size,
const uint8_t  iv[LTC_DES_IV_SIZE],
const uint8_t  key[LTC_DES_KEY_SIZE] 
)

Decrypts DES using OFB block mode.

Parameters
baseLTC peripheral base address
handlepointer to ltc_edma_handle_t structure which stores the transaction state.
ciphertextInput ciphertext to decrypt
[out]plaintextOutput plaintext
sizeSize of input and output data in bytes. Must be multiple of 8 bytes.
ivInput unique input vector. The OFB mode requires that the IV be unique for each execution of the mode under the given key.
keyInput key to use for decryption
Returns
Status from encrypt/decrypt operation
status_t LTC_DES2_EncryptEcbEDMA ( LTC_Type *  base,
ltc_edma_handle_t *  handle,
const uint8_t *  plaintext,
uint8_t *  ciphertext,
uint32_t  size,
const uint8_t  key1[LTC_DES_KEY_SIZE],
const uint8_t  key2[LTC_DES_KEY_SIZE] 
)

Encrypts triple DES using ECB block mode with two keys.

Parameters
baseLTC peripheral base address
handlepointer to ltc_edma_handle_t structure which stores the transaction state.
plaintextInput plaintext to encrypt
[out]ciphertextOutput ciphertext
sizeSize of input and output data in bytes. Must be multiple of 8 bytes.
key1First input key for key bundle
key2Second input key for key bundle
Returns
Status from encrypt/decrypt operation
status_t LTC_DES2_DecryptEcbEDMA ( LTC_Type *  base,
ltc_edma_handle_t *  handle,
const uint8_t *  ciphertext,
uint8_t *  plaintext,
uint32_t  size,
const uint8_t  key1[LTC_DES_KEY_SIZE],
const uint8_t  key2[LTC_DES_KEY_SIZE] 
)

Decrypts triple DES using ECB block mode with two keys.

Parameters
baseLTC peripheral base address
handlepointer to ltc_edma_handle_t structure which stores the transaction state.
ciphertextInput ciphertext to decrypt
[out]plaintextOutput plaintext
sizeSize of input and output data in bytes. Must be multiple of 8 bytes.
key1First input key for key bundle
key2Second input key for key bundle
Returns
Status from encrypt/decrypt operation
status_t LTC_DES2_EncryptCbcEDMA ( LTC_Type *  base,
ltc_edma_handle_t *  handle,
const uint8_t *  plaintext,
uint8_t *  ciphertext,
uint32_t  size,
const uint8_t  iv[LTC_DES_IV_SIZE],
const uint8_t  key1[LTC_DES_KEY_SIZE],
const uint8_t  key2[LTC_DES_KEY_SIZE] 
)

Encrypts triple DES using CBC block mode with two keys.

Parameters
baseLTC peripheral base address
handlepointer to ltc_edma_handle_t structure which stores the transaction state.
plaintextInput plaintext to encrypt
[out]ciphertextOutput ciphertext
sizeSize of input and output data in bytes
ivInput initial vector to combine with the first plaintext block. The iv does not need to be secret, but it must be unpredictable.
key1First input key for key bundle
key2Second input key for key bundle
Returns
Status from encrypt/decrypt operation
status_t LTC_DES2_DecryptCbcEDMA ( LTC_Type *  base,
ltc_edma_handle_t *  handle,
const uint8_t *  ciphertext,
uint8_t *  plaintext,
uint32_t  size,
const uint8_t  iv[LTC_DES_IV_SIZE],
const uint8_t  key1[LTC_DES_KEY_SIZE],
const uint8_t  key2[LTC_DES_KEY_SIZE] 
)

Decrypts triple DES using CBC block mode with two keys.

Parameters
baseLTC peripheral base address
handlepointer to ltc_edma_handle_t structure which stores the transaction state.
ciphertextInput ciphertext to decrypt
[out]plaintextOutput plaintext
sizeSize of input and output data in bytes
ivInput initial vector to combine with the first plaintext block. The iv does not need to be secret, but it must be unpredictable.
key1First input key for key bundle
key2Second input key for key bundle
Returns
Status from encrypt/decrypt operation
status_t LTC_DES2_EncryptCfbEDMA ( LTC_Type *  base,
ltc_edma_handle_t *  handle,
const uint8_t *  plaintext,
uint8_t *  ciphertext,
uint32_t  size,
const uint8_t  iv[LTC_DES_IV_SIZE],
const uint8_t  key1[LTC_DES_KEY_SIZE],
const uint8_t  key2[LTC_DES_KEY_SIZE] 
)

Encrypts triple DES using CFB block mode with two keys.

Parameters
baseLTC peripheral base address
handlepointer to ltc_edma_handle_t structure which stores the transaction state.
plaintextInput plaintext to encrypt
[out]ciphertextOutput ciphertext
sizeSize of input and output data in bytes
ivInput initial block.
key1First input key for key bundle
key2Second input key for key bundle
Returns
Status from encrypt/decrypt operation
status_t LTC_DES2_DecryptCfbEDMA ( LTC_Type *  base,
ltc_edma_handle_t *  handle,
const uint8_t *  ciphertext,
uint8_t *  plaintext,
uint32_t  size,
const uint8_t  iv[LTC_DES_IV_SIZE],
const uint8_t  key1[LTC_DES_KEY_SIZE],
const uint8_t  key2[LTC_DES_KEY_SIZE] 
)

Decrypts triple DES using CFB block mode with two keys.

Parameters
baseLTC peripheral base address
handlepointer to ltc_edma_handle_t structure which stores the transaction state.
ciphertextInput ciphertext to decrypt
[out]plaintextOutput plaintext
sizeSize of input and output data in bytes
ivInput initial block.
key1First input key for key bundle
key2Second input key for key bundle
Returns
Status from encrypt/decrypt operation
status_t LTC_DES2_EncryptOfbEDMA ( LTC_Type *  base,
ltc_edma_handle_t *  handle,
const uint8_t *  plaintext,
uint8_t *  ciphertext,
uint32_t  size,
const uint8_t  iv[LTC_DES_IV_SIZE],
const uint8_t  key1[LTC_DES_KEY_SIZE],
const uint8_t  key2[LTC_DES_KEY_SIZE] 
)

Encrypts triple DES using OFB block mode with two keys.

Parameters
baseLTC peripheral base address
handlepointer to ltc_edma_handle_t structure which stores the transaction state.
plaintextInput plaintext to encrypt
[out]ciphertextOutput ciphertext
sizeSize of input and output data in bytes
ivInput unique input vector. The OFB mode requires that the IV be unique for each execution of the mode under the given key.
key1First input key for key bundle
key2Second input key for key bundle
Returns
Status from encrypt/decrypt operation
status_t LTC_DES2_DecryptOfbEDMA ( LTC_Type *  base,
ltc_edma_handle_t *  handle,
const uint8_t *  ciphertext,
uint8_t *  plaintext,
uint32_t  size,
const uint8_t  iv[LTC_DES_IV_SIZE],
const uint8_t  key1[LTC_DES_KEY_SIZE],
const uint8_t  key2[LTC_DES_KEY_SIZE] 
)

Decrypts triple DES using OFB block mode with two keys.

Parameters
baseLTC peripheral base address
handlepointer to ltc_edma_handle_t structure which stores the transaction state.
ciphertextInput ciphertext to decrypt
[out]plaintextOutput plaintext
sizeSize of input and output data in bytes
ivInput unique input vector. The OFB mode requires that the IV be unique for each execution of the mode under the given key.
key1First input key for key bundle
key2Second input key for key bundle
Returns
Status from encrypt/decrypt operation
status_t LTC_DES3_EncryptEcbEDMA ( LTC_Type *  base,
ltc_edma_handle_t *  handle,
const uint8_t *  plaintext,
uint8_t *  ciphertext,
uint32_t  size,
const uint8_t  key1[LTC_DES_KEY_SIZE],
const uint8_t  key2[LTC_DES_KEY_SIZE],
const uint8_t  key3[LTC_DES_KEY_SIZE] 
)

Encrypts triple DES using ECB block mode with three keys.

Parameters
baseLTC peripheral base address
handlepointer to ltc_edma_handle_t structure which stores the transaction state.
plaintextInput plaintext to encrypt
[out]ciphertextOutput ciphertext
sizeSize of input and output data in bytes. Must be multiple of 8 bytes.
key1First input key for key bundle
key2Second input key for key bundle
key3Third input key for key bundle
Returns
Status from encrypt/decrypt operation
status_t LTC_DES3_DecryptEcbEDMA ( LTC_Type *  base,
ltc_edma_handle_t *  handle,
const uint8_t *  ciphertext,
uint8_t *  plaintext,
uint32_t  size,
const uint8_t  key1[LTC_DES_KEY_SIZE],
const uint8_t  key2[LTC_DES_KEY_SIZE],
const uint8_t  key3[LTC_DES_KEY_SIZE] 
)

Decrypts triple DES using ECB block mode with three keys.

Parameters
baseLTC peripheral base address
handlepointer to ltc_edma_handle_t structure which stores the transaction state.
ciphertextInput ciphertext to decrypt
[out]plaintextOutput plaintext
sizeSize of input and output data in bytes. Must be multiple of 8 bytes.
key1First input key for key bundle
key2Second input key for key bundle
key3Third input key for key bundle
Returns
Status from encrypt/decrypt operation
status_t LTC_DES3_EncryptCbcEDMA ( LTC_Type *  base,
ltc_edma_handle_t *  handle,
const uint8_t *  plaintext,
uint8_t *  ciphertext,
uint32_t  size,
const uint8_t  iv[LTC_DES_IV_SIZE],
const uint8_t  key1[LTC_DES_KEY_SIZE],
const uint8_t  key2[LTC_DES_KEY_SIZE],
const uint8_t  key3[LTC_DES_KEY_SIZE] 
)

Encrypts triple DES using CBC block mode with three keys.

Parameters
baseLTC peripheral base address
handlepointer to ltc_edma_handle_t structure which stores the transaction state.
plaintextInput plaintext to encrypt
[out]ciphertextOutput ciphertext
sizeSize of input data in bytes
ivInput initial vector to combine with the first plaintext block. The iv does not need to be secret, but it must be unpredictable.
key1First input key for key bundle
key2Second input key for key bundle
key3Third input key for key bundle
Returns
Status from encrypt/decrypt operation
status_t LTC_DES3_DecryptCbcEDMA ( LTC_Type *  base,
ltc_edma_handle_t *  handle,
const uint8_t *  ciphertext,
uint8_t *  plaintext,
uint32_t  size,
const uint8_t  iv[LTC_DES_IV_SIZE],
const uint8_t  key1[LTC_DES_KEY_SIZE],
const uint8_t  key2[LTC_DES_KEY_SIZE],
const uint8_t  key3[LTC_DES_KEY_SIZE] 
)

Decrypts triple DES using CBC block mode with three keys.

Parameters
baseLTC peripheral base address
handlepointer to ltc_edma_handle_t structure which stores the transaction state.
ciphertextInput ciphertext to decrypt
[out]plaintextOutput plaintext
sizeSize of input and output data in bytes
ivInput initial vector to combine with the first plaintext block. The iv does not need to be secret, but it must be unpredictable.
key1First input key for key bundle
key2Second input key for key bundle
key3Third input key for key bundle
Returns
Status from encrypt/decrypt operation
status_t LTC_DES3_EncryptCfbEDMA ( LTC_Type *  base,
ltc_edma_handle_t *  handle,
const uint8_t *  plaintext,
uint8_t *  ciphertext,
uint32_t  size,
const uint8_t  iv[LTC_DES_IV_SIZE],
const uint8_t  key1[LTC_DES_KEY_SIZE],
const uint8_t  key2[LTC_DES_KEY_SIZE],
const uint8_t  key3[LTC_DES_KEY_SIZE] 
)

Encrypts triple DES using CFB block mode with three keys.

Parameters
baseLTC peripheral base address
handlepointer to ltc_edma_handle_t structure which stores the transaction state.
plaintextInput plaintext to encrypt
[out]ciphertextOutput ciphertext
sizeSize of input and ouput data in bytes
ivInput initial block.
key1First input key for key bundle
key2Second input key for key bundle
key3Third input key for key bundle
Returns
Status from encrypt/decrypt operation
status_t LTC_DES3_DecryptCfbEDMA ( LTC_Type *  base,
ltc_edma_handle_t *  handle,
const uint8_t *  ciphertext,
uint8_t *  plaintext,
uint32_t  size,
const uint8_t  iv[LTC_DES_IV_SIZE],
const uint8_t  key1[LTC_DES_KEY_SIZE],
const uint8_t  key2[LTC_DES_KEY_SIZE],
const uint8_t  key3[LTC_DES_KEY_SIZE] 
)

Decrypts triple DES using CFB block mode with three keys.

Parameters
baseLTC peripheral base address
handlepointer to ltc_edma_handle_t structure which stores the transaction state.
ciphertextInput ciphertext to decrypt
[out]plaintextOutput plaintext
sizeSize of input data in bytes
ivInput initial block.
key1First input key for key bundle
key2Second input key for key bundle
key3Third input key for key bundle
Returns
Status from encrypt/decrypt operation
status_t LTC_DES3_EncryptOfbEDMA ( LTC_Type *  base,
ltc_edma_handle_t *  handle,
const uint8_t *  plaintext,
uint8_t *  ciphertext,
uint32_t  size,
const uint8_t  iv[LTC_DES_IV_SIZE],
const uint8_t  key1[LTC_DES_KEY_SIZE],
const uint8_t  key2[LTC_DES_KEY_SIZE],
const uint8_t  key3[LTC_DES_KEY_SIZE] 
)

Encrypts triple DES using OFB block mode with three keys.

Parameters
baseLTC peripheral base address
handlepointer to ltc_edma_handle_t structure which stores the transaction state.
plaintextInput plaintext to encrypt
[out]ciphertextOutput ciphertext
sizeSize of input and output data in bytes
ivInput unique input vector. The OFB mode requires that the IV be unique for each execution of the mode under the given key.
key1First input key for key bundle
key2Second input key for key bundle
key3Third input key for key bundle
Returns
Status from encrypt/decrypt operation
status_t LTC_DES3_DecryptOfbEDMA ( LTC_Type *  base,
ltc_edma_handle_t *  handle,
const uint8_t *  ciphertext,
uint8_t *  plaintext,
uint32_t  size,
const uint8_t  iv[LTC_DES_IV_SIZE],
const uint8_t  key1[LTC_DES_KEY_SIZE],
const uint8_t  key2[LTC_DES_KEY_SIZE],
const uint8_t  key3[LTC_DES_KEY_SIZE] 
)

Decrypts triple DES using OFB block mode with three keys.

Parameters
baseLTC peripheral base address
handlepointer to ltc_edma_handle_t structure which stores the transaction state.
ciphertextInput ciphertext to decrypt
[out]plaintextOutput plaintext
sizeSize of input and output data in bytes
ivInput unique input vector. The OFB mode requires that the IV be unique for each execution of the mode under the given key.
key1First input key for key bundle
key2Second input key for key bundle
key3Third input key for key bundle
Returns
Status from encrypt/decrypt operation