Intel EP80579 User Manual

Page of 76
Intel
®
 EP80579 Software for Security Applications on Intel
®
 QuickAssist Technology
August 2009
PG
Order Number: 320183-004US
71
Using the Intel
®
 QuickAssist Technology Cryptographic API—Security Software
                                     server_random)[0..15]
This maps to the Cryptographic API’s CpaCyKeyGenTlsOpData as follows:
      TLS User Defined Derivation:
          tlsOp = CPA_CY_KEY_TLS_OP_USER_DEFINED
          secret = server_write_key
          seed = client_random + server_random
          userLabel = "server write key"
3. In RFC 2246, Section 6.3 ‘iv_block’ is described as:
       iv_block                = PRF("", "IV block", client_random +
                                     server_random)[0..15]
This maps to the Cryptographic API’s CpaCyKeyGenTlsOpData as follows:
      TLS User Defined Derivation:
          tlsOp = CPA_CY_KEY_TLS_OP_USER_DEFINED
          secret = NULL
          seed = client_random + server_random
          userLabel = "IV block" 
Note:
Memory for the user label must be physically contiguous memory allocated by the user. 
This memory must be available to the API for the duration of the operation, see 
 for details. 
12.8.2.7
Generate Random Data
1. Define a random data 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 Random operation data structure, see the API manual 
4. Call the Random data generation perform operation API 
5. Completion of the operation, see 
12.8.3
Asymmetric Operations
Asymmetric operations generally have the following cycle: allocate memory, populate 
operation structure, perform operation and completion of the operation.
12.8.3.1
Test Prime Number
Sample code is provided for Prime-Test operation see 
1. Define a Prime-Test 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
• Inputs: operation data structure