RSA, используя заполнение PKCS1, позволяет делать только те строки, длина ключа (в байтах) - 11. Это не ограничение OpenSSL или PHP, а ограничение RSA.
Если вы хотите создавать более длинные строки с использованием набора функций openssl_ *, используйте openssl_seal и openssl_open . openssl_seal генерирует случайную строку, шифрует ее с помощью RSA и затем шифрует данные, которые вы фактически пытаетесь зашифровать с помощью RC4, используя ранее упомянутую случайную строку в качестве ключа.
phpseclib, чистая реализация PHP RSA , использует другой подход. Если вы настаиваете на шифровании строки, большей чем ключ RSA, она разбивает эту строку на куски, максимальный размер которых может обработать RSA, и затем объединяет результаты.
На странице phpseclib Совместимость OpenSSL обсуждается, как вы можете использовать phpseclib для того же, что и openssl_seal / openssl_open.
Надеюсь, это поможет!