User guide
38 MPC184/MPC185 Security Co-Processor Software User’s Guide MOTOROLA
PRELIMINARY—SUBJECT TO CHANGE WITHOUT NOTICE
Global Definitions Global Definitions
4.6.6 AES Request Structures
The following section provides structure definitions for AES requests.
4.6.6.1 AESA_CRYPT_REQ
unsigned long opId;
unsigned long channel;
PMPC18x_NOTIFY_ROUTINE notify;
PMPC18x_NOTIFY_CTX pNotifyCtx;
PMPC18x_NOTIFY_ON_ERROR_ROUTINE notify_on_error;
MPC18x_NOTIFY_ON_ERROR_CTX ctxNotifyOnErr;
int status;
void* nextReq;
unsigned long keyBytes; /* 16, 24, or 32 bytes */
unsigned char* keyData;
unsigned long inIvBytes; /* 0 or 16 bytes */
unsigned char* inIvData;
unsigned long inBytes; /* multiple of 8 bytes */
unsigned char* inData;
unsigned char* outData; /* output length = input length */
unsigned long outCtxBytes; /* 0 or 8 bytes */
unsigned char* outCtxData;
Dynamic channels are valid for this request. A channel value of zero is valid.
NUM_AESA_CRYPT_DESC defines the number of descriptors within the DPD_AESA_CRYPT_GROUP that use
this request.
DPD_AESA_CRYPT_GROUP (0x6000) defines the group for all descriptors within this request.
Table 29. AESA_CRYPT_REQ Valid Descriptors (opId)
Descriptors Value Function Description
DPD_AESA_CBC_ENCRYPT_CRYPT 0x6000 Perform encryption in AESA using CBC mode
DPD_AESA_CBC_DECRYPT_CRYPT 0x6001 Perform decryption in AESA using CBC mode
DPD_AESA_CBC_DECRYPT_CRYPT_RDK 0x6002 Perform decryption in AESA using CBC mode with
RDK
DPD_AESA_ECB_ENCRYPT_CRYPT 0x6003 Perform encryption in AESA using ECB mode
DPD_AESA_ECB_DECRYPT_CRYPT 0x6004 Perform decryption in AESA using ECB mode
DPD_AESA_ECB_DECRYPT_CRYPT_RDK 0x6005 Perform decryption in AESA using ECB mode with RDK
DPD_AESA_CTR_CRYPT 0x6006 Perform CTR in AESA










