O SSL usa vários algoritmos de criptografia em pontos diferentes.
Normalmente, ele usa uma criptografia assimétrica para autenticar os hosts e estabelecer confiança entre o cliente e o servidor. Em seguida, uma chave aleatória será gerada e compartilhada entre os hosts e uma criptografia simétrica algorthim será usada para a carga real .
Normalmente, a chave assimétrica será RSA com tamanhos de chave de 1024, 2048 ou 4096. O tamanho da chave não afeta realmente o simétrico usado para a carga útil. Hoje em dia, a maioria dos fornecedores de certificados assinará um pedido de certificado 2048 ou 4096, os tamanhos de chave de 1024 são bastante fracos. Enquanto a maioria das chaves de CA são 2048 bits, muitas irão assinar chaves maiores, então você não precisa limitar sua chave privada a 2048 bits.
O algoritmo simétrico usado dependerá do cliente e do servidor. O cliente e o servidor selecionarão a opção mais segura disponível. Se você estiver usando o apache, use o SSLCipherSuite
para selecionar quais cifras simétricas serão permitidas.
A criptografia assimétrica tem os tamanhos grandes das teclas (2048,4096) e é muito lenta. É por isso que é usado apenas durante a fase inicial. Uma vez que a conexão é estabelecida, a comunicação acontece sobre a criptografia simétrica relativamente rápida que usa os tamanhos de chave menores (128,256).