SSL_write & SSL_read speed optimization on embedded platform

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

SSL_write & SSL_read speed optimization on embedded platform

Govindarajan, Jagan

Dear friends,

 

                I am looking for optimizing the SSL_write() and SSL_read() operation on an embedded platform.

 

Below is the setup currently I have

1.       Hardware OpenSSL engine library for the platform is present for carrying out any HW AES encryption and AES decryption functionality

2.       The platform requires data to be present in the specific HW memory range before the HW encryption or decryption API be called from the HW OpenSSL engine.

3.       The application calls SSL_read(pSSL, pbuf, num); and SSL_wirte(pSSL, pbuf, num);

4.       If we pass a pointer “pbuf” from the HW memory range, we observe the buffer pointer pbuf is not passed to the HW OpenSSL engine, but some other intermediate buffer pointer is getting passed.

5.       We are now copying the data from the intermediate buffer passed to the HW OpenSSL engine into the HW memory range for doing the encryption or decryption. And copying back the data from the HW memory range into the intermediate buffer passed to the HW openssl engine.

 

Is there a way I can force the OpenSSL to pass the required buffer pointer to HW OpenSSL engine to avoid any memcpy in the HW OpenSSL engine.

 

Appreciate any help on this.

 

Regards,

Jagan

 


--
openssl-users mailing list
To unsubscribe: https://mta.openssl.org/mailman/listinfo/openssl-users
Reply | Threaded
Open this post in threaded view
|

SSL_write & SSL_read speed optimization on embedded platform

Govindarajan, Jagan

Dear friends,

 

                I am looking for optimizing the SSL_write() and SSL_read() operation on an embedded platform.

 

Below is the setup currently I have

1.       Hardware OpenSSL engine library for the platform is present for carrying out any HW AES encryption and AES decryption functionality

2.       The platform requires data to be present in the specific HW memory range before the HW encryption or decryption API be called from the HW OpenSSL engine.

3.       The application calls SSL_read(pSSL, pbuf, num); and SSL_wirte(pSSL, pbuf, num);

4.       If we pass a pointer “pbuf” from the HW memory range, we observe the buffer pointer pbuf is not passed to the HW OpenSSL engine, but some other intermediate buffer pointer is getting passed.

5.       We are now copying the data from the intermediate buffer passed to the HW OpenSSL engine into the HW memory range for doing the encryption or decryption. And copying back the data from the HW memory range into the intermediate buffer passed to the HW openssl engine.

 

Is there a way I can force the OpenSSL to pass the required buffer pointer to HW OpenSSL engine to avoid any memcpy in the HW OpenSSL engine.

 

Appreciate any help on this.

 

Regards,

Jagan

 


--
openssl-users mailing list
To unsubscribe: https://mta.openssl.org/mailman/listinfo/openssl-users