La crittografia RSA funziona su messaggi che non sono più della dimensione del modulo della chiave pubblica (in realtà il limite è leggermente inferiore a quello, ad esempio 117 byte per una chiave RSA a 1024 bit). Il metodo usuale per crittografare le cose con RSA è di usare una modalità ibrida: si crea una chiave simmetrica casuale (un gruppo di byte casuali, con un generatore di numeri casuali crittograficamente sicuro), si cripta simmetricamente i propri dati con quella chiave (usando una cifra simmetrica come AES) e si cripta la chiave simmetrica con RSA. Le cifre simmetriche possono gestire dati di lunghezza arbitrari. Una chiave simmetrica è piuttosto breve, in genere 16 o 32 byte, quindi non c'è alcun problema nella crittografia con RSA.
Tieni presente che stai progettando il tuo protocollo crittografico, che è una pessima idea. In realtà la prima e la prima di tutte le cattive idee legate alla crittografia. Anche per qualcosa di semplice come la crittografia asimmetrica di un blob, le persone che hanno provato a progettare un tale protocollo hanno attraversato anni di versioni multiple e buchi di sicurezza, dolorosamente tappati uno ad uno. Dovresti davvero usare un protocollo esistente per quello. Uno di questi protocolli è OpenPGP . Bouncy Castle è una libreria opensource con una versione C # e che include un'implementazione OpenPGP. Usalo, e vivrai più a lungo e più felice.