标准答案

“什么是成熟”是我曾经挺反感的一个话题。

大概是因为这个问题的答案往往带着一串规则:成熟就是要做事负责,就是要控制情绪,就是要不judge别人,就是要接受现实,等等等等。于是感觉成熟就好像是一个角色扮演游戏:你要明白你扮演的是什么角色,现在多少等级,系统的期待是什么样子,然后做出对应的行动。

而我碰巧越来越讨厌这些规则,总觉得这样子,人生就好像是在考场里答卷。而成熟,就好像是虽然不情愿但是仍然在纸上写上标答的能力。可是我一向算不上一个好学生,经常会不知道标答到底是什么,或者是画虎不成反类犬,让自己加倍头大。再说了,就算标答能得到高分,不会嫌这样的考试太无聊或者是太委屈了吗?

继续阅读标准答案

喜剧收尾

木田君的镐头 | 我在公开信后的一周里

围炉 | 对话木田:谁说,你什么都不能做?

新闻实验室 |Will we be equal? Will we be free?

看小说看电影的时候,你会猜测结局吗?会有怎么样的期待呢?

我大概总会希望有大团圆结局的。哪怕知道一个悲剧的结局会更有逻辑,更合理,也更有力量。毕竟现实反派不会永远话那么多,英雄也不会永远踏着七彩祥云,从天而降来拯救世界。青春棱角被时光和现实磨灭,试图挑战权威的人被碾压的得粉身碎骨,红玫瑰变成蚊子血,白玫瑰变成饭粒子,大概才是现实的真面目,也会更发人深思。可是大多时候还会期待一个美好cheesy的结局,因为现实世界如此糟糕,实在没有必要在虚拟世界里再被提醒一次。逃离现实一小会,又如何呢?

然而相信生活也会有童话结局的人是愚蠢的。所以很多人厌恶心灵鸡汤,因为它洋溢着欺骗自己的味道:努力就一定有成果,善良就一定有回报。现实大概更多的会是“人善被人欺”,是用心做出的好产品被淹没在抄袭和水军中间默默无闻,是付出再多的努力或许也不能改变什么,是个体些微的声音被体制无情的湮灭。就带来一个问题,我们该如何对待那些我们知道没有童话结局的生活。

大概合理的选择是退而求其次。毕竟大家都是普通人,大概努力也改变不了什么,没必要把希望寄托在一个虚无缥缈的童话上;毕竟还是要面对柴米油盐的日常生活。所以不如老老实实做好自己的工作,偶尔夜半梦醒,会想一想自己曾经的梦想吧。

可是也有的人不一样。她们知道自己成功的概率是多小,也清楚童话的结局并不存在。但是还是选择了向前。只为了那份渺茫的希望。

知道还有这样一些人,愿意对这个问题有着不一样的回答,让人心怀感激。

纵使你脚下有一千名挑战者,那就把我算作第一千零一名。

—— 北岛,《回答》,1976

莫问前程

“这世界纷纷扰扰 吵吵闹闹 什么是真实 ”

举铁的时候应该选多少重量,举多少组数呢?3 x 1 ? 5 x 3 ? 5 x 5 ? 10 x 10 ? 100 x 100 ?

尽责的研究员当然会去做文献调研嘛,然而文献让我有点头晕:研究显示大重量训练能调动更多的肌肉从而更加有效的刺激肌肉增长[1,2],研究显示达到力竭状态的小重量训练和大重量训练在刺激肌肉增长上没有显著区别[3,4];研究显示大的训练量和肌肉增长成正相关[5],研究也显示训练量和肌肉增长没有什么关系[6]。

当然咯,文献和文献的质量不同,采用的指标不同,带来的可信度也不一样。再加上多份文献的互相印证,如果你系统的分析这些文献,或许还是能得出一个大体的结论的。可是再好的结论也有前提条件。举铁的时候,有严格的做到每组力竭吗?HIIT的时候,能达到90%心率的强度吗?环境训练频率和熟练程度都不一样的情况下,这些研究的结果真的能够简单的泛化吗?更不要说年龄性别这些场外因素对最佳策略的影响了 [7]。

所以,其实很多时候方法好坏没有想象的那么重要对不对。方法的差距,太容易被个体的差异,环境的变化,努力的程度,或是暴雪新版本的可玩度改变了。条条大路通罗马,可是还是时不时地纠结于自己到底在那条路上,却忘了改变自己能改变的,忘了不管目标在哪,总要迈开脚步才能到达。

