GPG公钥相关

发布时间: 2013-04-19

这篇文章大致讲一下最近发现的GPG的几个很好玩的方面。

密钥(算法)长度

密钥长度如果你们希望更改最大值的话,可以参考我的这篇文章。值得一提的是,可以【预见】4096Bit RSA是不可被破解的,那么更大的长度,比如我的8192Bit RSA只是比【不能破解】更加【不能破解】而已,安全性上提高不会很大,因为都不能破解。/*就像MineCraft的基岩*/

更长的密钥长度/*8192,16K或者更长*/的缺点为:某些设备可能不支持那么长的,而且加密速度会变慢。

当然就目前一般PC加密小文件来说影响不大,那个8192的KEY主要是自己验证自己的HACK本领。

密钥(文件)大小

这个是最新发现的,看到之前别人的key为什么那么大?/*最近我收到Riseup的GPG公钥,4096Bit RSA,但是公钥大小有足足40Kib*/

再看看自己的,8192 Bit RSA,公钥文件只有8Kib

在看过了3本书,读过了几遍百科之后,我自己实验了一下,终于知道为什么了!签名

签名是这样的一种机制,当你生成了一对GPG密钥的时候,GPG会默认用你的私钥对公钥进行签名,表明这个公钥有了一个人认可过/*证明的确是你的公钥*/,而如果公钥能互相签名的话,那么你的公钥就会有很多签名,这样也杜绝了公钥造假的可能/*比如攻击者拿到了你的私钥,然后制作出一个指纹和ID一模一样但是邮箱被改了的公钥。但如果你有签名的话,这个是无法造假的,因为签名需要有别人的私钥*/

那么如何给密钥签名呢?

在linux下,打开终端,使用以下命令/*值得注意的是,GPG签名的时候好像会使用“你自己的公钥“,我猜是信任度最高的公钥,比如我打算sign 139A768E的时候,它默认是使用1F804880来签名,而且不能改,但是第二个key也是我在本机生成的啊?!,这个问题在WINDOWS下不存在,因为图形界面上是可选的。*/

gpg --sign-key <密钥ID>

查看签名可以使用

gpg --list-sigs

可以看到riseup的密钥有相当多的签名,所以GPG公钥为了承载这么多签名,密钥文件当然会很大。/*至于User ID not found这一点,很迷,不知道为什么*/

Windows下的话可以使用GPG4WIN自带的一个Kleopatra进行签名,由于是GUI的,相当简单,这里我就不演示了。

  1. 黑子传说
    2016-04-19 23:21:25

    icon_exclaim.gif icon_exclaim.gif icon_exclaim.gif icon_exclaim.gif icon_exclaim.gif icon_exclaim.gif

请在下方留下您的评论.加入TG吹水群