Поскольку алгоритмы с открытым ключом, как правило, намного медленнее, чем алгоритмы с симметричным ключом, современные системы, такие как TLS и SSH, используют комбинацию двух: одна сторона получает открытый ключ другой и шифрует небольшой фрагмент данных (либо симметричный ключ или некоторые данные, использованные для его генерации).
Современные криптографические системы включают в себя алгоритмы с симметричным ключом (например, DES и AES) и алгоритмы с открытым ключом (например, RSA). Алгоритмы с симметричным ключом используют один общий ключ; Чтобы сохранить данные в секрете, необходимо хранить этот ключ в секрете.