公钥,私钥,SSL

原创 2004年07月09日 19:16:00

一,公钥私钥
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)。

公钥,私钥,SSL通俗讲解

一,公钥私钥 1,公钥和私钥成对出现 2,公开的密钥叫公钥,只有自己知道的叫私钥 3,用公钥加密的数据只有对应的私钥可以 解密 4,用私钥加密的数据只有对应的公钥可以解密 5,如果可以用公钥...
  • silence2015
  • silence2015
  • 2017年02月13日 21:32
  • 754

数字证书、公钥和私钥这三者之间的关系是什么

根据非对称密码学的原理,每个证书持有人都有一对公钥和私钥,这两把密钥可以互为加解密。公钥是公开的,不需要保密,而私钥是由证书持人自己持有,并且必须妥善保管和注意保密。数字证书则是由证书认证机构(CA)...
  • a351945755
  • a351945755
  • 2014年03月26日 00:56
  • 9541

数字证书、公钥和私钥这三者之间的关系是什么

根据非对称密码学的原理,每个证书持有人都有一对公钥和私钥,这两把密钥可以互为加解 密。公钥是公开的,不需要保密,而私钥是由证书持人自己持有,并且必须妥善保管和注意 保密。 数字证书则是由证书认证...
  • kavenyang
  • kavenyang
  • 2014年12月22日 16:01
  • 1389

JAVA RSA公钥私钥学习笔记

工作中遇到一个银行对接项目,对接双方采用交换公钥方式,使用对方公钥加密/验签,已方私钥解密/签名。 这里就用到了java的 非对称加密“RSA”1 生成RSA密钥对package utils;imp...
  • hua18123870251
  • hua18123870251
  • 2016年06月23日 12:33
  • 1579

公钥,私钥,数字签名,数字证书详解

 1. 鲍勃有两把钥匙,一把是公钥,另一把是私钥。 2. 鲍勃把公钥送给他的朋友们----帕蒂、道格、苏珊----每人一把。 3. 苏珊要给鲍勃写一封保密的信。她写完后用...
  • sum_rain
  • sum_rain
  • 2014年07月04日 16:16
  • 4614

图解公钥与私钥

导读 在学习ssh章节时,一定有不少人对公钥和私钥产生过不解。在搜索公钥跟私钥的理解时,发现了这篇有趣的图解小文章,与大家共享。 1. 鲍勃有两把钥匙,一把是公钥,另一把是私钥。 ...
  • linuxnews
  • linuxnews
  • 2016年04月11日 10:53
  • 1863

数字证书原理,公钥私钥加密原理

文中首先解释了加密解密的一些基础知识和概念,然后通过一个加密通信过程的例子说明了加密算法的作用,以及数字证书的出现所起的作用。接着对数字证书做一个详细的解释,并讨论一下windows中数字证书的管理,...
  • ly131420
  • ly131420
  • 2014年08月06日 14:24
  • 28096

RSA的公钥和私钥

RSA的公钥和私钥到底哪个才是用来加密和哪个用来解密? 我查了好多资料还是不懂。头晕了 rsa的加密和数字认证怎么结合起来,能不能具体说明一下。 还有公钥和私钥到底哪个才是用来加密和哪个用来解密?...
  • haihsl123456789
  • haihsl123456789
  • 2015年11月12日 16:17
  • 2514

Git之SSH公钥与私钥

Git clone操作实现 我们今天来探讨一下如何使用Git的操作,来进一步的实现代码的下载到本地,我原来也不是很明白git中生成公钥和私钥的作用,我一直在想,git里面你把自己的公钥发给了git的...
  • wj123446
  • wj123446
  • 2016年10月10日 20:04
  • 5430

公钥,私钥和数字签名这样最好理解,以及加解密实例

原文:http://blog.csdn.net/21aspnet/article/details/7249401 一、公钥加密  假设一下,我找了两个数字,一个是1,一个是2。我喜欢2这个数字,就...
  • ly0303521
  • ly0303521
  • 2016年11月29日 13:44
  • 3644
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:公钥,私钥,SSL
举报原因:
原因补充:

(最多只允许输入30个字)