Intel EP80579 Security Camera User Manual


 
Security Software—Using the Intel
®
QuickAssist Technology Cryptographic API
Intel
®
EP80579 Software for Security Applications on Intel
®
QuickAssist Technology
PG August 2009
66 Order Number: 320183-004US
Note: For details on the most optimal usage of the Cryptographic API, refer to the API manual
for the specific interface in question.
The Cryptographic API takes two formats of buffer; CpaFlatBuffer and CpaBufferList.
These data types are discussed in sections 12.4.1 and 12.4.2 respectively. For buffer
lists it is assumed that each individual buffer in the list is entirely contiguous in
memory; that is, the Cryptographic API Library does not perform any scatter-gather
operations when forwarding data buffers to the Security Services Unit.
Note: It is not required that each buffer in the buffer list is contiguous in memory to the
other buffers in a buffer list.
All input and output data buffers will be allocated and freed by the client.
12.6 Endianness and Alignment
All packet data shall be in network byte order (big-endian format) and the Lookaside
Security module shall not be required to do endian swaps on the data. PKE buffers will
also be passed in big-endian format as per the relevant standards.
Note: There is no endianness associated with randomly generated data.
For optimal performance, data pointers should be 8-byte aligned. In some cases this is
a requirement, while in most other cases, it is a recommendation for performance.
Please refer to the API manual for optimal usage of the Cryptographic API.
12.7 High-Level API Flow
The following subsections describe the main usage scenarios for the Cryptographic API.
12.7.1 Cryptographic API Initialization and Shutdown
Note: The naming convention used for Initialization/Shutdown APIs is specific to the ASD
component rather than the Cryptographic API. These APIs are only called by the ASD
component to ensure correct initialization and shutdown procedures.
12.7.1.1 Initialization
On successful completion of this function, Cryptographic API is ready to be started. This
sequence of initialization/start/stop/shutdown is controlled by the ASD component to
ensure the overall system is correctly configured. The API will be invoked by ASD and is
defined as:
icp_AsdCfgLacInit()
12.7.1.2 Start
This API must be called before the Cryptographic API module will respond to any
cryptographic requests, this includes registration of sessions or performing operations.
The API will be invoked by ASD and is defined as:
icp_AsdCfgLacStart()