Linux下的文件加解密技术:GnuPG
GnuPG(GNU Privacy Guard或GPG):Linux 下的基于PGP(Pretty Good Privacy)机制的加密及签名软件
PGP(Pretty Good Privacy)是一个基于RSA 公钥加密体系的邮件加密软件,不但可以对用户的数据保密,以防止非授权者阅读,还能给邮件加上数字签名,从而使收信人确信邮件是由您发出的。从而让人们可以安全地与从未见过的人们通信,而事先不需要任何保密的渠道用来传递密钥。
GnuPG 是实现安全通信和数据存储的一系列工具集,可以做数据加密、数字签名。
在功能上,它和PGP 是一样的,但PGP 使用了IDEA专利算法,使用PGP 会有许可证的问题;而GnuPG 并没有使用这个算法,所以对用户来说使用上没有任何限制。
GnuPG 支持的算法有如下。
公钥:RSA、RSA-E、RSA-S、ELG-E、DSA
对称加密:3DES、CAST5、BLOWFISH、AES、AES192、AES256、TWOFISH
散列:MD5、SHA1、RIPEMD160、SHA256、SHA384、SHA512
压缩:不压缩、ZIP、ZLIB、BZIP2
gpg 指令 [选项] [文件名]
指令:
-s, --sign [文件名] 生成一份签字
--clearsign [文件名] 生成一份明文签字
-b, --detach-sign 生成一份分离的签字
-e, --encrypt 加密数据
-c, --symmetric 仅使用对称加密
-d, --decrypt 解密数据(默认)
--verify 验证签字
--list-keys 列出密钥
--list-sigs 列出密钥和签字
--check-sigs 列出并检查密钥签字
--fingerprint 列出密钥和指纹
-K, --list-secret-keys 列出私钥
--gen-key 生成一副新的密钥对
--delete-keys 从公钥钥匙环里删除密钥
--delete-secret-keys 从私钥钥匙环里删除密钥
--sign-key 为某把密钥添加签字
--lsign-key 为某把密钥添加本地签字
--edit-key 编辑某把密钥或为其添加签字
--gen-revoke 生成一份吊销证书
--export 导出密钥
--send-keys 把密钥导出到某个公钥服务器上
--recv-keys 从公钥服务器上导入密钥
--search-keys 在公钥服务器上搜寻密钥
--refresh-keys 从公钥服务器更新所有的本地密钥
--import 导入/合并密钥
--card-status 打印卡状态
--card-edit 更改卡上的数据
--change-pin 更改卡的 PIN
--update-trustdb 更新信任度数据库
--print-md 算法 [文件] 使用指定的散列算法打印报文散列值
选项:
-a, --armor 输出经 ASCII 封装
-r, --recipient 为收件者“某甲”加密
-u, --local-user 使用这个用户标识来签字或解密
-z N 设定压缩等级为 N (0 表示不压缩)
--textmode 使用标准的文本模式
-o, --output 指定输出文件
-v, --verbose 详细模式
-n, --dry-run 不做任何改变
-i, --interactive 覆盖前先询问
--openpgp 行为严格遵循 OpenPGP 定义
--pgp2 生成与 PGP 2.x 兼容的报文