转载须知:个人博客随意,记得署名.商用及大中型网站联系我先sodya#qq.com,否则小心"上榜"


加精博文?

非对称加密有两把钥匙,公钥和私钥 GnuGP还分为主密钥和辅助密钥,但都可以看成一个整体

先输入用户名和邮箱 然后输入密钥的保护密码,不输入就没法进行下一步的密钥生成

gpg-connect-agent /bye 我去,密码长度太短也不行 还有个gpg2 gpg –full-generate-key

签名要用主密钥 1 DSa和Elgamal Dsa是主密钥用来签名,ElGAMAL是辅助密钥用来加密

2 DSA(sign only) 和第一的区别就是只能签名,因为没有elgamal加密

3 elgamal用来签名和加密 辅助密钥后续还可以添加,但默认第一个选项就好

DSA要在512和1024之间, Elgamal可以是任意位数 gnupg要求要大于768

位数越长越难破解,加密解密时间也会增长,也会增加签名的长度,而且后面不能再修改位数

设置有效期,虽然能改,但公钥一旦发布给别人就不好改了

用户id和密钥绑定生成,可以多用户id绑定一个密钥 就像一个人有多个角色一样,你可以同时是孩子和学生,顾客 用户id也不能修改

生成撤销证书 生成密钥后最好生成相应的撤销证书,方便忘记密码或者私钥被窃取后通知其他人这个公钥已经失效了 撤销的公钥(失效的公钥)能用来解密失效前的文件,但不能用来再加密文件了,因为失效了嘛

gpg –output revoke.asc –gen-revoke [mykey]

交换公钥

gpg –list-keys

导出公钥 gpg –output royaso.gpg –export royaso@gmail.com

也可以导出明文形式,方便发布和邮件传输 gpg –armor –output royaso.gpg –export royaso@gmail.com

导入别人的公钥 gpg –import xx.gpg gpg –list-keys

导入后还要验证下:就是把这个公钥签下名,当然在这之前看看公钥的指纹

gpg –edit-key xxx.gpg command > fpr

指纹只能跟所有者确认了 commmand > sing commmand > check //查看 前面会有sig!字样

加密解密文件 公钥用来加密,私钥用来解密 加密前还会先压缩

gpg –output xx.doc.enc –encrypt –recipient xxx@aaa.com file.doc

可以同时给多个人加密文件,每个人对应一个–recipient参数(是吗???)

gpg –output xxx.doc –decrypt xxx.doc.enc

也可以用对称加密 gpg –output xx.enc –symmetric file.txt (…但是他没写如何解密啊) 注意,这里的密码是自己设置的

签名和验证签名 数字签名可以验证和给文件加上时间戳 文件要是被篡改了数字签名就会失效 数字签名和真实签名一样具有不可抵赖性和另一个好处:不可篡改性

签名用到的是私钥,验证用到的是公钥。和加密解密相反。

gpg –output file.sig –sign file.txt 签名前也是会压缩的,结果是二进制文件

gpg –output file.txt –decrypt file.sig

验证 –verify

明文签名: –clearsign

分开签名: –detach-sign 验证的时候是 –verify doc.sig doc 我看phpmyadmin的验证说明是只要 –verify aaa.sig

对称加密很吊啊,128位加密,全世界的计算机算到宇宙尽头也破解不了

但对称加密的弱点不在于它容易被破解,实际上它很难破解了,而是在于密码的交换。所以对破解者来说,破解它还不如截获密码来的容易。而且知道密码的人越多越容易泄漏。还有,如果一个组织之间每个要相互加密交流那用到的密码也很多个n(n-1)/2

所以非对称加密出现了 它基于单向函数,什么是单向函数呢,比如,两个质数相乘很容易算,但要对一个数因式分解就难了 但非对称加密是有“漏洞”的,漏洞就是,一旦两个质数之一被知道了,那另一个质数也就很容易被算出来了

非对称加密的公钥用的是两个很大的质数来加密,密钥就是用来解密,如果其中之一的质数被发现了,那破解也就很简单了:知道其中一个乘数和结果,来算另一个乘数,这不就是除法吗

所以位数很重要,但位数的重要性对于两者是不同的,对称加密:128位就是2的128次方,这么多可能,而对于非对称加密,512位,那就是要在2的512次方这个数的结果里面找到那两个大的质数(很大的一个数,1后面150个0),明显是简单多了,所以1024位对于非对称加密来说是够了

现在是两种加密方式和起来的用 结合两者的特点 1 对称加密强度高,加密解密快,但密码的交换是个问题 2 非对称加密正相反,正好坭补密码交换的问题

用非对称加密来加密对称加密的密钥,对称加密的密码用来加密解密,因为对称加密的密码交换不安全,所以每次的加密密码都不一样,称为session key.所以就算被破解了,也只是这次的通信,其他通信它还要再破解一次,因为因为每次的session key不一样啊

非对称加密通信也并非完美,它也很容易受中间人攻击,因为你不能确信你以为的他是他还是别人冒充的他。 所以得到的公钥你要自己签名验证下,为的就是防止有人在你得到公钥后替换成中间人的公钥以便实施中间人攻击

公钥也应用了“信任网”,这样你不必自己验证公钥,只要是你验证过的人他信任这个公钥,那这个公钥也被你自动信任



There are no comments on this post.