按键盘上方向键 ← 或 → 可快速上下翻页,按键盘上的 Enter 键可回到本书目录页,按键盘上方向键 ↑ 可回到本页顶部!
————未阅读完?加入书签已便下次继续阅读!
1977年由罗纳德*李维斯特、阿迪*萨莫尔和伦纳德*阿德曼一起提出的,当时他们三人都在麻省理工学院工作,rsa这个名称就是他们三人姓氏开头字母拼在一起组成的。 1983年的时候,麻省理工学院在美国为rsa算法申请了专利。 但是有趣的是,在麻省理工学院申请专利之前,这三位数学家就提前将这个算法向全世界将所有细节都公开了,所以很多国家对麻省理工学院的这个专利并不承认。 这三个人之所以这么做,并不是因为麻省理工学院没有给他们奖金,而是他们认为,“密码术”不应该被政fǔ长期所垄断,而是应该像所有普通民众开放。 自古以来,科学家们所发明的所有加密方法都被政fǔ列为高度机密,实际上在rsa算法被公布之前,英国数学家就已经在内部文件中提出了类似的加密算法,但是被英国政fǔ列为了高度机密。 rsa的发明者认为,“如果只是因为一种科技可能被犯罪分子所利用,就不分青红皂白地取缔它,这种做法是非常愚蠢的”。 例如手套是用来保护手的,但是手套也可以被罪犯用来抢劫银行而不留下指纹,同样,“密码术”是一种数据保护的的科技,这和手套相似,区别就在于“密码术使联邦调查局不能够窃听,而罪犯使用的手套同样使联邦调查局的指纹分析术是去了作用。” 所以,当他们发明了rsa算法之后,担心政fǔ又会将这个加密算法列为机密,让普通民众享受不到这个成果,于是抢在政fǔ下达相关命令之前,就像全世界的同行们公布了这一加密技术的细节。 当林鸿看到他们的这个故事的时候,对他们的这种黑客精神表示敬服,这才是真正的黑客精神,共享、开放、最求自由。 原本,林鸿编写新版通讯软件的时候,心中还有一个比较大的顾虑,那就是犯罪分子也可能会利用这个软件来进行相互沟通,从而逃避政fǔ机构对他们联系的监听。他担心自己会间接成为犯罪分子的帮凶,所以心中还有些迟疑和障碍。 可是当他看到rsa的发明者所传达出来的思想之后,立刻抛弃了思想上的包袱,毫无心理负担地构想着自己的这个全新软件。 林鸿之所以选择rsa算法来作为这个软件的加密算法,是因为这个算法不但足够安全,而且允许在以前没有联系的两个个体之间,进行数据加密和解密传递。这正是他目前所需要的功能。 rsa算法是一种非对称加密算法,基于一个数学定理,即对极大整数做因数分解,也就是说,对一极大整数做因数分解越困难,rsa算法就越可靠。只要这个数学定理没有被攻克,rsa算法就是足够安全的。 在密码学中,分为两种加密算法,一种是对称加密算法,另外一种则为非对称加密算法,又称为公开密钥加密。 在对称加密技术中,对信息的加密和解密都使用相同的钥,也就是说一把钥匙开一把锁。 这种加密方法可简化加密处理过程,都用同一把钥匙来开锁,但是还不够安全,只要哪一方被别人窃取了钥匙,锁就可能被其打开。 而rsa这类非对称加密算法,信息交换的双方都两把钥匙,一把是公开的,用来加密,一把是自己私下保留的,用来解密。 当甲向乙传递信息时,可使用甲的私钥加密信息,乙可用甲的公钥进行解密,这样可确保第三方无法冒充甲发送信息;同时,甲向乙传递信息时,用乙的公钥加密后发给乙,乙再用自己的私钥进行解密,这样可确保第三者无法偷听两人之间的通信。 林鸿觉得这个加密算法简直就好像是为自己的软件量身定做的,兴奋之下,他看完《rsa加密算法》这本书之后,立刻就打开了计算机。 首先习惯性地分别登录cqcq软件和email客户端查看了一下消息。 菲丽丝给他留言说了几句,说之前不知道为什么cqcq软件一直登录不上去,后来才好了。 林鸿给她留言说明了一下情况,这是因为服务器端进行了搬迁,所以有一段时间无法登录。 这就是这种服务器端和客户端架构的缺陷所在,极不稳定,相信等他推出新的版本之后,就可以彻底解决这个问题。 在邮箱中有一封新邮件,竟然是linus发给他的,他感到很奇怪,为什么对方不直接在cqcq上留言。 林鸿一边喝水一边点开一看。 “噗——” 刚刚喝到嘴里的水顿时喷了出来,要不是他及时调整了方向,肯定直接口中的水喷到了显示器上。 “不会吧?” 林鸿看到邮件中的内容顿时有些哭笑不得——linus这次追求心仪女生的行动失败了! 让林鸿喷水的原因并不是这个,而是linus备受打击之下,心灰意冷,决定暂时休学,转而去服兵役。 芬兰是一个小国家,实行的是全民兵役制,所有芬兰男子,只要达到了规定年龄,身体又没有什么残疾缺陷的话,不管你是明星还是平民,都必须服三个月兵役。 linus很是遗憾地告诉林鸿,linux项目他暂时要停止,让林鸿有时间的话独自继续开发,一切等他服完兵役之后再说,在发出这封电子邮件之后,他就已经背着行囊,离开学校了。 林鸿叹了口气,给他回了一封邮件,希望对方能够从感情的打击中尽快恢复过来。 回完邮件,他正式开始动手编写新版通讯软件的代码。
第222章 比特信使
新版cqcq编写进展速度很快,毕竟之前林鸿已经有过类似的编程经验,其中很多代码都可以进行重用,不过由于架构变化比较大,还有一些重要的代码需要重新构想。 按照这一次的设计,中继服务器上不保存任何可能用户的私密内容,包括用户的账号、密码,以及个人信息,发送的聊天内容,ip地址,信息发送目的地……等等。 中继服务器被林鸿命名为“目录服务器”,只是保存着当前在线的客户端的网络拓扑节点,每一个使用这个软件的用户,都可以充当服务器端,都有可能被选作跳转中继节点。 而当真正创建了一条用户数据交换的私密通道的时候,当前中继节点只知道两个信息,当前的数据包来自哪个节点,以及要发送给哪一个节点。至于上级的上级、下级的下级中继节点就完全不得而知了。 没有一台单独的中继节点会知道数据包的完整路径,这是因为客户端为每一跳都分配独立的加密密钥以保证连接数据通过时不被跟踪。 这个密钥是临时生成的,就算是用户一直和同一个人联系,这条路径也并不是固定的,按照林鸿的设计,每隔十分钟就会更换一次密钥,即建立一条完全不同的连接通道。 林鸿将自己所能想到的所有可能被监听的环节都考虑到了,这样做只有一个目的,为了安全,为了避免被第三方监听。 因为不想使用中央服务器的方式来存储数据和信息,所有数据将会被分散地保存在客户端里面。 最为安全的方式,就是每一个客户端中都将已注册的所有用户信息都下载到本地保存,这样无论哪一个消失了,都不用担心自己的信息会因此而丢失,因为使用了最够安全的加密算法,也不用担心有谁对这些账号进行暴力破解,就算破解了也没用,无非是得到了这个账号而已,聊天记录是不会上传保存的。 但是如果使用这种方式,刚开始的时候可能还可以胜任,毕竟仅仅只是账号和密码的话,也不用多大的空间,当时当人数增加到一定数量级的时候,就会出现数据过大的问题。 每一个新注册的用户,可能都必须先从网络上下载其他用户的所有信息,如果硬盘不够大的话,很可能就会将硬盘撑爆。 林鸿便放弃了这个方式。他换了一种比较取巧的方式,那就是每个客户端里面只保存自己好友的信息,其他书友正在看:文理双修2。 也就是说,当你添加一个好友的时候,你的信息会全部同步给对方,而对方的信息也会同步给你。 这样一来,要保存的数据就极大减少。一个人就算有一千个好友,加密再压缩之后的信息大小也可以承受。 不过这样一来,也会有一些情况出现。例如如果有人的好友非常少,并且这些好友常年都不上线的话,他的本地数据如果丢失,就很可能会失去自己的账号和密码。 不过林鸿转念一想,没有好友的用户,那就根本不是用户,这个账号保留了也没什么意义,如果再次想使用这个软件,那就重新注册一个账号即可,以前的账号让其彻底报废 最初账号保存的地方,可以随机选择一两个“目录服务器”进行保存,一段时间之后,这些数据就会彻底被销毁,以免被有心人获得实现不良目的。 原本这只是很简单的一个软件,但是为了让其拥有足够的保密特性和安全性,林鸿将其复杂度提升了整整一个等级,可谓是绞尽脑汁、费尽心思。 最终编写出来的程序,还是分为两部分,一部分是“目录服务器端”,专门用来保存节点拓扑结构和最初的注册信息。 另外一部分则是“客户端”,当然这个客户端中也集成了中转服务功能。 早晨的时候,新版cqcq的原型便编写出来了。 林鸿兴致勃勃地登录老版软件,想要将这个消息告诉linus,可是上线之后才想起,对方已经当兵去了。 于是,他登录sam官方的bbs,写了一篇有关这个软件的详细的介绍,想正是对外发布,让大家一起来帮忙测试和使用。 不过,当他的手指接触到回车键的时候,最终还是没有按下去长风。 这个软件是林鸿亲自设计的,自然清楚一旦发布之后会对网络世界造成什么样的影响,甚至也会对现实世界造成冲击。 可以说,这是一把双刃剑,黑客们可以用其进行自由沟通,犯罪分子也可以它来干一些违法的事情,对他们来说肯定是一个绝好的消息。 但是,对于各国政fǔ来说,这就是个坏消息了。可以预料,这个软件会遭到这些人的强烈反对和封杀。 林鸿将放在回车键上的手收了回来,坐在计算机前想了好长时间,最终按下退格键,将刚刚所写的内容全部给删除了。 刚才他在脑海中模拟了一下,一旦这个软件流行起来之后,到底会发生什么情况。 最终模拟的结果是,自己可能会被fbi的人请去喝咖啡,或者像凯文那样过上隐姓埋名的流亡生活。 这两种情况他暂时都还承受不起,也不想因为这个原因而导致这个软件还没壮大起来就被扼杀在摇篮当中。 现在林鸿已经开始有了隐藏自己身份的意识,这点凯文早就跟他说过,他可不想让自己的名字出现在fbi的黑名单上。 “哎!” 林鸿叹了口气,现在实在是有点小郁闷。 自己花了整整一天一夜的时间,将这个软件给编写出来了,可是竟然没有胆量将其发布出去,实在是够郁闷的。不知道计算机的发展历史上,有没有这样的例子。 林鸿想了半天,最终想到一个非常鬼鬼祟祟的办法,那就是入侵几台服务器,先将目录服务器端安装在服务器上,然后再想办法匿名发布帖子,让大家下载使用。 可是现在林鸿对入侵方面的技术还并不是很熟悉,如果冒然这么做,也很容易被人给挖出来,到时候不小心暴露了,结果和自己直接进行发布一个摸样。 “看来还是得花点心思研究一下入侵技术。” 林鸿之前虽然觉得自己也应该学习一下入侵技术,但这是建立在防止别人入侵的心思之上,需求并不是很迫切,但是现在看来,掌握了网络入侵技术,有时候做起事情来要方便得多。 他看看时间,离晨练还有半个小时,于是继续着手改进这个软件。 再取名为cqcq显然是不合适了。 他决定给这个软件取个新的名字。 原本按照其结构,林鸿想取名为“糖葫芦”,意为信息通过多个节点进行跳转,最终达到目的地。但是转念一想,这样一看这名字就知道肯定是中国人编写的软件,一下子就将作者的范围大大缩小,想想还是放弃了。 最终的名称定为“bit_courier”,中文名称为“比特信使”,简称“bc”。 和cqcq不同的是,比特信使并没有再使用一连串的数字来表示id,取而代之的是一连串没有任何规律的散列字符串,这个字符串中有数字也有字母,还区分大小写,总共多达十三位,称为bc地址。 这是通过hash加密算法经过二次加密而计算出来的,在比特信使的规则中,具有唯一性,每个人都有唯一的bc地址,通过这个地址可以加对方为好友。 这样做的目的,是林鸿不希望别人可以简单地通过按照数字顺序累加,对所有账号进行遍历,从而避免大范围的暴力密码破解攻击色痞超警。 不过很显然,这样做bc地址太难记了,只能通过复制粘贴的方式进行操作,在林鸿的设想中,比特信使最初期的用户,应该是那些懂计算机技术的用户或者黑客,只有他们暂时才有这类需求。至于犯罪团伙,根本不在他的考虑范围之内,当然,如果这些人也有计算机技术,那算你好运,可以找到一个相当安全的通信方式。 另外,林鸿将自动更新技术也集成到比特信使中了,这样一旦发布新版本,全网客户端将可以选择是否进行自动升级。 由于比特信使本身就使用了点对点的技术,下载升级将非常方便,当一个客户端将升级程序下载之后,就立刻变成了一个下载源,可以为其他人提供下载服务。客户端越多,下载速度就越快。 理论上来说,比特信使是完全不受任何人控制的,林鸿一旦发布,他也立刻对比特信使失去了控制权,他也无法监听任何一个节点,或者说,没有任何人能够监听。这是一个没有中心的架构,整个世界都是平坦的,相互之间都是平等的,没有谁能够控制谁。 不过林鸿还是给自己留下了一个后门,那就是自动更新功能。这是唯一有可能对其进行控制的地方。这个功能可以让程序更加强大,也可以让程序失去作用。 刚开始的时候,林鸿是没有这个设计的,但是在他想要按下回车键的那一刻,他的内心突然产生了一种莫名的感觉,说不上是兴奋还是恐惧,很复杂。 考虑再三之后,他还是决定给自己留下一个后门,因为他实在无法预知,到底这个程序发布之后会产生什么样的影响。 “如果这个程序真的没有存在的必要,那么就让它消失吧。”林鸿对自己说。
第223章 黄金分割
早晨,小湖边。 林鸿在给亚瑟和马修两人讲解有关三体式的要点。 “身体直立,两臂自然下垂,头要端正……两脚脚跟并拢,脚尖外展成90度,注意,脚尖和膝盖的方向必须一致,眼向前平看……” 林鸿考虑到他们是外国人,并且是初学者,也没说什么“三八二十四式口诀”,而是尽量用简单地语言表述,并且亲自示范。 亚瑟和马修两人站了好久,不过一致无法满足林鸿的要求,不断地被要求调整,在他们看来,非常简单的一个站立姿势,竟然有这么多繁复的要求,简直太夸张了。 “stone,一个简单的站立方法,需要这么复杂吗?这样站的好处是什么?” 马修听林鸿一口气讲解这么多要点,实在不能理解。 亚瑟虽然一直没说什么,可是心中也疑惑得很,实际上这个问题,他早就想问了,毕竟每一次晨练,林鸿必定会以这样的姿势站立半个小时以上。 “这个站桩叫三体式,可以极大地增强你们全身肌肉和骨骼的协调性,另外还可以让你体内产生一种神秘的力量。” “神秘力量?”马修闻言眼神发出亮光。 “反正好处很大就是,三体式是形意的根本,如果你们真的想学好形意道,这个姿势是必不可少的。” 他回来之后已经给马修和亚瑟两人讲解过大师兄的形意道馆,他们听完之后,顿时后悔没有和林鸿一起去参加形意道馆的开馆仪式。 并且,他们两个已经决定,只等放暑假的时候,一起去纽约,拜入形意道馆门下,成为学习形意道。 ※※※※※※ 课堂上,林鸿正在上绘画课,最近在学习的内容都是素描。 以前没有接触过这门课程的时候,林鸿画图,都是按照实物直接画钢笔画,虽然画出来的东西也比较相似,但是却缺乏立体感。 经过系统的学习之后,他才知道,原来学习素描还需要学透视原理,例如素描和数学几何的关系非常大。 并且,刚开始画轮廓地时候,素描是直接将想画的图形抽象成几何体,例如圆柱体、圆形、椭圆等等。将这种大致抽象的几何体画出来之后,再不断地在细节上进行修正,使之不断接近于原型。 林鸿想到此处,想起了数学中的微积分,觉得素描这种不断接近于原型的方式,非常像微积分里面求极限的方式。刚开始可能是一个个完全和原型不同的东西粗糙的线条和几何图形,但