退一步说,就算达不到那个目标,又有什么好纠结的呢?

英国当代著名哲学家邓布利多说,“我们行动的后果经常是如此复杂、如此分散,因此,预言未来的确是很困难的事。” [8] 可惜很多时候还是假装会自己能够预知未来,并因为那些我们无法计算或控制的变量而高兴或是悲伤。其实还不如享受现在,期待未知的精彩。

再说了,时光本来算是个连续的概念。太多的时候,用目标将它人为分割成一段一段,然后在每段人生里忙着为下一个目标铺路。结果在去往目标的路上心急如焚无暇四顾,在到达目标之后却茫然四顾怅然若失。享受旅程至少和到达终点同样重要是一句不能再俗套的话,可是却常常被遗忘。

“爱一个人 没爱到 难道就会怎么样 ”

但行好事,莫问前程。

[1] Campos, G. E., Luecke, T. J., Wendeln, H. K., Toma, K., Hagerman, F. C., Murray, T. F., … & Staron, R. S. (2002). Muscular adaptations in response to three different resistance-training regimens: specificity of repetition maximum training zones. European journal of applied physiology, 88(1-2), 50-60.

[2] HISAEDA, H., MIYAGAWA, K., KUNO, S. Y., FUKUNAGA, T., & MURAOKA, I. (1996). Influence of two different modes of resistance training in female subjects. Ergonomics, 39(6), 842-852.

[3] Kumar, V., Atherton, P. J., Selby, A., Rankin, D., Williams, J., Smith, K., … & Rennie, M. J. (2012). Muscle protein synthetic responses to exercise: effects of age, volume, and intensity. Journals of Gerontology Series A: Biomedical Sciences and Medical Sciences, 67(11), 1170-1177.

[4] Schoenfeld, B. J., Peterson, M. D., Ogborn, D., Contreras, B., & Sonmez, G. T. (2015). Effects of low-vs. high-load resistance training on muscle strength and hypertrophy in well-trained men. The Journal of Strength & Conditioning Research, 29(10), 2954-2963.

[5] Burd, N. A., Holwerda, A. M., Selby, K. C., West, D. W., Staples, A. W., Cain, N.E., . . . Phillips, S. M. (2010). Resistance exercise volume affects myofibrillar protein synthesis and anabolic signalling molecule phosphorylation in young men.
The Journal of Physiology,588(Pt 16), 3119–3130

[6] Correa, C. S., Teixeira, B. C., Cobos, R. C. R., Macedo, R. C. O., Kruger, R. L., Carteri, R. B. K., … & Reischak-Oliveira, Á. (2015). High-volume resistance training reduces postprandial lipaemia in postmenopausal women. Journal of sports sciences, 33(18), 1890-1901.

[7] Kumar, V., Atherton, P. J., Selby, A., Rankin, D., Williams, J., Smith, K., … & Rennie, M. J. (2012). Muscle protein synthetic responses to exercise: effects of age, volume, and intensity. Journals of Gerontology Series A: Biomedical Sciences and Medical Sciences, 67(11), 1170-1177.

[8] Bar, Foo. 一篇关于混沌系统的文章。The Journal of Bored Friday, 73(21).

真实和谎言只有一步之遥:谈交大肌电抄袭门

昨天晚上我的朋友圈被两篇文章刷爆了, 第一篇文章 [1] 指责交大团队展出的一个肌肉电传感臂环是抄袭国外的Myo臂环,不仅功能相似,而且连概念图也是直接涂抹而成。第二篇文章 [2] 则反驳第一篇文章,声称第一篇文章哗众取宠,交大的研究其实已经独立进行多年,有很多专利注册在先。可是很遗憾,反驳的“真相”,却难言让人信服。

文[1]的第一个攻击点是该团队的产品在功能和实现上,和国外Myo的臂环类似;对此文 [2] 的回应是,交大团队的研究从2009年开始,已经经历多年,而且有11年的样机视频和12,13两项专利注册。而Myo的机型13年底才发货,所以交大的团队“研究在先,何谈抄袭”?

