See the library functions here:
EVP generic crypto functions
The use of
EVP_CipherInit_ex() and EVP_Cipher() is pretty easy to understand forward, then
EVP_CipherUpdate() and
EVP_CipherFinal_ex() really needs an example to explain
example_evp_cipher::c .