博文

目前显示的是标签为“GnuPG”的博文

学习GPG

0. 前言 在使用 repo 下载 android 源码和 git 下载 kernel 源码里会使用到 gpg ,那 gpg 是什么?该如何使用?这里说到的 GPG 是 GnuPG ,是 Gnu Privacy Guard 的缩写,它提供钥匙管理、加解密和数字签名等功能,其涉及到非对称加密算法,在学习每一项新技术时都先学会用再去深究其实现,故而我们在这里简说原理后立马学习如何用,品尝非对称加密算法应用下的 GPG 味道。 非对称加密算法使用公钥和密钥两个配对的钥匙,公钥加密,密钥解密,公钥加密后的信息只能由配对的密钥来解密还原信息,而对称加密算法则只有一个钥匙,加解密用同一把很不安全。数字签名一般是在发送的信息后面添加签名(即一堆处理后的字符),该签名是根据发送方的密钥和信息内容进行处理得出,而接收方在收到信息后使用发送方的公钥就可以验证接收到的信息的正确性,确认有没有被篡改过。 我们使用的环境是: Ubuntu13.10 ( 64 位, Kernel : 3.13.6 ) 1. 安装 GPG sudo apt-get install gnupg 一般 Ubuntu 都安装好了。 2. 生成钥匙对 gpg --gen-key 运行该命令后有如下提示内容需确认: Please select what kind of key you want: (1) RSA and RSA (default) (2) DSA and Elgamal (3) DSA (sign only) (4) RSA (sign only) Your selection? 这里采用默认的 RSA 就可以,直接回车后有如下内容: RSA keys may be between 1024 and 4096 bits long. What keysize do you want? (2048) 这里是配置产生的 KEY 的位数,在 1024 到 4096 之间,我们采用默认的 2048 即可( KEY 的位数越多越安全,但加解密的速度则会越慢),直接回车后有如下内容: Please specify how long the key should be valid. 0 = key does not expire ...