Lo scambio di esponenti pubblici e privati in RSA comporta due problemi:
- Non funziona.
- Non è sicuro.
Il "non funziona" riguarda implementazioni distribuite esistenti di SSL in client . Anche se la definizione formale di RSA consente un esponente pubblico arbitrariamente lungo, alcune implementazioni ampiamente diffuse di RSA si aspettano che l'esponente pubblico si adatti in un numero intero a 32 bit (in particolare, CryptoAPI di Windows).
Il punto sull'insicurezza è che un esponente privato troppo corto indebolisce il sistema. È stato dimostrato un attacco, che mostra come recuperare la chiave privata se la lunghezza dell'esponente privato è inferiore al 29% della lunghezza del modulo; ciò significa che se si utilizza un modulo RSA a 2048 bit (come si dovrebbe) e si imposta la lunghezza dell'esponente privato su meno di 600 bit, viene applicato un attacco implementato già descritto. La saggezza collettiva dei crittografi è che gli esponenti privati significativamente più corti del modulo sono troppo rischiosi.
Pertanto: no, non dovresti provare ad accorciare gli esponenti privati RSA, per quanto allettante possa essere.
Se sei a corto di potenza di calcolo, allora potresti voler studiare algoritmi alternativi basati su curve ellittiche. Una suite di crittografia "ECDSA_ECDHE" eviterebbe i calcoli RSA e dovrebbe fornire prestazioni sostanzialmente migliori per l'handshake TLS (tuttavia, non sarà compatibile con IE 8 su Windows XP come client).