V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
sillydaddy
V2EX  ›  分享发现

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

  •  
  •   sillydaddy · 2021-03-08 11:47:32 +08:00 · 3517 views
    This topic created in 1522 days ago, the information mentioned may be changed or developed.
    gpg 可以给不同的人发送同一份加密文件,这些人都可以用自己的密钥,解密这份文件。。开始还比较奇怪,这么神奇的加解密到底是怎么实现的,因为这就相当于一份加密文件有多个不同的解密密钥。

    研究了一下,才大呼上当,原来如此:
    - 先使用对称加密方法(比如 AES256)加密整个文件,对称加密的密钥假设为 sync_key ;
    - 然后使用各个接收人(recipients)的公钥(pubkey1, pubkey2, ...),分别加密 sync_key,得到多个对称密钥的加密结果(sec_sync_key1, sec_sync_key2, ...)
    - 将加密后的文档与多个加密后的对称密钥拼接起来
    - 各个接收人解密时,只需用自己的私钥尝试解密出对称密钥即可
    1 replies    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 )。
    About   ·   Help   ·   Blog   ·   API   ·   FAQ   ·   Tools   ·   3219 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 11:49 · PVG 19:49 · LAX 04:49 · JFK 07:49
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.