Intel® Integrated Performance Primitives
Deliberate problems developing high-performance vision, signal, security, and storage applications.
6711 Discussions

IPP CP: Can't find struct _cpRSA definition in any header file

Vincent_S_Intel
Employee
353 Views

I'm trying to use the RSA primitives in the IPP Crypto Library. So I create aIppsRSAState, however in ippcp.h this is typedef-ed from struct _cpRSA, which does not exist in any header file in the IPP CP package.

Can someone tell me what header _cpRSA should be defined in. An answer to why I could be missing it would be great, but the first part lets me at least investigate the second part.

Thanks,

Vinnie

0 Kudos
3 Replies
Vladimir_Dudnik
Employee
353 Views

Hello,

This structure is hidden (implementation might be platform dependent). According IPP crypto manual (ippcpman.pdf, chapter 5 - Public Key Cryptography functions, p 5-70 RSA Primitives):

The application code for conducting a typical RSA encryption must perform the following sequence of operations, starting with building of a crypto system:

1. Call the function

RSAGetSize to get the size required to configure IppsRSAState context.

2. Ensure that the required memory space is properly allocated. With the allocated memory, call the

RSAInit function to initialize the context for the RSA encryption.

3. Keep calling the

RSASetKey to set up RSA public key (n, e).

4. Invoke the

RSAEncrypt function with the established RSA public key to encode the plaintext into the respective ciphertext.

5. Free the memory allocated for the

IppsRSAState context by calling the operating

Regards,
Vladimir

0 Kudos
franknatoli
New Contributor I
353 Views
Quoting - Vladimir Dudnik

Hello,

This structure is hidden (implementation might be platform dependent). According IPP crypto manual (ippcpman.pdf, chapter 5 - Public Key Cryptography functions, p 5-70 RSA Primitives):

The application code for conducting a typical RSA encryption must perform the following sequence of operations, starting with building of a crypto system:

1. Call the function

RSAGetSize to get the size required to configure IppsRSAState context.

2. Ensure that the required memory space is properly allocated. With the allocated memory, call the

RSAInit function to initialize the context for the RSA encryption.

3. Keep calling the

RSASetKey to set up RSA public key (n, e).

4. Invoke the

RSAEncrypt function with the established RSA public key to encode the plaintext into the respective ciphertext.

5. Free the memory allocated for the

IppsRSAState context by calling the operating

Regards,
Vladimir

Where can one find any of the crypto H or C or CPP files?

My 6.0.0.062 ipp-samples has directory cryptographyopenssl-ipp, but src only contains three C files: timing_aes.c, timing_rsa.c and timing_sha.c. My IPP installation does not contain an ippcp.h file. Where can I find these files?

Vlad: who assigns the belt colors? If you aren't a black belt, the standard must be all wrong.

0 Kudos
Vladimir_Dudnik
Employee
353 Views

Hi,

IPP Crypto library is separate install package (because of different license). You should specifically register for IPP Crypto on IPP main page to download IPP Crypto libraries and ippcp.h file.

I'm OK with color of belt, for me it is much more important to be able to help with IPP product than worrying about colors and belts :)

Regards,
Vladimir
0 Kudos
Reply