PGPKeyRingGenerator 构造函数接受一个密码来加密私钥。它用于执行此操作的算法是什么?它有一个名为 encAlgorithm 的字段,但我找不到任何解释这些算法是什么的文档。
问问题
7532 次
3 回答
2
默认情况下,PGP 使用 IDEA(请参阅此)。
其他算法可以在 encAlgorithm 中定义,OpenPGP 支持以下算法,
public interface SymmetricKeyAlgorithmTags
{
public static final int NULL = 0; // Plaintext or unencrypted data
public static final int IDEA = 1; // IDEA [IDEA]
public static final int TRIPLE_DES = 2; // Triple-DES (DES-EDE, as per spec -168 bit key derived from 192)
public static final int CAST5 = 3; // CAST5 (128 bit key, as per RFC 2144)
public static final int BLOWFISH = 4; // Blowfish (128 bit key, 16 rounds) [BLOWFISH]
public static final int SAFER = 5; // SAFER-SK128 (13 rounds) [SAFER]
public static final int DES = 6; // Reserved for DES/SK
public static final int AES_128 = 7; // Reserved for AES with 128-bit key
public static final int AES_192 = 8; // Reserved for AES with 192-bit key
public static final int AES_256 = 9; // Reserved for AES with 256-bit key
public static final int TWOFISH = 10; // Reserved for Twofish
}
它们都使用没有填充的 CFB 模式。
于 2010-07-23T19:05:19.853 回答
1
这取决于 PGP 软件,例如 GPG 默认使用 CAST5。
于 2010-08-23T19:45:38.957 回答
0
PGP 加密使用散列、数据压缩、对称密钥加密,最后是公钥加密的串行组合;每个步骤都使用几种支持的算法之一。每个公钥都绑定到一个用户名和/或一个电子邮件地址。该系统的第一个版本通常被称为信任网络,与 X.509 系统形成对比,X.509 系统使用基于证书颁发机构的分层方法,后来被添加到 PGP 实现中。当前版本的 PGP 加密通过自动密钥管理服务器包括这两个选项。
取自此维基百科页面。它应该是你正在寻找的东西。
于 2010-07-23T18:48:44.837 回答