Il codice utilizzato dipende dall'handshake SSL del client e del server; non è dettato dalla coppia di chiavi stessa. Durante questa stretta di mano, il client e il server mostrano quali algoritmi supportano e in genere il server sceglie il cifrario più potente disponibile.
Le chiavi pubbliche / private possono essere utilizzate per raggiungere tre obiettivi principali; integrità, autenticazione e riservatezza. Tuttavia, non è necessario eseguire l'autenticazione in quanto SSL / TLS può essere implementato con anonimato totale .
Dalla pagina 34 di TLS 1.0 ( RFC 2246 ):
The CipherSuite list, passed from the client to the server in the
client hello message, contains the combinations of cryptographic
algorithms supported by the client in order of the client's
preference (favorite choice first). Each CipherSuite defines a key
exchange algorithm, a bulk encryption algorithm (including secret key
length) and a MAC algorithm. The server will select a cipher suite
or, if no acceptable choices are presented, return a handshake
failure alert and close the connection.
Dalla pagina 91 di TLS 1.2 ( RFC 5246 ):
TLS supports three authentication modes: authentication of both
parties, server authentication with an unauthenticated client, and
total anonymity.
Inoltre, vedi qui per una descrizione più semplice del processo di handshake SSL / TLS.
È anche importante notare che questa cifra viene utilizzata solo quando si esegue l'handshake e si scambia la chiave simmetrica che, dopo essere stata concordata, viene utilizzata esclusivamente per il resto della sessione A MENO che la chiave segreta è impostata per essere rinegoziata .