Чтобы добавить предыдущий пост, нецелесообразно шифровать / расшифровывать данные в больших масштабах с помощью ассиметричного шифрования (поскольку он значительно медленнее симметричного шифрования). Наиболее практичным использованием асимметричного шифрования (например, RSA) является шифрование симметричных ключей (для AES или аналогичного алгоритма), которые использовались для шифрования данных, а также для подписи безопасного хэша в дайджесте сообщений (SHA-256 и т. Д.).
Зашифрованное сообщение обычно запечатывается в «конверте», который содержит зашифрованное сообщение, а также ключи, используемые для шифрования. Ключи, конечно же, зашифровываются с открытым ключом получателей, тем самым гарантируя, что только владелец может получить ключи.
Наконец, отправитель сообщения может дополнительно вычислить безопасный хэш сообщения и зашифровать его с помощью закрытого ключа отправителя. Получатель расшифровывает зашифрованный хеш (используя открытый ключ отправителя) и сравнивает с вычисленным хэшем, чтобы проверить личность отправителя.