El cifrado RSA funciona en mensajes que no superan el tamaño del módulo de clave pública (en realidad, el límite está ligeramente por debajo de eso, por ejemplo, 117 bytes para una clave RSA de 1024 bits). El método habitual para cifrar cosas con RSA es utilizar un modo híbrido: creas una clave simétrica aleatoria (un grupo de bytes aleatorios, con un generador de números aleatorios criptográficamente seguros), cifras simétricamente tus datos con esa clave (usando un cifrado simétrico como AES), y usted cifra la clave simétrica con RSA. Los cifrados simétricos pueden tratar con datos de longitud arbitraria. Una clave simétrica es bastante corta, normalmente de 16 o 32 bytes, por lo que no hay ningún problema para cifrar eso con RSA.
Tenga en cuenta que está diseñando su propio protocolo criptográfico, lo cual es una muy mala idea. En realidad, la primera y más importante de todas las malas ideas relacionadas con la criptografía. Incluso para algo tan simple como el cifrado asimétrico de un blob, las personas que han tratado de diseñar un protocolo de este tipo han pasado por años de múltiples versiones y agujeros de seguridad, que se han conectado uno por uno. Debería realmente usar un protocolo existente para eso. Uno de estos protocolos es OpenPGP . Bouncy Castle es una biblioteca de código abierto que tiene una versión de C #, y que incluye una implementación de OpenPGP. Úsalo, y vivirás más y más feliz.