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