PGP指定AES等算法加密后,用CAST5解密为何仍成功?
PGP加密解密算法疑问解答
- 核心原因是PGP加密包会内置实际使用的对称加密算法标识,解密程序会自动读取该标识并使用正确算法解密,而非严格执行你手动指定的CAST5。
- PGP采用分层加密逻辑:
- 随机生成一次性会话密钥(对称密钥),用你指定的AES_128/AES_192/TWOFISH等算法加密明文。
- 用接收方公钥加密这个会话密钥,将其与加密后的明文打包为PGP消息,消息中会明确标记加密明文所用的对称算法类型。
- 解密时,程序先解析PGP消息头,提取出实际的算法标识,自动调用对应算法完成解密,不会强制使用你指定的CAST5。
- 只有当PGP消息中的算法标识不被解密程序识别,或你强制程序忽略标识硬用指定算法解密时,才会出现解密失败或乱码的情况。
内容的提问来源于stack exchange,提问作者Dex
相关产品推荐
相关产品推荐

