Intel EP80579 Security Camera User Manual


 
Intel
®
EP80579 Software for Security Applications on Intel
®
QuickAssist Technology
August 2009 PG
Order Number: 320183-004US 69
Using the Intel
®
QuickAssist Technology Cryptographic API—Security Software
1. Populate the symmetric operation data structure
2. Call the symmetric operation perform API
With the following steps which are used for partial packets:
1. Populate the symmetric operation data structure and set packet type to partial
2. Call the symmetric operation perform API
3. Repeat steps 1 & 2 above for each partial packet which needs to be processed
4. For the final partial packet initialize the symmetric operation data structure and set
the packet type to last partial
5. Perform the operation
Note: Steps 1) and 2) may be repeated according to number of partial packets requiring
Cipher/Hash/Authentication.
Note: The size of the data to be Hashed or Ciphered must be a multiple of the block size of
the algorithm for all partial packets except the last partial.
Note: For Hash/Authentication the digest pointer and the digest verify flag are only used for
the last partial.
12.8.2.5 Algorithm Chaining and Authenticated-Encryption
Algorithm chaining involves performing a cipher followed by a hash or a hash followed
by a cipher in one operation. Authenticated-encryption involves performing a
authenticate followed by a cipher in one operation.
Sample code is provided for algorithm chaining operations; see [SAMPLE_CODE] and
the API manual. The basic steps involved in performing an operation are detailed
below.
1. Initialize a session, see Section 12.8.2.1
2. Allocate memory for the source and destination buffer lists
For an in-place operation, only memory for the source buffer list needs to be
allocated
3. Allocate memory for the symmetric operation data
4. Populate the appropriate symmetric operation data structures, see the API manual
5. Call the symmetric operation perform API one or more times
6. Completion of operation, see Section 12.8.1
7. Remove session, see Section 12.8.2.2
12.8.2.6 SSL, TLS Key and MGF Mask Generation
Refer to the API manual for full details of Key and Mask Generation operations.
1. Define a Flat Buffer callback function as per the API prototype, see the API manual.
If synchronous operation is preferred, instead simply pass NULL to the API for the
callback parameter.
2. Allocate memory for the operation
3. Populate data for the appropriate operation data structure, see the API manual
Fill in the Flat Buffers; pointer to data and length
Fill in the options for the operation required
4. Call the appropriate Key or Mask Generation API