网赚论坛
标题:
【二期二团Day6-高冰】深入浅出非对称加密
[打印本页]
作者:
panruolang
时间:
2017-10-21 13:10
标题:
【二期二团Day6-高冰】深入浅出非对称加密
昨天的笔记中简单介绍了密码学中加密解密的概念,但密码学不仅研究加密解密的数学算法,还有一点同样重要,就是保护信息安全的策略。
让我们来看一个真实生活中的场景:
北京的小明发了一个快递到广州的爱斯,途中经过了上海,上海快递中心出现了一个黑客X,他偷偷打开了
小明
给
爱斯
的快递,然后悄悄把里边的东西替换掉,再按照原样包装好发往广州,可以看到对于这样简单包装的传输在中途是可以偷偷修改里边的东西。
互联网中HTTP的数据包是明文传输,也就是如果中途某个黑客嗅探到这个HTTP包,他可以偷偷修改里边包的内容,至于
小明
跟
爱斯
是互相不知道这个动作的,因此我们必须要有一个方案来防止这种不安全的篡改行为,这个方法就是加密!
再回到上面的例子,这一次,小明将衣服放到一个保险箱里边锁起来,他打了个电话告诉
爱斯
保险箱开柜密码是1234,而黑客X不知道密码,所以他看不到保险箱里边的东西,
爱斯
收到快递后用预先沟通好的密码就可以打开保险箱了。
这里保护的手段就是小明对物品进行加密,同时给了告诉
爱斯
解密的方法!
但是如果是绝密情报的特工,面对的可能是国家机器,
所有的网络和通信都处在被监听的状态
,如果采用上述的加密办法,依然会造成信息泄漏。
因此人们提出了一个方案:
在上面的例子中,要求小明的密码只能通过快递传给
爱斯。但这里还有一个技术问题待解决:
如果
小明
直接传密码给
爱斯
,黑客X如果嗅探到这个快递,那X也知道密码了,这就无法保护快递的安全性
了。因此还需要有个方案,
让
小明
能够告诉
爱斯
密码的同时,黑客X又无法查看到小明跟
爱斯
通信的数据
。
解决的方法就是采用
非对称加密
:
小明
拥有两把钥匙,一把叫做
公钥
,一把叫做
私钥
。公钥是公开让全社会都知道,小明告诉所有人,你们要传递数据给我的时候请先用这个
密钥(
公钥
)
去加密一下你们的数据,
加密后的数据只能通过小明私自藏着的私钥才能解密
。
回到刚刚例子,
小明
先发给保险柜(
小明
公钥)给
爱斯
,接着
爱斯
把自己的保险柜(
爱斯
公钥)放到小明的保险柜
(即使用
小明
的公钥加密
爱斯
的公钥)
里,送还给小明,接着小明拿到
爱斯
的数据包后,用自己的私钥解开了外层保险柜
(
小明
的公钥)
,拿到了里边
爱斯
保险柜
(
爱斯
的公钥)
。
此时
爱斯
跟
小明
都有了各自的公钥(并且都有他们自己的私钥)
,接着只要保证每次互相传递数据的时候,把数据放在对方的保险柜里边即可
(即每次都用对方的公钥加密数据)
,这样无论如何,黑客X都无法解开保险柜(因为只有各自的私钥才能解开各自的保险柜)。
这个技术猜想虽然早就提出,但直到1977年才被
美国麻省理工学院的研究小组 [ 成员:
李维斯特(Rivest)、沙米尔(Shamir)、艾德曼 (Adleman) ]
提出的。该算法用他们三个人的名字命名,叫做
RSA算法
。一直到现在,RSA算法仍然是应用最广泛的非对称加密算法。
最后,我们再来总结一下这一非对称加密算法的流程:
B生成两把密钥(公钥和私钥)。公钥是公开的,任何人都可以获得,私钥则是保密的。
A获取B的公钥,然后用它对信息进行加密,将信息传输给B。
B得到加密信息后,用私钥解密。
由于公钥加密的信息只有私钥才能解开,
因此只要私钥不泄露,通信过程就是安全的。
所以,在比特币乃至区块链的世界中,私钥都是极其重要的!
请区块链玩家们保护好自己的私钥!
请区块链玩家们保护好自己的私钥!
请区块链玩家们保护好自己的私钥!
重要的事情说三遍!!!
欢迎光临 网赚论坛 (http://www.caifuba.net/)
Powered by Discuz! X3.1