应用GPG
GPG使用的是非对称的密钥体系,用户拥有一对密钥,包括一个公钥和一个私钥。公钥对外公布,私钥则由自己保存。使用公钥加密的数据可以用私钥解密,同样,使用私钥加密的数据可以用公钥解密。
非对称的密钥可以用来加密和做数字签名。当用户关心信息保密性时,使用加密功能;当用户关注信息完整性及不可抵赖性时,使用数字签名功能;当用户需要同时关注信息的机密性、完整性及不可抵赖性时,可以将加密和数学签名混合使用。
简单了解这些密码学概念后,就可以开始真正的应用实践了。
对文件进行加密和数字签名
KDE中提供了图形化的加密操作方法。比如,在KDE中对一个文件加密,只需在KDE文件管理器Konqueror中选中该文件,单击右键选择“Actions”中的“Encrypt File”就可以加密文件。加密后的文件以.asc结尾。
对于图形方式的加密操作不多做介绍,下面将重点放在命令行操作方式上,介绍命令行下的各种文件加密和签名的操作方法。
1.对文件进行数字签名
#gpg --clearsign policy.txt You need a passphrase to unlock the secret key for user: "test (test) <test@yahoo.com.cn>" 1024-bit DSA key, ID ADD93830, created 2004-07-01
|
运行以上命令,生成一个名为report.txt.asc的文件,该文件中除了原文件信息外还包含数字签名信息。
2.验证文件的数字签名
#gpg --verify policy.txt.asc gpg: Signature made 2004年11月04日 星期四 15时58分07秒 UTC using DSA key ID ADD93830 gpg: Good signature from "test (test) <test@yahoo.com.cn>"
|
以上命令运行的结果显示该签名是正确的。
3.用指定的公钥对文件加密
#gpg --encrypt -r terry@mykms.org report.txt gpg: checking the trustdb gpg: checking at depth 0 signed=0 ot(-/q/n/m/f/u)=0/0/0/0/0/1 gpg: next trustdb check due at 2005-09-10
|
运行以上命令,使用自己的公钥加密report.txt文件,生成加密文件report.txt.gpg。如果使用编辑软件打开该加密文件,会发现它包含的是一些不可理解的字符和乱码。