Вот простая схема: используйте шифрование с открытым / закрытым ключом, чтобы установить симметричный ключ. Затем выполните все шифрование с использованием этого симметричного ключа.
Если вам также необходимо обеспечить целостность сообщения и отсутствие отказа от него, вы можете запустить сообщение через хеш-функцию, которая отобразит его на фиксированную длину. Тогда вы можете подписать хеш.
Как правило, вы все равно не захотите использовать открытые ключи для шифрования сообщений. Пары открытого / секретного ключей сложнее генерировать и дороже использовать для длительного шифрования, чем симметричные ключи.