This module interfaces to some of the OpenSSL ciphers without using
EVP (see OpenSSL.EVP.Cipher). The EVP ciphers are easier to use,
however, in some cases you cannot do without using the OpenSSL
fuctions directly.
One of these cases (and the motivating example
for this module) is that the EVP CBC functions try to encode the
length of the input string in the output (thus hiding the fact that the
cipher is, in fact, block based and needs padding). This means that the
EVP CBC functions cannot, in some cases, interface with other users
which don't use that system (like SSH).
|