PGPKeyRingGenerator 构造函数采用密码来加密私钥。它使用什么算法来执行此操作?它有一个名为 encAlgorithm 的字段,但我找不到任何解释这些算法是什么的文档。
最佳答案
默认情况下,PGP 使用 IDEA ( Refer this )。
其他算法可以在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模式,没有填充。
关于java - PGP 使用什么算法来使用密码加密私钥?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3321174/