I would like to know how much padding OpenSSL algorithms expect.

• The answers here will reflect the higher level primitives of course, if you directly use block encrypt then it will probably not pad at all. – Maarten Bodewes Sep 23 '13 at 14:21

which is both informative, and slightly misleading. OpenSSL supports, by default, one stream cipher (RC4) and a variety of block ciphers (Blowfish, 3DES, AES...). The enc command (from the command-line tool) encrypts an input file into an OpenSSL-specific format, with a custom header (of length 16 bytes), and then the encrypted data as processed through the selected algorithm. For RC4, there is no padding: the encrypted data will have the same length as the source file (but there will be the extra 16-byte header). For block ciphers, it depends on the mode of operation: