安全加密签名是否必须位于其引用的文件之外?

hew*_*own 1 python cryptography file digital-signature

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

这个想法是C给每个文件经过数字签名.A&B交易他们拥有的数字签名,并在他们自己的副本上查看.如果签名失败,则其中一个具有不正确/损坏/修改的文件版本.

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

Mat*_*ges 5

仅来自C的数字签名应该足以让A和B确认他们的文件没有被破坏,而没有相互通信.如果A和B没有收到来自C的签名,他们每个人都可以创建该文件的加密哈希并比较哈希,但这不需要在C上进行任何数字签名.

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

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