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
Section 12.5 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 Section 12.8.1
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 [SAMPLE_CODE].
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