页面

2008-05-12

GPG使用

非对称加密要点:一对密钥,每个密钥都能加密但无法对自己加密过的文件进行解密,只能用另一密钥解密。所以,本质上无所谓公钥、私钥,公钥、私钥只是数字加密应用模型中的概念。

生成密钥:
$ gpg --gen-key
列出当前keyring中保存的密钥:
$ gpg --list-keys
导出公钥:
$ gpg -o ~/public.key --export uu
导出私钥:
$ gpg -o ~/private.key --export-secret-key uu
导入密钥到gpg keyring:
$ gpg --import ~/uu.key
加密文件:
$ gpg -r uu -e ~/my_doc.tar
解密文件:
$gpg -r uu -d ~/my_doc.tar.gpg
当加、解密时,可能当前keyring里存有多个密钥,可以通过“-u uid”来指定使用某个密钥。

  1. 注意:gpg的key name指uid,不区分大小写,可以用“gpg --list-keys”找uid。
  2. gpg中并没有严格意义上的私钥,其对应概念是“secret key”,该密钥既可以加密文件,又可以解密由自己或公钥加密过的文件。
  3. 在终端中export密钥时应使用“-a”或“--armor”参数,该参数会在保障当前内存安全的情况下,导出密钥为ASCII而非二进制。
BTW:数字签名就是签署方使用一定的算法、参数对数据进行运算,生成“摘要”;验证方收到数据、摘要(即签名)后,使用同样算法、参数再次对数据进行运算,生成“摘要”,然后对前后两摘要进行比对。

没有评论: