Bitcoin Forum
May 09, 2024, 08:24:07 AM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: 通俗易懂比特币之非对称加密  (Read 126 times)
lypoint (OP)
Newbie
*
Offline Offline

Activity: 55
Merit: 0


View Profile
February 24, 2018, 02:25:30 AM
Last edit: February 24, 2018, 04:27:37 AM by lypoint
 #1

如何防止悄悄话被偷听?

83版电影《火烧圆明园》有个桥段:八国联军已经把刺刀戳进了北京城,慈禧带儿子坐轿子跑路,但她并不知道有大臣密谋要对她下手,毕竟趁太后还在实习的时候颠覆她最容易。



小皇帝的亲叔叔奕䜣知道情况,想和慈禧说悄悄话,却不能明讲,但他硬是掰开群臣送行队伍,在他们眼皮下给慈禧递了奏折:
http://o73gmt28q.bkt.clouddn.com/bitcointalk/1.png


慈禧打开一看,奏折平淡无奇,无非是凡尘俗事。但套上一张挖了洞的纸再看,意思就完全变了:
http://o73gmt28q.bkt.clouddn.com/bitcointalk/2.png


“当心肃顺、端华、戴桓“——这是恭亲王奕䜣真正想告诉慈禧的。

肃顺、端华、戴桓三人是老皇帝驾崩前任命的辅政大臣,后来我们的历史书都记下了这些人的命运:被慈禧一锅端。信息就是这么重要,奕䜣和慈禧用当时最先进的加密解密技术巩固了权力。

一百年后,读着历史书的小学生们也没闲着,他们不甘落后,更新了加密技术——火星文,用来传递上课时的信息,即使被老师抓包,也是一头雾水。
http://o73gmt28q.bkt.clouddn.com/bitcointalk/3.png

现在恭喜你,你只用了半分钟的时间就了解了百年对称加密史。

1、什么是“对称加密”?

恭亲王奕䜣想告诉慈禧:“当心肃顺、端华、戴桓。“但他不能明写,否则被肃顺等人知道,小命难保。于是只能“加密“——把短信(原文)写成一篇正儿八经的奏折(密文)。

和肃顺他们一样,慈禧拿到奏折第一眼看不出原意,要想知道得过“解密“这关,“解密“就是把那张洞洞纸蒙在奏折上,原文含义瞬间了然。

现在你明白了,奕䜣“写“完奏折之后,加密就是取下洞洞纸,解密就是盖上洞洞纸,两者互为逆操作。

同样的思路,在小学生的火星文里,加密是把中文变成火星文,解密是把火星文变成中文,两者互为逆操作。

简单地说,加密是把原文按一定规则变成面目全非的密文,别人看到密文没关系,因为他get不到意思。而发送方早已与接收方约定了转换规则,接收方能懂。比如奏折或火星文被别人看见没有关系,接收方收到密文,把规则倒着用在密文上就能解密,原文立等可取。

加解密互为逆操作的加密方式,就是对称加密。对称加密功能强大,除了可以完成信息传输,还可以帮你处理人际关系。

比如,你是个学霸,睡你上铺的弟兄求你帮忙,要你考试时把选择题答案写在纸条上传给他。他平时待你不薄,没事还送你一点比特币,所以你惴惴不安,一边担心监考老师扑上来把你人赃俱获,一边又怕伤及兄弟情分,但是还好,你突然想到了对称加密。

于是,考试前你们约定:ABCD四个选项分别对应wxyz四个字母,大家都记住。

考场上,你把答案写成wxwyz的样子,包在纸里,折成飞机的样子,让它降落在你弟兄的桌上,你兄弟一边顿悟到正确答案是ABACD,一边又领悟了你的智勇双全。

而且,即使被抓包,老师打开飞机看了wxwyz也是一头雾水,所以不会留下证据。想继续救你兄弟?再写一张扔给他就是了。

很厉害的加密,但它有什么软肋呢?其实你一定想到了:如果肃顺拿到洞洞纸、如果小学老师学过火星文、如果监考老师联想到ABCD与wxyz之间一一对应的对应关系,那密文就会被破解,信息传输就宣告失败。

一百年来,人们一直在研究解密的方法,而且也有成功解密的高光时刻。比如,英国计算机大神图灵破解了德国军队的加密系统,让德国人的军事机密完全暴露在盟军的眼皮地下,最终赢得了二战,电影《模仿游戏》完整地讲述了这个故事。
http://o73gmt28q.bkt.clouddn.com/bitcointalk/4.png

那有没有一种加密方法能够阻止破解呢?答案是“非对称加密“。

2、什么是“非对称加密”?

非对称加密比慈禧的对称加密晚出生80年,至于为什么要晚那么久,因为必须要等到有了计算机网络,人们有了安全传输文件的需求,才能点燃研究的火焰。

这一把火直接烧出了“非对称加密“——一种更安全的加密技术。与对称加密不同,非对称加密不支持逆推。即,就算我偷到了你的密文和加密方法,我也无法知道你的原文,这是怎么回事?

假设现在你想通过网络传递“good“这个单词给你朋友彤彤,你有两个目标:
1)让彤彤收到“good“这条信息;
2)不让其他人知道你发给了彤彤“good“这条消息;

为了完成上面两项目标,彤彤和你需要这么做:

彤彤把字符串"publicKey"公开在网上,这是她的公钥(“钥“既可读yào,也可读yuè,都没错),你想对她说什么悄悄话就用这把公钥加密吧,你可能觉得奇怪:用公开的字符串加密,难道不会被别人截取破解么?

