Chinaunix首页 | 论坛 | 博客
  • 博客访问: 504289
  • 博文数量: 137
  • 博客积分: 3874
  • 博客等级: 中校
  • 技术积分: 1475
  • 用 户 组: 普通用户
  • 注册时间: 2010-07-05 10:50
文章分类

全部博文(137)

文章存档

2011年(37)

2010年(100)

分类: LINUX

2010-10-10 19:30:27

公钥和私钥用于加密数据,保证安全性和防止别人冒牌

一,公钥私钥

1,公钥和私钥成对出现
2,公开的密钥叫公钥,只有自己知道的叫私钥
3,用公钥加密的数据只有对应的私钥可以解密
4,用私钥加密的数据只有对应的公钥可以解密
5,如果可以用公钥解密,则必然是对应的私钥加的密
6,如果可以用私钥解密,则必然是对应的公钥加的密

明白了?

假设一下,我准备了两个密码,一个是x,一个是y ,我把x告诉了大家这是我的公钥,而y保留起来,不告诉大家,y就是私钥。

我有一个文件,不能给别人看,我就用x加密了。别人找到了这个文件,但是他不知道y是解密的私钥,所以他解不开,因此只有我可以用y,就是我的私钥,来解密。这样我就可以保护数据了。

我的好朋友用我的公钥x加密了字符a,加密后成了b,放在网上。别人就算拿到了这个文件,但是别人解不开,因为别人不知道我的私钥y,只有我才能解密,解密后就得到a。这样,他就可以给我传送加密的数据了。

现在我们知道用公钥加密,然后用私钥来解密,就可以解决安全传输的问题了。

如果我用私钥加密一段数据(当然只有我可以用私钥加密,因为只有我知道y是我的私钥),那么其他人都可以看到里面的内容,因为他们都知道我的公钥是x,那么这种加密有什么用处呢?

如果我的好朋友说有人冒充我给他发信。怎么办呢?我给他发用私钥加密过的信,因为只有我知道私钥。

这个时候,他会想到,能够用我的公钥解密的数据,必然是用我的私钥加的密。只有我知道我得私钥,因此他就可以确认确实是我发的东西。

这样我们就能确认发送方身份了。这个过程叫做数字签名。当然具体的过程要稍微复杂一些。用私钥来加密数据,用途就是数字签名。

好,我们复习一下:
1,公钥私钥成对出现
2,私钥只有我知道
3,大家可以用我的公钥给我发加密的信了
4,我给大家发用私钥加密的信,大家用我的公钥能解密信的内容,说明是经过我的私钥加密了,就可以确认确实是我发的了。

总结一下结论:
1,用公钥加密数据,用私钥来解密数据
2,用私钥加密数据(数字签名),用公钥来验证数字签名。

在实际的使用中,公钥不会单独出现,总是以数字证书的方式出现,这样是为了公钥的安全性和有效性。

来源:
阅读(1547) | 评论(1) | 转发(0) |
给主人留下些什么吧!~~

chinaunix网友2010-10-11 17:57:49

很好的, 收藏了 推荐一个博客,提供很多免费软件编程电子书下载: http://free-ebooks.appspot.com