文档章节

密码学——公钥与私钥

花果山妖
 花果山妖
发布于 2014/08/02 13:23
字数 1099
阅读 26
收藏 0

这里不讨论数学原理,只说明其实现和传输过程。

我们先假定一个数据的发送方和一个数据的接收方(就叫小红和小明好了!)

发送方小红拥有一对密钥:一个公钥和一个私钥。

接收方小明也同样拥有一对密钥:一个公钥和私钥。

注意:这四把钥匙(密码)各不相同!

公钥的概念:公钥是可以在网络上传输的,也就是说接收发送双方都可以知道彼此的公钥,当然,如果你用网络嗅探等技术,也可以在网络上嗅探的公钥的内容,但你仅有公钥是无法解密文件的。

私钥的概念:私钥是用户各自私有的,不会在网络中传输(也就是说不需要接收发送双方彼此交换此密钥),这就保证了此密码的安全性,黑客无法在网络中嗅探到该密钥,而是被严格的储存在用户自己的主机中。

公钥和私钥的关系:公钥加密的数据只有私钥可以解锁,私钥加密的数据只有公钥能解锁,而两者都无法自己解锁自己!这一点是保证数据无法被窃取的关键!而公钥和私钥的唯一区别也接就是公钥会互相交换在网络上传输,而私钥自己保留不在网络上传输。

下面介绍数据加密传出过程(如下图):

想象以下场景:

发送方小红要向接收方小明发送一封情书(好吧,为了配合下面的图我只能编个女追男的故事,让广大吊丝意淫下!),但是小红呢,女孩子嘛,比较害羞,怕某些别有用心的人偷看到他写给心上人的悄悄话,就利用了加密技术,让网络上无聊的人们无法偷窥到它的情书。

第一步:小红用自己的私钥给情书上了第一道锁,这个私钥只有她自己知道。

第二步:其实两人之前相互了解过(通信过),这个时候已经都拥有的对方的公钥,所以小红又在第一步的基础上用小明的公钥给情书加了第二把锁。

第三步:这个时候小红这边就已经把情书加密好了,她很满意,因为已经万无一失了!她把加了两把锁的情书发到网络上传送给小明,这个时候网络上的黑客们也许已经在小红和小明初次幽会并交换公钥的时候窃取到了两人的公钥。但请想想小红的加锁过程,最外面一道锁(第二道锁)是用小明的公钥加密的,也就是说要用小明的私钥来解密才可以打开,但黑客最多只能拥有两人的公钥,而无法获得小明的私钥,这就有效的避免的数据被窃取,即使黑客截获了情书,也只能看到一堆杂乱无章的乱码,而无法真正得知情书的内容。

第四步:小明顺利的接收到了小红的情书,利用自己的私钥,成功解开的外层的锁。(外层的锁是小红用小明的公钥锁的!)

第五步:小明又拿出了小红的公钥,解开了情书内层的锁。这时候就可确定情书确实是小红发的,而不是其他人伪造来忽悠自己的。(内层的锁是小红用自己的私钥锁的!)

最终,小明成功的看到了小红的情书,心中暗爽:吊到妹纸的感觉真好!

注:整个过程中利用两把锁将数据的传输过程严格加密,数据在传输过程中无法被解密,除非黑客入侵了接收方(小明)的电脑,窃取了他的私钥。所以,此种方法可以保证在传输过程中是严格保密的,即使收发双方交换的公钥被嗅探到也无法揭秘。当然,没有绝对的安全,如前面所说,直接被入侵了电脑那就无存在什么秘密了~

本文转载自:http://www.cnblogs.com/darksir/p/3704198.html

共有 人打赏支持
花果山妖
粉丝 3
博文 17
码字总数 9727
作品 0
沈阳
私信 提问
揭秘比特币和区块链(三):比特币的私钥、公钥与地址

地址、交易、区块、网络是区块链数据里面最基本最重要的概念。地址用来标示一笔交易的支出方和接收方。所有的交易最终需要被记到统一的账本——区块链上,而这个账本是通过区块确认并完成的。...

雪花又一年
04/19
0
0
Hyperledger Fabric的一些密码学常识

Hash 哈希(Hash)算法主要作用是将一段任意长度的数据,经过计算转换成一段定长的数据。 这种算法的特性是:几乎不能通过Hash的结果推导出原文。并且几乎没有可能找到两个不同的信息,对两个...

luckray
06/17
0
0
密码学笔记

1. 加密方法可以分为两大类。一类是单钥加密(private key cryptography),还有一类叫做双钥加密(public key cryptography)。前者的加密和解密过程都用同一套密码,后者的加密和解密过程用...

阮一峰
2006/12/10
0
0
密码学基础知识

密码学.png 密码学 推荐书籍 图解密码技术 结城浩 著 周自恒 译 密码学概览 密码学概览图 消息的特性 机密性 完整性 认证 不可否认性 密码算法 密码算法应用场景概览 对称密码 商密算法 国密...

数学角度看生活
2017/06/21
0
0
密码学的那些事儿

密码密码学中的密码和我们日常生活中所说的密码不太一样,计算机术语『密码』是一种用于加密或者解密的算法,而我们日常所使用的『密码』是一种口令,它是用于认证用途的一组文本字符串。这里...

linuxCool
2016/11/25
41
0

没有更多内容

加载失败,请刷新页面

加载更多

小白创建一个spring boot项目

进入 https://start.spring.io/

lilugirl
45分钟前
0
0
Alibaba Java诊断利器Arthas实践--使用redefine排查应用奇怪的日志来源

背景 随着应用越来越复杂,依赖越来越多,日志系统越来越混乱,有时会出现一些奇怪的日志,比如: [] [] [] No credential found 那么怎样排查这些奇怪的日志从哪里打印出来的呢?因为搞不清...

hengyunabc
今天
1
0
home hosts

home hosts lwk@qwfys:~$ cat /etc/hosts127.0.0.1 localhost127.0.1.1 qwfys192.168.56.101vm600.qwfys.com39.108.212.91alpha1.ppy.com39.108.117.122alpha2.p......

qwfys
今天
1
0
大数据教程(6.1)hadoop生态圈介绍及就业前景

1. HADOOP背景介绍 1.1、什么是HADOOP 1.HADOOP是apache旗下的一套开源软件平台 2.HADOOP提供的功能:利用服务器集群,根据用户的自定义业务逻辑,对海量数据进行分布式处理 3.HADOOP的核心组...

em_aaron
今天
4
0
hadoop垃圾回收站

在生产生,hdfs回收站必须是开启的,一般设置为7天。 fs.trash.interval 为垃圾回收站保留时间,如果为0则禁用回收站功能。 fs.trash.checkpoint.interval 回收站检查点时间,一般设置为小于...

hnairdb
昨天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部