听上去挺有道理,然而细看会发现,第一个问题是,文中所提到的11年的样机视频和12年的专利申请(公布号CN102846317A,实际上后被驳回,仅是申请而已,文[2]在这一点上混淆视听),和“Myo臂环”并非同一设计乃至用途。如下面两图所示,视频和12年的专利, 所提及的设计是信号收集器固定在绑带上,通过魔术贴绑在手臂上,而处理单元和收集器用电缆连接。其列明的设计用途也是“医疗、生物电反馈和体育运动等领域”,并非一个“体感控制装置”,更不是“臂环”。而信号收集和信号处理分离的肌电采集本身并非什么新概念,中科大在09年也曾经试图申请过相关专利(CN103393420A)。

图1 样机视频

图2 该团队12年申请专利的附图

12年的专利并不是臂环,13年的专利总说的是臂环了吧?这就牵扯到第二个问题,反驳的文章有意将”概念公布”和“实机发售”混为一谈。Myo直到13年底才开始发送开发版,14年才发售销售版,但是该项目早在13年2月就公布了原型概念(图4),并开始众筹。而交大团队的臂环专利(CN103315737B)是2013年6月份才提交,而且设计方案和Myo当时的原型机十分相似(图3)。换句话说,该团队的专利申请时间恰巧在Myo概念公布之后,并不能证实交大团队已经有了臂环的idea。

图3 Myo 2013年2月公布的产品设计图

图4 交大团队2013年6月提交的专利附图

梳理一下的话,时间的先后顺序大概是这样的:

11年交大团队的有线绑带样机->12年该团队绑带+有线设计专利申请->13年2月Myo展出概念机->13年6月该团队提交臂环专利->13年底Myo发出首批产品->14年底该团队在工博会上展出假肢手的视频。

而关于文[1]中关于“该团队概念图系Myo产品图涂抹而成”的指责,文[2]回应说“概念图已获得专利”,只是“由于商业原因不能公布”。关于“该团队臂环在功能上究竟有无超越Myo臂环之处”,也未见文[2]做出解释,略显遗憾。

图5 交大官方微信推送的产品概念图

图6 Myo消费版产品图

需要声明的是,我并不以为交大团队是“抄袭”,毕竟科研领域的方向、设计思路撞车,是再常见不过的事情;看似相似的成果,背后的技术实践也可能截然不同。然而既然号称自己是交大人,有意模糊不同内容的专利之间的区别,或是强调“实机发售”的日期而忽略“原型提出”的时间;乃至拿批评者的身份与学校说事,揣测他人的动机,就未免有失交大人实事求是的风范。这样的“辟谣”,恐怕只能起反作用。

其实,作为一个工作在工程领域的人员,更应该有一份工程师的骄傲:复现别人的技术就是复现别人的技术,借鉴他人的概念就是借鉴他人的概念,不要把它说成是自己的。因为我们应该是最清楚理论和实践距离的一群人:看上去很美的产品概念,到实现到底有怎样的距离;看似功能相差无几的产品,内部实现的水平和难度可以有多大的差距;而这差距背后又会是多少个人多少个月的汗水。从某种程度上来说,工程研究的意义,不正在于用数据的积累和经验的累积,用对于点滴细节的反复琢磨和钻研,去告诉世界,“你以为它很简单大家耳熟能详,其实想做好比你想象的要复杂很多”吗。工程研究的价值本来就不是一个简单的概念提出时间先后能评定的,又何必对“模仿”“抄袭”的指责耿耿于怀,乃至要扭曲事实来强行证明自己研究在先呢?

以上。

不如退而结网

2017年6月的国内网络环境难言令人满意:从一批公众号被关到几家视频网站整改,从同性恋被定义成“性变态”到豆瓣抑郁症小组被关。不满的声音并不鲜见,也不乏有“我看你能删几次”的转发贴。然而随着朋友圈里越来越多的转发变成“此内容无法查看”,愤怒不满似乎也随之了无痕迹。毕竟,生活还要继续。然而,除了等待下一轮的愤怒,真的就没有什么我们可以做的了吗?

继续阅读不如退而结网

Template alias的一个小陷阱

今天碰到一段行为很独特的代码,大意如下:

这段代码在gcc当中无法编译,报错如下:

然而clang/msvc编译这段代码却很正常。哪个编译器的行为正确呢?

从报错信息上来看,gcc认为X<T>和A<T>::U不是一个类型。而肉眼看上去这明明是一个类型。要解释这个行为,可以参考c++标准(17.5.7 temp.alias):

