V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
sillydaddy
V2EX  ›  分享发现

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

  •  
  •   sillydaddy · 2021-03-08 11:47:32 +08:00 · 3258 次点击
    这是一个创建于 1354 天前的主题,其中的信息可能已经有所发展或是发生改变。
    gpg 可以给不同的人发送同一份加密文件,这些人都可以用自己的密钥,解密这份文件。。开始还比较奇怪,这么神奇的加解密到底是怎么实现的,因为这就相当于一份加密文件有多个不同的解密密钥。

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

    在多个用户自行生成密钥时,更巧妙的工具叫做临场广播加密( ad hoc broadcast encryption )。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1143 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 18:32 · PVG 02:32 · LAX 10:32 · JFK 13:32
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.