Duas coisas para ter em mente:
-
A chave privada é enviada ao servidor para verificar se corresponde à chave pública.
Este cálculo tem que ser feito pelo servidor, não pelo cliente.
-
A autenticação só é executada quando se estabelece uma conexão, não depois. A criptografia de dados real sempre usa cifras simétricas, pois são muito mais rápidas.
4096 bits é muito mais seguro do que 2048 bits (embora o último seja suficiente), mas não haverá diferença de velocidade tangível.