Во время установления соединения («рукопожатие») клиент и сервер выбирают «набор шифров» для использования.Набор шифров содержит используемые алгоритмы (согласование асимметричного ключа, симметричное шифрование и проверка целостности).Подробно, клиент отправляет список наборов шифров, которые он поддерживает, и сервер выбирает один из них, который он также поддерживает.Обычно сервер выбирает первый набор, который он поддерживает, среди отправленных клиентом (другими словами, упорядочение наборов в сообщении клиента является его «порядком предпочтения», и сервер обычно учитывает предпочтения клиента).
Например, комплект шифров TLS_RSA_WITH_3DES_EDE_CBC_SHA
означает, что сеансовый ключ будет передаваться с RSA (асимметричное шифрование с использованием открытого ключа RSA из сертификата сервера), данные будут симметрично шифроваться с помощью 3DES, а целостностьпроверка будет использовать хэш-функцию SHA-1.См. спецификацию TLS для списка стандартных наборов шифров (другие наборы были добавлены позже, в частности, некоторые с AES).