人生来就带有一种窥探欲,这种欲望似乎是人性的一部分,无论这个人意识到还是没有意识到,无论这个人是个正人君子还是个卑鄙小人。大众们总是对明星们的私生活津津乐道;下属们总是去猜测领导们的家庭情况;公司总是想方设法去打探竞争对手内部的负面消息。而另一面,明星们竭尽全力隐藏自己的私生活;领导们缄口不言自己的家庭情况;公司们用尽手段不让内部消息泄露。这一切像是一场捉迷藏的游戏,一方拼命地藏秘密,一方努力地找秘密。这样的游戏也许来自我们作为一种生物生存的本能,自人类存在应该就有了。
秘密本身是不带加密功能的,它只是一个客观事实,比如一件事情,一句话,一个人的名字等等。为了保护一个秘密,聪明人就想出来一个办法,那就是加密。传统意义上加密的原理就是用一种方法把需要保密的信息进行变换,接收方用同样的方法逆操作把变换过的信息进行恢复。
最简单的一种加密操作就是一对一替换的变换,比如一种加密方法就是把原文的字母顺移3位,得到的字母便是密文。比如罗密欧要向朱丽叶发一封情书,这封情书的内容很简单,就是“I Love You”,但又怕被朱丽叶的家人截获发现,于是聪明的罗密欧使用了以上的加密方法,写下了“L Oryh Brx”,于是高高兴兴地发出去了。这是一种非常古老的加密方法,在公元前罗马共和国时代就已经被尤里乌斯恺撒使用过,因此称为“凯撒加密”。
这种古老的“凯撒加密”方法是脆弱的,可以通过统计英文单词字母的出现频率来破解。在20世纪初又有一种加强版的加密技术被发明,就是用一串密钥(key)来对原文的每个字母进行加密。密钥由若干个字母组成,每次用一个密钥的字母和原文的字母进行一组固定的运算操作,得出一个密文字母,然后使用下一个密钥字母和原文字母,进行下一次运算操作。由于每次进行加密的时候使用的密钥字母都是不同的,这样会增加破解的难度。这样的加密原理被二战中的纳粹德国广泛使用,最著名的就是德军使用的Enigma密码机。
现在我们来想一下凯撒加密和密钥加密的问题在哪里?在凯撒加密中,加密运算的规则是固定的(比如字母顺移3位),所以任何人只要知道了加密运算的规则,那自然就可以破解密文。在密钥加密中,除了加密运算的规则,还加入了一个密钥进入运算,加密方需要用这个密钥来进行加密,而解密方也需要提前知道这个密钥才能解密。这就引入了一个密钥传输的风险,在加密方传输这个密钥的过程中会有密钥泄露的风险。打个比方,你给一个文档设置了一个密码,通过email发给了你的朋友,你朋友必须要知道你设置的密码才能打开文档,那你就必须通过某种途径告诉你朋友这个密码,email,写信,或者短信,但任何一种途径都存在着泄露密码的风险。
1977年,麻省理工的三位科学家发明了一种加密算法,可以从本质上完美解决密钥传输泄露的问题,这种算法以三个人姓氏的首字母命名,称作RSA算法。RSA的操作是这样的,朱丽叶自己需要产生两个密钥,一个叫做公钥(Public Key),一个叫做私钥(Private Key)。朱丽叶可以把自己的公钥发给罗密欧,罗密欧使用这个公钥将他的情书加密,然后寄给朱丽叶,朱丽叶收到情书后使用自己的私钥进行解密,获得原文。公钥是可以公开的,任何人即使同时获取了公钥和公钥加密的信息,都是无法解密的,包括罗密欧自己。全世界只有朱丽叶可以用自己的私钥解密,你上了锁,全世界只有我能打开。全世界只有朱丽叶拥有私钥,她也不需要传输这个私钥给任何人。在数学上公钥和私钥是有关系的,破解难度取决于对极大整数的因数分解难度,在目前的计算机运算能力下,只要产生密钥的整数足够大,在有限的人类寿命时间下也无法破解。
RSA算法的巧妙之处在于,我的秘密都可以公开,但你穷尽一生也破解不了。整个密码系统的安全关键就在于朱丽叶对私钥的唯一占有性,她可以公开用于加密的公钥,你也可以截获罗密欧发给朱丽叶的加密情书,但只要朱丽叶自己拥有那把私钥,没有人可以破解那封情书。
RSA算法在计算机领域系统登录方面广泛使用,近些年在讨论得非常火热的区块链上也得到了大量应用,但最近我才深刻领会到它的玄妙之处。这里的玄妙在于我可以公开我所有的秘密,但你也解不开这个秘密,因为你得不到那把私钥。
有一段时间大家都在讨论海底捞的“变态服务”,大众们因为海底捞的夸张服务纷纷要去体验。餐饮行业内的其他企业们热烈讨论学习海底捞的服务,海底捞来者不拒,想来学习参观的都欢迎。真的有企业能学习到海底捞的商业机密吗?难道秘诀真的是让服务员用3倍的速度擦桌子,还是让小哥在顾客面前表演拉面呢?这些其实是机密的呈现结果,整个门店管理运营系统也可以公开给你介绍,但大部分学习的企业参观了也是解不开这个机密的。这套企业的机密就是产生这套“变态服务”的思想逻辑,我想大部分人是想不明白的,因为还不够变态。门店的管理就是那把公钥,门店呈现给顾客的服务就是加密过的信息,而能解密的只有海底捞自己,怎么样形成这套服务机制的背后逻辑就是极大整数的因数分解过程。如果你不信,那你说说看市面上有没有可以做到无敌服务的河底捞呢?我想可能没有第二个。
无论是个人还是创业企业,抑或是公司的管理层,这样的加密思维是值得深入研究的。相比暗测测藏匿一些东西,它是一种非常高级的“秘密”。用一种坦荡的方式公开我的信息,让你看让你学习和你分享,而即使这样,你也无法真正理解到精髓。因为那把私钥是一个人强大的思维和理念,或者一个公司强大的文化。
如果你小心翼翼隐藏的方法很容易被别人学了去,那在某种程度上这不能算是秘密,因为这个秘密本身的不可破解性太脆弱,即使不被人家学了去,你能祈祷的无非也就是让别人慢点研发出来这套方法。想起大学时候教模拟电路的老师,他说他年轻的时候仿制日本原装进口的功放,拆开功放外壳的一瞬间,零件全部弹开散落一地,日本人防止被抄袭使用了这样的损招。时至今日,我想一个中国高中生在电子课上都可以设计组装一个功放了吧。
加强大脑的算法,学习深刻的理念,这才能让你拥有真正的秘密。