Твою идею про паддинг я одобряю. Но на всякий случай есть еще вот такой флаг:
/*
* Cipher handles any and all padding logic as well as finalisation.
*/
# define EVP_CIPH_FLAG_CUSTOM_CIPHER 0x100000
Анализируется в EVP_EncryptFinal, при этом зовётся коллбек шифрования с нулевой длиной данных и NULL в указателе на них.
Тебе точно этого не хватит?
--
SY, Dmitry Belyavsky