2 When a template-id refers to the specialization of an alias template, it is equivalent to the associated type obtained by substitution of its template-arguments for the template-parameters in the type-id of the alias template

所以,template alias的equivalence是对特化之后的模板才有定义的。换言之,X<int>和A<int>::U是一个类型,然而X<T>和A<T>::U是不是一个类型,标准中并没有定义。然而问题是,在模板特化之前,编译器要先检查模板,确保这个模板定义是well-formed。于是,鉴于标准没有说怎么判定他们一样,g++就认为他们不一样,然后就发脾气了。

问题在于,为什么标准没有定义template alias的equivalence呢?因为边边角角的例子太多,标准委员会表示考虑不过来(#1286, #1979, #1558, #1520, #1244)。举两个例子来说,默认参数不同的别名该不该算作相同的类型(下文代码中的X和Y)?

再比如说,如果有没用的参数怎么办(下文代码中的X<T>和Y<T,U>)?

等等等等。所以就干脆不定义类型的相同了。

然而这样的结果就是开头那个看上去很直觉的程序还是编译不过,标准委员会计划定义一个简单一些的别名等价来回避这些复杂的问题,不过根据委员会历来的效率,感觉大概要2027年才能吵完这个问题吧。

傻瓜

我曾经很讨厌病毒式营销——倒不是因为内容有多不靠谱,而是这种营销方式给我一种被利用的感觉,让我感觉自己像个傻瓜。所以呢,看到绝大多数有分享冲动的内容,我都会思考或是搜索一下,当我兴高采烈的时候,是否有一个阴暗的反派人物在墙角冷笑:这个2B;如果有的话,就会条件反射的站远一些。

有一次和好友讲起来这个心态,朋友说,如果没什么坏处的话,其实被利用一下又如何呢?我语塞好久。

小的时候会做很多天真的事,也有很多天真的想法。随着年龄增长慢慢的意识到这些事这些念头很蠢。就经常回忆起之前生活的片段或是念头,骂一句:“这个2B”,琢磨着当时在场的熟人或者陌生人会怎么嘲笑或者鄙视自己,然后竭力避免再做蠢事。

慢慢的就矫枉过正,很在意自己有没有在犯蠢或者中二,很在意别人脑海里对自己的印象如何,或是会不会被人卖了还帮人数钱,是不是因为一句简单的鸡汤就去奋不顾身。觉得仿佛避免这些事情,在脑海里回忆自己的过去的时候就会更加满意,骂自己“真是2B”的时刻就会少一些。

后来逐渐意识到,无论如何,我终究是一个比较尴尬笨拙的人。面对这个光怪陆离的世界和各路高等级玩家,注定只能做那个进了大观园的刘姥姥,接受自己是个乡下人的事实:偶尔感慨两句“还有这种操作”是可以的,自己硬要学同样的操作,那只能成为“我能反杀”的新标本而已。

反过来,就像那位朋友所说,好像傻一点也没什么不好。如果选不对正确的路,就拿出更多的勇气坚持不怎么聪明的选择;如果无论如何都很笨拙,就大方一点给围观群众提供一点欢乐;努力去相信世界和他人的善意,相信看上去令人不满的事往往只是无心或是不得已而为之。

于是就努力生活的简单一点,或许现实的世界复杂多变,不再能扮演一个无知无畏的孩子,那就微笑着做一个清醒的笨蛋。值得庆幸的是,无论曾经或是现在的我有多么任性或是天真,仍然有很多人愿意包容一个固执中二的傻瓜。谢谢你们。

不管我们离从前有多遥远,至少还可以尝试寻找那个偏执的少年。

马里兰大学的毕业演讲:一个自我实现的预言

一位马里兰大学的华裔留学生在毕业演讲的时候称赞了美国的空气,引申到自由和民主,勉励同窗为之奋斗,结果遭到了“辱华”的攻击。然而这篇演讲其实很简单,简单到我看不懂大多数的批评。

有说这位同学在演讲里说谎的。就在十天前,北京的天气还经历了雾霾和沙尘暴的双重袭击,PM2.5超过2000,就算空气较好的昆明,此刻PM2.5指数也接近90,超过达拉斯的两倍有余。难道中国的PM2.5和美国的单位不一样吗?就在昨天,AlphaGo对阵柯洁的直播被大面积关闭。诸多不存在的网站,不能提到的名词,不是实实在在的事实?还是“自由”和“民主”在新话当中重新被定义了?

有说演讲的内容太简单中二的。毕业的时候,难道最值得留念的,不是经历了几年的学习,仍旧拥有一份纯真和热血,仍然对这个世界充满善意和信赖;最值得自勉的,不是哪怕此刻身无半亩,仍然拥有一份心忧天下的理想吗?自己磨灭了理想屈从于现实,还要去嘲笑别人很傻很天真。大概中流击水在这些人眼中,也不过是文科生的书生意气而已。

还有的人,把目标对准了这位同学的经历和动机。“你真的体会到过中国的污染吗”“这样演讲就是为了混进西方主流社会”,更有甚者,攻击一个普通学生的长相、英文;挖掘一个本科同学的个人信息与私生活,语言的恶毒程度,让我不想在这里重述。还有号召国内公司不录用这位学生的,联系马里兰大学乃至该生申请的学校,试图阻止她被录取的,不一而足。更可怕的是,很多媒体与自媒体不但对舆论的暴力不加以限制和反思,反而公开使用煽动性的词语报道此事,对当事人的个人信息丝毫不加隐藏。公众号“北美留学生日报”的负责人当遭遇“吃人血馒头”的指责的时候甚至振振有词:“盯着我干什么,我只不过是跟在别人后面喝汤而已”。

我至今想不明白,中国的空气是好还是差,表达的自由是得到了保障还是有所欠缺,这不是一个简简单单的事实判断吗,为什么要指鹿为马?演讲者的重点是自由表达的重要性,既没有否认中国取得的巨大进步,也没有说“国外的月亮都是圆的”,为什么要选择性无视?

更重要的是,就算是演讲者失之浅薄,报道出了一点偏差,难道不能以宽容的态度去倾听和讨论吗?遇到一个“影响形象”的演讲,不去讨论事实,不去理解原意,先抓住几个字眼,扣上一顶“辱华”的帽子,然后再深挖演讲者的思想动机,人肉这个学生的生活和经历,最后大加批判,大有让其永世不得翻身的架势,这怎么可能不让人产生联想呢?

不,我不觉得一个本科生的演讲会“辱华”。相反,对于一篇并不复杂的演讲,断章取义,刻意曲解,是对我们阅读能力的侮辱;对于并不复杂的事实,推搪否认,百般粉饰,是对我们批判能力的侮辱;一边嘲讽着别人的“政治正确”是限制言论自由,一边用“政治敏感”打压一个本科生的自由表达,是对我们公民意识的侮辱;对于批评,不但不能“无则加勉”,甚至连一笑了之的气度都没有,是对我们坦荡胸襟的侮辱;对一个优秀到足以代表UMD全体毕业生的同学,不但不为之自豪,反而因为小事人身攻击,人肉搜索,是对华人凝聚力与善良人格的侮辱。

而认为中国空气差或是不够自由,就会影响她在外人中的“伟大形象”——这才是对这个拥有几千年历史和十几亿子孙的伟大文化的侮辱吧。

而知道吗,在我写这篇文章的时候,BBC卫报纽约时报华盛顿邮报等诸多西方媒体,都已经报道了中国大量民众对一个普通女孩子演讲的愤怒和不满;恐怕也就更强化了所谓“西方媒体对中国缺乏自由空气的偏见”吧。

那篇演讲里对中国的描述,终于成为了一个自我实现的预言。

Quora问答:最精彩的机长广播

译自Quora问题和评论:What is the coolest line a pilot has said to his passengers?

    • Tim Morgan, 商业飞行员: ASEL, AMEL, ASES, IA

这题简单,1982年英国航空9号班机从新加坡前往澳大利亚。飞机路上途径印尼一座正在喷发的火山,全部四具引擎由于火山灰熄火。当值机长以无可非议的英国式淡定态度作了如下广播:

女士们,先生们,现在是机长广播。我们遇到了一个小问题。所有四具引擎都熄火了。我们正在尽最大努力重新启动引擎。我希望各位不会因此太过紧张。

  • Kamal Krishna, Mobilise CEO

两周前我乘坐iFly航班从班加罗尔飞往德里。航班即将抵达着陆,突然之间引擎狂转尖叫起来——飞行员决定再来一圈。很多乘客都在四处张望,想搞清楚怎么回事。这时候机长广播说,“女士们先生们,很抱歉我们不得不取消着陆,再次盘旋。一架SQ(新加坡航空)飞机好像着陆晚了,没有让出跑道。有的时候飞行员搞不清楚自己是不是降落对地方了就会这样——*停顿*——开玩笑的,我们会在5-7分钟后返回着陆,请系好安全带。”

  • PJ Verhoef, Adobe数字营销,地理位置营销,长跑者。

这段广播是在荷兰皇家航空(KLM)航班在他们的主场,(天天大风的)阿姆斯特丹史基普国际机场着陆的时候听到的。由于大风,进近过程很恶心,着陆也好不到哪去。与其说是降落,更像是把飞机狠狠的摔在跑道上,然后像疯子一样踩刹车。

飞行员:“女士们先生们,欢迎来到阿姆斯特丹史基浦机场。现在我想简单解释一下刚才这事儿。我们飞行员一般把降落分成两种,一种是降落之后你还能用那架飞机飞回去的,另一种就是你们刚见着这种。我们对给您造成的不便表示歉意,感谢您乘坐KLM,等等等等”

  • Jon Green,长期乘坐跨大西洋以及其他航班。偶尔还挺喜欢的。

最酷的。

我们乘坐一架从伦敦出发的Virgin Atlantic 747航班,在拉斯维加斯着陆。我们刚经过跑道入口受到微爆流(一种非常强大的下沉气流)的袭击。飞机摇摆左偏,机翼下沉几乎坠地。飞行员在飞机失控打转之前做出了修正,但是有点矫枉过正。我们离开了微爆流区域,所以那个机翼本来就又抬高了。然后飞机就往另外一边偏来着,右机翼几乎碰到地面,然后飞行员又纠正了。这样左右震荡了几次才完全回复。

最后,就在主轮落地之前,飞行员把飞机指向虚线的方向,重重的着陆。

作为一个飞行员——包括滑翔机——我知道他们刚才在那个危险状况下有多努力。在极端对流天气下着陆不算轻松, 尤其还有一侧机翼受到微爆流影响,他们干得很好。

几分钟后,当我们正离开滑行道的时候,机舱广播来了,飞行员用一种非常放松,简短的英式语调说:

好吧,女士们先生们 —— 你们或许已经注意到了,我们刚刚抵达拉斯维加斯。

我笑了一秒钟。

  • Fred Rose

我的故事没有引擎熄火那么精彩:我们即将抵达莫斯科,然而在大约500英尺的高度,飞机突然再次爬升,重新进行降落程序。飞行员在广播里说:“女士们先生们,我是你们的机长。我们获准于莫斯科国际机场降落,然而进近过程中我发现跑道上还有一架飞机,所以取消了着陆。欢迎来到俄罗斯。”

  • Allan Scott

这是我最喜欢的故事,不过跟乘客没啥关系。一名英国飞行员被法兰克福机场迷宫般的跑道搞糊涂了。塔台被他惹毛了:“你从来没来过法兰克福吗?” “来过啊,”英国佬说,“不过只在夜里来过,而且我们没落地。”

  • James Mathre

好多年前我坐一架小飞机从加州的Eureka飞往旧金山。飞行员说,“各位,为了您的安全,以及那些地面人员的安全,请您在全程都呆在机舱之内。”

  • David Baynes

我坐的一架班机上,机长说:右边的乘客们,你们往窗外看可以看到航天飞机正在发射。左边的乘客们,你可以看右边的乘客看航天飞机发射。

给程序员烧纸,怎么能公钥和私钥分开烧呢?

 

最近有一个挺流行的段子:

清明节了,大家给程序员烧纸的时候一定要注意,公钥和私钥要分开烧

然而,从安全的角度上来讲,这样的做法并不靠谱。不但烧私钥不靠谱,烧公钥同样也不靠谱,为什么呢?

对称加密

加密方法是用来保障通信安全的。这里就要扯到每本密码课本里都会提到的那个例子:Alice有一个重大的消息P(明文)想告诉Bob,然而邪恶的Eve在窃听他们的通信。Alice要怎么做才能既把消息传递给Bob,又不让Eve知道呢?

继续阅读给程序员烧纸,怎么能公钥和私钥分开烧呢?