Безусловно, существуют механизмы выбора криптографических алгоритмов из пула. Очевидным примером является рукопожатие TLS для согласования набор шифров для соединения двух компьютеров. Две конечные точки будут иметь список шифров, которые они готовы/способны поддерживать. Это будет установлено политикой владельца устройства и может определяться предполагаемым битовым уровнем безопасности, прямой безопасностью, производительностью или другими факторами.
Механизм принятия решения, по сути, представляет собой метод «я выбираю, вы выбираете», когда клиент перечисляет поддерживаемые наборы в порядке предпочтения, а сервер выбирает один набор из списка.
Возможны более сложные переговоры, требующие получения дополнительной информации о производительности и предпочтениях конечной точки, но на практике скорость процесса принятия решения считается достаточно важной, чтобы придерживаться версии «Я сокращаю, вы выбираете».
Я ожидаю, что такие компании, как Google, измеряют производительность своих центров обработки данных и мобильных телефонов, чтобы выбрать настройки по умолчанию для веб-сайтов Chrome и Google для оптимизации производительности обоих. Как они выполняют оптимизацию, однако я не знаю.