Я ищу, чтобы отправить файл нескольким людям, но я также хочу, чтобы они знали, что:Лучший способ создать файл, который действует как контрольная сумма и проверяет отправителя?
- файл не был изменен, так как я послал его к ним.
- Они знают, что именно я отправил файл.
Я кодирую в Python, поэтому я думал о том, чтобы потянуть файл, взять хэш его и затем шифровать хэш с помощью своего личного ключа. Я бы отправил исходный файл вместе с этим новым файлом (возможно, только .txt) тому, кого хочу. Затем мои друзья могли расшифровать хэш с помощью моего открытого ключа и сравнить его с хешем, который они берут из исходного файла. Я бы хотел использовать что-то хотя бы на уровне SHA-256. Я не хочу использовать MD5 или SHA-1.
Примечание. Исходный файл, который я отправляю, не обязательно должен быть зашифрован, просто ищет целостность и неотказуемость.
Будет ли это соответствовать двум требованиям выше? И есть ли простой способ реализовать это в Python?
Я бы рекомендовал использовать существующее решение для шифрования. Например, PGP. Конечно, вы можете взаимодействовать с PGP через Python. (https://pythonhosted.org/python-gnupg/) –
Как вы собираетесь отправить файл? Эл. адрес? Многие почтовые клиенты уже имеют криптографические подписи в качестве встроенной функции. –
Вы изобретаете криптографическую подпись. Если вы использовали GPG, например, вы можете сделать 'gpg --sign myfile.txt'. –