leavic
V2EX  ›  问与答

PGP 加密为什么要生成一个随机 key?

  •  
  •   leavic · Dec 26, 2017 · 2216 views
    This topic created in 3068 days ago, the information mentioned may be changed or developed.
    工作方式:先用随机 key 加密内容,再用接受者的公钥加密随机 key,把加密的内容和随机 key 一起发送给接收者。

    我不是很理解这个随机 key 的意义是什么,直接用对方的公钥加密内容不是一样的吗?

    或者,用发送者的私钥加密之后(前提是发送者的公钥可知),再用接收者的公钥加密不是更好吗?

    这样不光可以加密保证内容只被接收者查看,还可以保证邮件确实来自发送者,而不是无验证的垃圾邮箱伪造地址。
    7 replies    2017-12-27 10:10:36 +08:00
    momocraft
        1
    momocraft  
       Dec 26, 2017
    有可能是性能因素, 对称加密 (如 aes) 往往比非对称加密 (如 rsa) 流量大
    leavic
        2
    leavic  
    OP
       Dec 26, 2017
    @momocraft 其实我的问题是,这个随机 key 看起来好像没什么用啊,去掉这个随机 key 的对称加密不是更轻松吗?
    leavic
        3
    leavic  
    OP
       Dec 26, 2017
    @momocraft 好吧,我想了想理解你的意思了,这样主内容的加密和解密是基于对称方式的,非对称方式的只需要处理这个 key 就可以了,这样我理解了。
    abbenyyy
        4
    abbenyyy  
       Dec 26, 2017
    楼主的疑问是为什么要随机填充,同样的明文每次加密结果不一样?
    如果是这个问题的话,那么答案是为了防止已知密文攻击。
    zn
        5
    zn  
       Dec 26, 2017 via iPhone
    一句话回答:非对称加密速度非常慢,和比对称加密慢几个数量级。
    blackjar
        6
    blackjar  
       Dec 26, 2017
    @zn #5 这里应该是正解
    leavic
        7
    leavic  
    OP
       Dec 27, 2017
    @abbenyyy 谢谢指导,不过这个不是我关注的点,其实一楼的回复是我要的答案,是出于性能考虑。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   975 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 50ms · UTC 22:22 · PVG 06:22 · LAX 15:22 · JFK 18:22
    ♥ Do have faith in what you're doing.