gpg 加密文件:一份加密文件,可以被不同的密码解密

2021-03-08 11:47:32 +08:00
 sillydaddy
gpg 可以给不同的人发送同一份加密文件,这些人都可以用自己的密钥,解密这份文件。。开始还比较奇怪,这么神奇的加解密到底是怎么实现的,因为这就相当于一份加密文件有多个不同的解密密钥。

研究了一下,才大呼上当,原来如此:
- 先使用对称加密方法(比如 AES256)加密整个文件,对称加密的密钥假设为 sync_key ;
- 然后使用各个接收人(recipients)的公钥(pubkey1, pubkey2, ...),分别加密 sync_key,得到多个对称密钥的加密结果(sec_sync_key1, sec_sync_key2, ...)
- 将加密后的文档与多个加密后的对称密钥拼接起来
- 各个接收人解密时,只需用自己的私钥尝试解密出对称密钥即可
1479 次点击
所在节点    分享发现
1 条回复
geelaw
2021-03-08 12:23:17 +08:00
这个东西是朴素的广播加密,也算不得“上当”。

在多个用户自行生成密钥时,更巧妙的工具叫做临场广播加密( ad hoc broadcast encryption )。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/759538

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX