Подпись привязана к точной версии текста
Цифровая подпись — не просто строка, приклеенная к документу. Программа сначала вычисляет его хеш: короткий цифровой отпечаток, полученный по всему содержимому. Затем закрытый ключ владельца создаёт подпись, связанную с этим отпечатком. Получатель может проверить её открытым ключом и убедиться, что документ соответствует подписи и что она сделана парой ключей, которой владеет отправитель.
Почему одной запятой достаточно
Криптографический хеш устроен так, что крошечное изменение входных данных обычно даёт совершенно другой отпечаток. Удалили запятую, заменили пробел или изменили один символ — программа получает уже другое значение. Прежняя подпись не подтверждает его, и проверка завершается неудачей.
Важно, что система проверяет не «похожесть» текста и не его смысл. Для неё версии с запятой и без неё — разные наборы данных, даже если читатель считает их одинаковыми. Поэтому редакторское исправление после подписания требует заново подписать изменённый файл.
Что именно гарантирует проверка
Успешная проверка показывает, что проверяемые данные совпадают с теми, для которых была создана подпись, и что подпись соответствует открытому ключу. Но она сама по себе не означает, что содержание правдиво или безопасно: подпись подтверждает целостность данных, а не их качество. Она также не скрывает текст — для секретности применяют шифрование, это отдельная задача.
Именно поэтому при проверке электронного договора, обновления программы или архивного файла важна точная исходная версия: даже безобидная запятая после подписания превращает её в другой документ.