答案是不会,因为在非对称加密中,用公钥加密,无法用原公钥解密,解密只能用私钥,私钥是一串和公钥完全不同的字符串,而且只有晓彤自己掌握,她的公钥是通过她的私钥算出来的,所以你放心地用公钥加密吧。

这就好比用一把钥匙锁住的门,居然只能被另一把完全不同的钥匙打开,这的确违反常识,但却是非对称加密和核心:公钥加密的原文,原公钥无法解密,只能用对应的私钥解。

还有一点,通过私钥可以计算出公钥,但通过公钥无法推导出私钥。所以你现在知道了,私钥是爸爸,公钥是儿子,爸爸可以生出很多儿子,但所有的儿子加起来都生不出一个爸爸。

3、非对称加密的过程

我们用F表示加密算法,你可以把F想象成一个黑箱,黑箱就像函数F(x)=y一样,把x塞进去,就出来个y。不用管中间的计算步骤,你只要知道F是数学天才们搞出来的就可以了。

F足够的复杂,以至于能为你提供足够的安全。

你把原文(good)送进加密函数F里,用彤彤的公钥(publicKey)加密后,密文(CipherText)就马上从黑箱的另一头钻出来了,即:
F( good, publicKey) = CipherText

也就是说,通过publicKey加密,good变成了CipherText的样子在网络里跑,如果CipherText被鹿晗截获,他能破解出来你想对彤彤说的含义么?

答案是“不能“。虽然公钥和算法都公开,但鹿晗不能逆推出你的原文,因为只有彤彤手里的私钥才能解密,而鹿晗不知道。

彤彤接收到了密文CipherText,用公开的解密函数f和只有自己知道的私钥privateKey就能解开密文的原意good,即:
f( CipherText, privateKey ) = good

good,彤彤现在终于知道你是个好人了。

但,真正的私钥可没有这么简单,这么简单的私钥一秒钟就能被电脑猜到,现实里的它们一般长成这个样子:
http://o73gmt28q.bkt.clouddn.com/bitcointalk/5.png

稍微有点长,但是公钥和私钥总是成对出现,公钥由私钥生成。公钥公开发布在网上,供信息发送者加密原文,私钥紧紧抓在信息接收者自己手里,用来解密发送者的密文。

结语

非对称加密影响着这个时代的分分秒秒。

如果非对称加密早30年出现,一旦被德军使用,英国人再厉害,也不可能知晓德国人内部在讲些什么,二战不会那么早结束。

而如果今天还没出现非对称加密技术,至少微信、支付宝和手机银行都不会存在,并且网络里将没有任何信任可言,因为任何人都可以随时冒充任何人。

但是,它却不失时机地出现了。于是,这个世界突然变成一个在技术映衬下可以尽情说悄悄话的时代,即使有人偷听,我们也可以放心地交谈,因为别人不懂,但你懂,而且会用。

如需了解数字签名,请参考https://bitcointalk.org/index.php?topic=3009535.0
如需了解去中心化,请参考https://bitcointalk.org/index.php?topic=3009569.0

原文载自微信公众号tangqiang0401
Bitcoin addresses contain a checksum, so it is very unlikely that mistyping an address will cause you to lose money.
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
1715243047
Hero Member
*
Offline Offline

Posts: 1715243047

View Profile Personal Message (Offline)

Ignore
1715243047
Reply with quote  #2

1715243047
Report to moderator
Littlerecyclegs20419
Newbie
*
Offline Offline

Activity: 61
Merit: 0


View Profile
February 24, 2018, 02:57:45 AM
 #2

感谢楼主分享,学习了,行情不好是时候静下心来好好学习
aireloom
Newbie
*
Offline Offline

Activity: 13
Merit: 0


View Profile
February 24, 2018, 04:32:18 AM
 #3

谢楼主分享
sunmonkey
Member
**
Offline Offline

Activity: 140
Merit: 10


View Profile
February 24, 2018, 04:47:01 AM
 #4

一直都对加密对称和非加密对称,不是很了解,虽然你讲的例子有点不靠谱。但是总的来说还是比较通俗易懂的。
突然发现在经历大涨大跌,穿越牛熊市后,才能静下心来好好学习一些东西。
以前只关注价格和消息,现在也知道要多学些东西了。
Rickyyutong
Member
**
Offline Offline

Activity: 93
Merit: 10


View Profile
February 24, 2018, 04:56:18 AM
 #5

现在可以静心下来学点东西的人不多,楼主可以多发点这些文章,这样我们就可以多学习点了。
schlossberg
Newbie
*
Offline Offline

Activity: 9
Merit: 0


View Profile
February 24, 2018, 05:28:31 AM
 #6

谢楼主分享
fylds
Newbie
*
Offline Offline

Activity: 17
Merit: 0


View Profile
February 24, 2018, 06:07:33 AM
 #7

多学习点了
howcouldI
Newbie
*
Offline Offline

Activity: 20
Merit: 0


View Profile
February 24, 2018, 08:29:56 AM
 #8

谢楼主分享
Iron@head
Member
**
Offline Offline

Activity: 168
Merit: 10


View Profile
February 24, 2018, 08:59:49 AM
 #9

看完了,挺有收获,虽然没有完全懂,但加深了心里的印象,楼主加油。

pockyzhang
Newbie
*
Offline Offline

Activity: 20
Merit: 0


View Profile
February 24, 2018, 12:21:32 PM
 #10

基础密码学哈
Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!