一点睛

PGP具备现代密码软件所必须的几乎全部功能。

二 常见功能

1 对称密码

PGP支持用对称密码进行加密和解密。对称密码可以单独使用,也可以和公钥密码组合成混合密码系统使用。

可以使用的对称密码算法包括AES、IDEA、CAST、三重DES、Blowfish、Twofish、Camellia等。

2 公钥密码

PGP支持生成公钥密码的密钥对,以及用公钥密码进行加密和解密。实际上并不是使用公钥密码直接对明文进行加密,而是使用混合密码系统来进行加密操作。

可以使用的公钥密码算法包括RSA和ElGamal等。

3 数字签名

PGP支持数字签名的生成和验证,也可以将数字签名附加到文件中,或者从文件中分离出数字签名。

可以使用的数字签名算法包括RSA、DSA、ECDSA(椭圆曲线DSA)、EdDSA(爱德华兹曲线DSA)等。

4 单向散列函数

PGP可以用单向散列函数计算和显示消息的散列值。

可以使用的单向散列函数算法包括SHA-1、SHA-224、SHA-256、SHA-384、SHA-512和RIPEMD-160等。MD5也依然可是使用,但并不推荐。

5 证书

PGP可以生成OpenPGP中规定的证书,以及与X.509规范兼容的证书。此外,还可以颁发公钥的作废证明,并可以使用CRL和OSCP对证书进行校验。

6 压缩

PGP支持数据的压缩和解压缩,压缩采用ZIP、ZLIB、BZIP2等格式。

7 文本数据

PGP可以将二进制数据和文本数据相互转换、例如,当不得不使用某些无法处理二进制数据软件进行通信时,可以将二进制数据转换成文本数据(ASCII radix-64格式),这些软件就能够进行处理了。

radix-64格式是在邮件等场合中经常使用的base64编码的基础上,增加了检测数据错误的校验和的版本。base64编码是一种可以将任何二进制数据都用A~Z、a~z、0~9、+、/同64个字符再加上=(用于末尾填充)来表示的格式。

8 大文件的拆分和拼合

在文件过大无法通过邮件进行发送的情况下,PGP可以将一个大文件拆分成多个文件,反过来也可以将多个文件拼合成一个文件。

9 钥匙串管理

PGP可以管理所生成的密钥对以及从外部获取的公钥,用于管理密钥的文件称为钥匙串。