Why restrict yourself to 32 bytes? RSA's key size may be proportional to the amount of data being encrypted, but the way around this is to encrypt your arbitrary amount of data using a symmetric scheme; then encrypt the symmetric key (and potentially iv) using RSA. I've done this quite successfully using Crypt::Eksblowfish as the cipher for Crypt::CBC, then encrypting the key and iv using Crypt::OpenSSL::RSA.