А где гарантия, что подписал продаван, а не MITM-атакер?
Открытый публичный ключ продавана?
А где тогда гарантия что это ключ продавана, а не подставной публичный ключ MITM-атакера?
То есть, атакер, может под видом клиента, после принятия запроса от реального клиента,
принять от продавана подписанный контракт,
шусро, скриптами, автоматически, внести изменения в него,
пересчитать хэш контракта, и переподписать всё это дело своими ключами,
а потом отправить клиенту, да так, что клиент даже не поймёт, что это был атакер,
и будет думать, что имеет дело - с продаваном,
ведь единственное что у него есть - это публичный ключ продавана, скажем,
который может быть в реале - ключём атакера, раз он уже - посредине сидит и биты подменяет. Лол.
Такая же фигня, кстати, успешно срабатывает и при RSA-шифровании/подписи,
и с SSL-сертификатами, и с обменом ключами по алгритму Diffie-Hellman'а.
А придёшь к продавану, он тебе реальный, но уже другой контракт, с другим хэшем выдаст, подписанный даже,
а баблос ушёл уже и хрен что докажешь.
Что ты на это скажешь?
И так я обсуждал условия сделки скажем в Телеграмм. Продавец мне там сказал свой публичный ключ, я ему сказал свой публичный.
На этом мы можем хоть по электронной почте переписываться, так как все будет безопасно.
Хеш обеспечивает целостность и неизменяемость текста контракта, а подписи мои и продавца гарантируют, что подписали те, с кем реально вели переговоры.
В случае любого отказа можно спокойно обращаться в суд, при условии, что суд честный.
Ну а на счет типа злоумышленник посередине и подменяет в Телеграмме сообщения, оно реально, но маловероятно, ведь публичные ключи коммерческих фирм должны быть зарегистрированны в правительственном реестре каком, а потому покупатель всегда лишний раз сверит информацию и в случае чего напишет продавцу почему не совпадает его официальный публичный ключ с зарегистрированным.
Да и специально сидеть и ждать сообщений от какой-то фирмы, это слишком накладно.