使用gpg实现加密文件

2013-03-19

GnuPG(GNU Privacy Guard或GPG)是一个加密或签名的软件,可用来取代商业的PGP。GnuPG用于加密、数字签名及产生非对称密钥对的软件。

I、用gpg实现对称加密

加密message.txt文件,并设置密码
#gpg -c message.txt
Enter passphrase:
Repeat passphrase:
#ll message*

-rw-r--r-- 1 root root 45998 Mar 19 17:23 message.txt
-rw-r--r-- 1 root root 10361 Mar 19 17:30 message.txt.pgp

解密message.txt.gpg文件
#gpg -d message.txt.gpg > message.txt
gpg: CAST5 encrypted data
Enter passphrase:

gpg程序可以实现非对称加密

II、用gpg实现非对称算法

1.新建用户bob,alice,生成gpg密码对.

#useradd {bob,alice}

#su - alice

#gpg --gen-key

使用DS默认数字证书算法.... O 提交。然后随意敲击键盘,根据敲击重量,频率,名称,鼠标划动,生成密码对。

#ls -a (.gnupg)为存放生成的密码对文件

#gpg --list-keys 查看公钥

#gpg --list-secret-keys 查看私钥

#gpg --export -a alice > /tmp/alice.key 导出私钥

#su - bob

#gpg --gen-key

填写真实名字的时候必须为5位, eg: bobby

#ls -a (.gnugp)

#gpg --export bobby > /tmp/bob.key

2.双方互相导入对方公钥

bob#gpg --import /tmp/alice.key

#gpg --list-keys (查询公钥应该有两个)

Alice#gpg --import /tmp/bob.key

3.alice生成message.txt文件,用gpg加密

#dmesg > message.txt

#gpg -ear bobby message.txt (用自己的私钥和对方的公钥加密文件)(对方用自己的私钥和对方的公钥解密文件)

-e 加密 -a ASC码字符串 -r指明接收者 bobby

4.讲加密好的message.txt文件邮件发给bob

alice#mail -s "test mail" bob < message.txt.asc Bob#mail (接受带附件的邮件) & w message.txt $ q #gpg message.txt (bob用自己的私钥和对方的公钥解密文件) 解密时用自己的私钥密码 III、gpg命令的用法: 一、创建密钥: $ gpg --gen-key Please select what kind of key you want:(选择密钥的种类) (1) DSA and ElGamal (default) (2) DSA (sign only) (4) RSA (sign only) DSA keypair will have 1024 bits. About to generate a new ELG-E keypair. minimum keysize is 768 bits default keysize is 1024 bits highest suggested keysize is 2048 bits What keysize do you want? (1024)(选择密钥的长度) Requested keysize is 1024 bits Please specify how long the key should be valid. 0 = key does not expire = key expires in n days
w = key expires in n weeks
m = key expires in n months
y = key expires in n years
Key is valid for? (0)(选择密钥的有效期)

You need a User-ID to identify your key; the software constructs the user id
from Real Name, Comment and Email Address in this form:
"Heinrich Heine (Der Dichter) "

Real name:(密钥的表示名)
Email address: (Email地址)
Comment:(说明)

You need a Passphrase to protect your secret key.
Enter passphrase:(解密密码)

密钥建立完成

二、查看公钥
$ gpg --list-key

三、查看私钥
$ gpg --list-secret-key

四、公钥删除
$ gpg --delete-keys 标识名

五、私钥删除
$ gpg --delete-secret-keys 标识名

六、公钥导出
$ gpg --export 标识名 > 导出文件名(多以asc为文件后缀)

七、私钥导出
$ gpg --export-secret-key 标识名 > 导出文件名(多以asc为文件后缀)

八、密钥导入
$ gpg --import 密钥文件

九、加密文件
$ gpg --recipient 标识名 --encrypt 文件名

十、解密文件
$ gpg --output 新文件名 --decrypt 加密文件名

十一、修改密钥
$ gpg --edit-key 标识名

分类:Linux安全 | 标签: |

相关日志

评论被关闭!