add support to supply padding type to private encrypt and public decrypt