GnuPG使用用户自行生成的非对称密钥对来加密信息,由此产生的公钥可以同其他用户以各种方式交换,如密钥服务器。他们必须小心交换密钥,以防止得到伪造的密钥。
GnuPG还可以向信息添加一个加密的数字签名,这样,收件人可以验证信息完整性和发件人。
GnuPG不利用专利或其他方式限制软件或算法,就像IDEA算法一开始出现在PGP中一样。(可以通过下载相关插件在GnuPG中使用IDEA算法,不过如果在一些IDEA算法为专利的国家中使用,可能需要一份许可)。
GnuPG同样也使用各种其他非专利的算法:
分组密码:CAST5,Camellia,Triple DES,AES,Blowfish,Twofish
非对称加密密码:ElGamal,RSA
加密哈希:RIPEMD-160,MD5,SHA-1,SHA-2,Tiger
数字签名:DSA,RSA
GnuPG是一个混合加密软件程序,它使用常规对称密钥提高加密速度,使用公钥便于交换。通常使用一次性的收件人公钥用以加密会话。