公钥私钥
公钥私钥
一,公钥私钥
1,公钥和私钥成对出现
2,公开的密钥叫公钥,只有本身知道的叫私钥
3,用公钥加密的数据只有对应的私钥能够解密
4,用私钥加密的数据只有对应的公钥能够解密
5,若是能够用公钥解密,则必然是对应的私钥加的密
6,若是能够用私钥解密,则必然是对应的公钥加的密
明白了?
假设一下,我找了两个数字,一个是1,一个是2。我喜欢2这个数字,就保留起来,不告诉大家,而后我告诉你们,1是个人公钥。
我有一个文件,不能让别人看,我就用1加密了。别人找到了这个文件,可是他不知道2就是解密的私钥啊,因此他解不开,只有我能够用数字2,就是个人私钥,来解密。这样我就能够保护数据了。
个人好朋友x用个人公钥1加密了字符a,加密后成了b,放在网上。别人偷到了这个文件,可是别人解不开,由于别人不知道2就是个人私钥,只有我才能解密,解密后就获得a。这样,咱们就能够传送加密的数据了。
如今咱们知道用公钥加密,而后用私钥来解密,就能够解决安全传输的问题了。若是我用私钥加密一段数据(固然只有我能够用私钥加密,由于只有我知道2是个人私钥),结果全部的人都看到个人内容了,由于他们都知道个人公钥是1,那么这种加密有什么用处呢?
可是个人好朋友x说有人冒充我给他发信。怎么办呢?我把我要发的信,内容是c,用个人私钥2,加密,加密后的内容是d,发给x,再告诉他解密看是否是c。他用个人公钥1解密,发现果真是c。这个时候,他会想到,可以用个人公钥解密的数据,必然是用个人私钥加的密。只有我知道我得私钥,所以他就能够确认确实是我发的东西。这样咱们就能确认发送方身份了。这个过程叫作数字签名。固然具体的过程要稍微复杂一些。用私钥来加密数据,用途就是数字签名。
好,咱们复习一下:
1,公钥私钥成对出现
2,私钥只有我知道
3,你们能够用个人公钥给我发加密的信了
4,你们用个人公钥解密信的内容,看看能不能解开,能解开,说明是通过个人私钥加密了,就能够确认确实是我发的了。
总结一下结论:
1,用公钥加密数据,用私钥来解密数据
2,用私钥加密数据(数字签名),用公钥来验证数字签名。
在实际的使用中,公钥不会单独出现,老是以数字证书的方式出现,这样是为了公钥的安全性和有效性。
二,SSL
我和我得好朋友x,要进行安全的通讯。这种通讯能够是QQ聊天,很频繁的。用个人公钥加密数据就不行了,由于:
1,个人好朋友x没有公私钥对,我怎么给他发加密的消息啊? (注:实际状况中,能够双方都有公私钥对)
2,用公私钥加密运算很费时间,很慢,影响QQ效果。
好了,好朋友x,找了一个数字3,用个人公钥1,加密后发给我,说,咱们之后就用这个数字来加密信息吧。我解开后,获得了数字3。这样,只有咱们两我的知道这个秘密的数字3,别的人都不知道,由于他们既不知x挑了一个什么数字,加密后的内容他们也没法解开,咱们把这个秘密的数字叫作会话密钥。
而后,咱们选择一种对称密钥算法,好比DES,(对称算法是说,加密过程和解密过程是对称的,用一个密钥加密,能够用同一个密钥解密。使用公私钥的算法是非对称加密算法),来加密咱们之间的通讯内容。别人由于不知道3是咱们的会话密钥,于是没法解密。
好,复习一下:
1,SSL实现安全的通讯
2,通讯双方使用一方或者双方的公钥来传递和约定会话密钥 (这个过程叫作握手)
3,双方使用会话密钥,来加密双方的通讯内容
上面说的是原理。你们可能以为比较复杂了,实际使用中,比这还要复杂。不过庆幸的是,好心的先行者们在操做系统或者相关的软件中实现了这层(Layer),而且起了一个难听的名字叫作SSL,(Secure Socket Layer)。
但愿能获得收获.
欢迎关注本站公众号,获取更多信息