Intel EP80579 Benutzerhandbuch

Seite von 76
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 
 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()