Цифровые подписи
Цифровые подписи имеют место, когда вы применяете своизакрытый ключк конкретному сообщению (или хэшу этого сообщения в большинстве случаев).
Получатель затем забирает вашоткрытый ключ- что неудивительно, общедоступно - а затем проверяет вашу личность, применяя его к подписанному сообщению.
Шифрование
С другой стороны, шифрование происходит, когда вы беретеоткрытый ключчеловека, которому предназначено ваше сообщение, и применить его к сообщению. Как только вы это сделаете, вы фактически заблокируете его от всех (включая себя), и единственный способ разблокировать это сообщение — это применить его к получателюзакрытый ключк зашифрованному сообщению.
"применять"
В обоих приведенных выше сценариях я использовал термин «применить», поскольку это мой следующий пункт на пути к последнему вопросу.
Цифровое шифрование и подписание в основном являются математическим умножением математически подходящего представления сообщения на очень большое число (открытый/закрытый ключи). Когда закрытый ключ «умножается» на открытый ключ, они отменяют друг друга (несколько упрощенное описание).
Я написал упрощенный пример с использованием протокола Диффи-Хелмана.здесь.
Вопрос/Проблема безопасности
Имея это в виду, вот какой сценарий я рассматриваю...
Представьте, что вы берете секретное сообщение и шифруете его для кого-то, используя стандартную асимметричную криптографию (ключи pri/pub). Затем вы отправляете это сообщение по незащищенному каналу получателю.
Подслушивающее устройство подключается к линии и перехватывает ваше сообщение.
Однако сообщение для них зашифровано — они предполагают, что истинный получатель сообщения (тот, у кого есть соответствующий закрытый ключ) использует для подписи ту же пару открытого и закрытого ключей, что и для шифрования.
Они каким-то образом манипулируют/убеждают настоящего получателя сообщения подписать "какой-то документ", и, скажем, она это делает. Документ, конечно, является захваченным сообщением, но получатель этого не знает.
Что только что произошло? Получатель применил свой закрытый ключ к сообщению, подписанному ее открытым ключом.
Затем она передала бы сообщение обратно нападавшему (предположим ради аргумента, что это был запрос на слепую подпись).
Теперь у злоумышленника есть расшифрованное сообщение?
Разъяснение вопросов
Спасибо всем, кто ответил. Кажется, я не смог сформулировать свой вопрос, поскольку все его неправильно поняли. Это моя вина, так что извините.
Разъяснение: Предположим, что операция "подписывания" (в академических целях) выполняется для всего сообщения, а не для хеша этого сообщения. Да, я знаю, что на самом деле это не так, и по ряду причин (включая производительность и размер) подпись выполняется для криптохеша сообщения фиксированной длины, а не для самого сообщения, но для этого вопроса, пожалуйста, сделайте вид, что это не так.
решение1
По сути, вы спрашиваете, выполняются ли применение подписи и запуск расшифровки одинаково. Ответ — нет.
Вы написали:
Цифровое шифрование и подписание в основном являются математическим умножением математически подходящего представления сообщения на очень большое число (открытый/закрытый ключи). Когда закрытый ключ «умножается» на открытый ключ, они отменяют друг друга (несколько упрощенное описание).
Это не правильно. Подписи выполняются на криптографических хэшах открытого текста, а не на самом открытом тексте.
решение2
Ошибка в предположении; противоположность шифрованию — расшифровка, и подписание не действует транзитивно ни на то, ни на другое. Подписание сообщения не оказывает никакого влияния на шифрование.
решение3
В принципе, подпись выполняется только над хешем сообщения, а не над самим сообщением.
Кроме того, ваш сценарий в данный момент не кажется очень вероятным. Никто не предоставляет услуги автоматической подписи. В каком практическом случае это действительно произойдет? Разве кто-то не будет смотреть, прежде чем что-то подписывать? Зачем им подписывать (на первый взгляд) ерунду?