The EVP cipher initialization cost has been found to be expensive in the OpenSSL 3.x API compared to the OpenSSL 1.x API.
This update allows for two different types of initializations to occur. The first initialization type is a full initialization which sets the key, iv, and EVP cipher context. The second type of initialization sets just the key and iv and does NOT recreate and reinitialize the EVP context. The former of these two is required once per Cipher instance, the later of these two can be used whenever we are reusing a specific Java cipher object within methods such as Cipher.doFinal().
The EVP cipher initialization cost has been found to be expensive in the
OpenSSL 3.x
API compared to theOpenSSL 1.x
API.This update allows for two different types of initializations to occur. The first initialization type is a full initialization which sets the key, iv, and EVP cipher context. The second type of initialization sets just the key and iv and does NOT recreate and reinitialize the EVP context. The former of these two is required once per Cipher instance, the later of these two can be used whenever we are reusing a specific Java cipher object within methods such as
Cipher.doFinal()
.Signed-off by: Jason Katonica katonica@us.ibm.com