Security Software—Using the Intel
®
QuickAssist Technology Cryptographic API
Intel
®
EP80579 Software for Security Applications on Intel
®
QuickAssist Technology
PG August 2009
72 Order Number: 320183-004US
a. Prime Candidate
b. Perform GCD test
c. Perform Fermat test
d. Number of Miller-Rabin rounds
e. Perform Lucas test
• Output: Test Passed
3. Populate data for the Prime-Test operation data structure, see the API manual
• Fill in the Flat Buffers; pointer to data and length
4. Call the operation perform Prime Test API
5. Completion of the operation, see Section 12.8.1
12.8.3.2 Diffie-Hellman Phase 1 Key and Phase 2 Private Key Generation
Sample code is provided for Diffie-Hellman Phase operations, see [SAMPLE_CODE].
1. Define a Diffie-Hellman 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 Diffie-Hellman operation data structure, see the
API manual
• Fill in the Flat Buffers; pointer to data and length
4. Call the operation perform Phase 1 key generation API
5. Completion of the operation, see Section 12.8.1
12.8.3.3 DSA P, G, Y Parameter Generate
1. Define a DSA callback function as per DSA generic callback 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
4. Call the appropriate operation perform DSA API
5. Completion of the operation, see Section 12.8.1
12.8.3.4 DSA R, S, R & S Signature Generation
1. Define a DSA callback function as per DSA generic callback 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
4. Call the appropriate operation perform DSA API
5. Completion of the operation, see Section 12.8.1