python - 安全的加密签名必须驻留在它所引用的文件之外吗?

标签 python file cryptography digital-signature

我正在用 Python 编写一个宠物项目,它涉及用户 A 和 B 通过网络进行交互,试图确保每个用户都有来自用户 C 的同一文件的本地副本。

这个想法是 C 给每个人一个已经过数字签名的文件。 A 和 B 交换他们拥有的数字签名,并在他们自己的副本上进行检查。如果签名失败,则其中之一的文件版本不正确/损坏/修改。

因此,问题是 C 能否分发以某种方式包含它自己的签名的单个文件?还是 C 需要单独提供文件和签名?

最佳答案

单独来自 C 的数字签名应该足以让 A 和 B 确认他们的文件没有损坏,而无需彼此通信。如果 A 和 B 没有收到 C 的签名,他们可以各自创建文件的加密哈希并比较哈希,但这不需要 C 方面的任何数字签名。

如果您希望 C 对文件进行签名,请将签名和文件分开发送,或者将它们都包装在某种容器中,例如 zip 文件或自行开发的解决方案(例如,文件中的第一行代表签名,其余的是有效载荷)。

要从字面上回答您的问题,签名不必在文件本身之外,但正在签名的部分不能包含签名本身。

关于python - 安全的加密签名必须驻留在它所引用的文件之外吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1132766/

相关文章:

python - 右对齐功能问题

python - Sqlalchemy 一对多关系加入?

cryptography - 字符频率评分操作

java - 在什么情况下我会使用非默认 Java 加密提供程序?

python - Django Zinnia 平台入门

java - Android 存储和检索数据

使用文本文件创建结构数组

java - 使用扫描仪类更改文本文件中的特定文本(java)

c# - AES 加密和 C#

python - 如何向 QsciLexerCustom 子类添加折叠?