V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
leavic
V2EX  ›  问与答

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

  •  
  •   leavic · 2017-12-26 15:17:32 +08:00 · 1860 次点击
    这是一个创建于 2560 天前的主题,其中的信息可能已经有所发展或是发生改变。
    工作方式:先用随机 key 加密内容,再用接受者的公钥加密随机 key,把加密的内容和随机 key 一起发送给接收者。

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

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

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