密码术大事记

公元前5世纪,古希腊斯巴达出现原始的密码器,用一条带子缠绕在一根木棍上,沿木棍纵轴方向写好明文,解下来的带子上就只有杂乱无章的密文字母。解密者只需找到相同直径的木棍,再把带子缠上去,沿木棍纵轴方向即可读出有意义的明文。这是最早的换位密码术。
公元前1世纪,著名的恺撒密码被用于高卢战争中,这是一种简单易行的单字母替代密码。
公元9世纪,阿拉伯的阿尔—金迪提出解密的频度分析方法,通过分析计算密文字符出现的频率破译密码。
公元16世纪中期,意大利的卡尔达诺发明了卡尔达诺漏格板,覆盖在密文上,可从漏格中读出明文,这是较早的一种分置式密码。

公元16世纪晚期,英国的菲利普斯利用频度分析法成功破解苏格兰女王玛丽的密码信,信中策划暗杀英国女王伊丽莎白,这次解密将玛丽送上了断头台。
几乎在同一时期,法国的维热纳尔提出著名的维热纳尔方阵密表和维热纳尔密码,这是一种多表加密的替代密码,可使阿尔—金迪和菲利普斯的频度分析法失效。
公元19世纪,英国的巴贝奇和普鲁士的卡西斯基发展了更复杂的频度分析法,可破解维热纳尔密码。
公元20世纪初,第一次世界大战进行到关键时刻,英国破译密码的专门机构“40号房间”利用缴获的德国密码本破译了著名的“齐默尔曼电报”,促使美国放弃中立参战,改变了战争进程。
大战快结束时,美国的维那姆发明一次性便笺密码,它是一种理论上绝对无法破译的加密系统,被誉为密码编码学的圣杯。但产生和分发大量随机密钥的困难使它的实际应用受到很大限制,从另一方面来说安全性也更加无法保证。
第二次世界大战中,波兰人和英国人破译了德国著名的“恩格玛”密码机密码,美国人破译了被称为“紫密”的日本“九七式”密码机密码。靠前者,德国的许多重大军事行动对盟军都不成为秘密;靠后者,美军炸死了偷袭珍珠港的元凶日本舰队总司令山本五十六。
同样在二次世界大战中,印第安纳瓦霍土著语言被美军用作密码,这是密码学和语言学的成功结合,纳瓦霍语密码成为历史上从未被破译的密码。
1975年1月15日,对计算机系统和网络进行加密的DES(数据加密标准)由美国国家标准局颁布为国家标准,这是密码术历史上一个具有里程碑意义的事件。
1976年,美国的迪菲和赫尔曼提出了公开密钥密码的新思想,把密钥分为加密的公钥和解密的私钥,这是密码学的一场革命。
1977年,美国的里维斯特、沙米尔和阿德勒曼提出第一个较完善的公钥密码体制——RSA体制,这是一种建立在大数因子分解基础上的算法。
1985年,英国的多伊奇提出量子计算机的初步设想,这种计算机一旦造出来,可在30秒钟内完成传统计算机要花上100亿年才能完成的大数因子分解,从而破解RSA运用这个大数产生公钥来加密的信息。
同一年,美国的贝内特根据他关于量子密码术的协议,在实验室第一次实现了量子密码加密信息的通信。尽管通信距离只有30厘米,但它证明了量子密码术的实用性。与一次性便笺密码结合,同样利用量子的神奇物理特性,可产生连量子计算机也无法破译的绝对安全的密码。
2004年,美国BBN科技公司和美国哈佛大学合作构筑了全球首个量子密码网络“DARPA量子网络”。
2062年,第一块一万个量子位的计算机芯片在美国的比德和巴克利实验室中问世,奠定了制造实用量子计算机的基础。
2066年,IBM制造出了世界上第一台商业化的量子计算机,同时用它破译了当时最先进的一种利用离散对数的公钥密码,轰动一时。这一伟大成果使所有数学密码都无密可保,人类对保密的希望只能寄托在非数学密码中惟一成熟可用的量子密码上。
2079年,一个名为“雅克利娜”的多国联合研究小组克服了量子密码和量子通信最后的技术难题,全球化的量子加密和量子通信无线网络建立起来。
2083年,对计算机系统和网络进行量子加密的国际标准出台,以此为标志,量子密码成为由量子物理定律保证的理论和实际上都不可能破译的密码,人类最终得到了既简单实用又绝对保密的密码体系。
纵观密码术的历史,贯穿着一根主线,就是加密者和解密者的反复对抗,加密者想出一种密码,很快解密者就拿出破解的办法,然后加密者又想出更复杂难解的密码。当恺撒密码等单字母替代密码被频度分析法破解,维热纳尔密码的出现又使频度分析法无计可施;当维热纳尔密码在300年的时间里独领风骚,巴贝奇和卡西斯基更复杂的频度分析法又使它不再成为难题。而由恩格玛密码机等发展起来的机电式混合式加密技术日趋完善,DES成为标准,导致频度分析的作用越来越小;等到依靠解密者个人智慧的频度分析风光不再,利用穷举法进行“蛮力攻击”的电子计算机又登上了解密的主战场。为对抗功能强大的联网计算机,RSA等公钥密码奋起反击;但量子计算机整装上阵,干净漂亮地彻底打败包括RSA在内的所有数学密码。最后,密码术面临绝境,量子密码临危受命横空出世,联合一次性便笺密码扮演了终结者的角色,以绝对优势取得了对解密一方的完胜,一场历千百年的惊心动魄的密码史对抗大战就此硝烟散尽。

这场密码大战真的就这样结束了吗?量子密码真的就是理论和实际上都不可能再破译的密码?

密文 很久很久以后
传说,在很久很久以后,在很远很远的前方,有一座很大很大的城市,城市里有一片很高很高的钢筋水泥楼房的林子。林子住着一个比仙女还要纯洁可爱的姑娘。她的眼睛是绿色的,像春天芳草上的露珠;她的头发是金色的,像夏天大海反射夕阳的粼粼波光。她的名字叫艾丽丝,看到她,你就会想起贝多芬的《致艾丽丝》,她就像这首曲子一样美丽动人。

有一个既英俊、又聪明、还很快乐的小伙子,名叫鲍勃,他也住在这座城市里。有一天,他突然看到艾丽丝,一下子就惊呆了。小伙子鲍勃英俊的面容罩上了一层阴云,聪明人开始常常做傻事,从此也不再快乐了。他爱上了艾丽丝,但艾丽丝却不爱他。
为了彻底打消鲍勃不该有的念头,艾丽丝想了许多办法,明说也好,暗示也好,可怜而可敬的鲍勃都不愿放弃他的追求。到最后,艾丽丝给逼得没有办法了,就说了下面的一首打油诗:
“要我爱你的话,除非——
“太阳永不落,中国黄河清;
死人开眼笑,从此无战争。”
鲍勃听了后绝望地离开了。艾丽丝松了一口气,虽然她也有点内疚,毕竟鲍勃的这一片痴心是很难得的,但她不能不这样做,因为爱情不是同情。
谁知过了几年鲍勃又来找她了,小伙子又恢复了快乐的笑容,拿了一大堆新闻资料给她看。第一条新闻是国际联合制造的人工太阳——一面巨大的反射镜顺利升上太空,不分昼夜定向反射阳光集束,融化各地冰峰,解决地球缺水问题,这样天空中就出现了一个永不落的太阳;第二条是中国采取了生物治淤的方法,加上黄河流域的生态环境全面改善,黄河水彻底变清了;第三条是人类利用生物电子技术再造人的大脑,原来被断定为脑死亡的人都可以复活,死人也睁开眼睛笑了;第四条是人类实现了全机器人战场,国家与国家之间发生了实在无法调和的矛盾,可以打一场全部由智能机器人作战的“代理战争”来决定胜负,人本身没有伤亡,这样就相当于人类从此没有战争了。

艾丽丝真没想到事情会出现这样的变化,不可能的事情纷纷成为了可能,科学技术的发展实在太惊人!艾丽丝一面敷衍着鲍勃,一面绞尽脑汁想世上还有什么不可能发生的事。但是老天!连太阳都永远不会落下,中国的黄河水也变得碧清,死人都能复活,永恒的和平代替了战争,这世上还有什么事比这更不可能呢?
难道真的要我爱他?不行!这样就真的成了一个大笑话了。要怎样才能把他彻底难住?使得人类的科学技术再发展,也绝对找不到可以利用的借口。她想呀想,终于想到了一个绝妙的主意。鲍勃是搞电脑的,还是一个技术高超的黑客。那么好吧,我就不相信凭我所知道的电脑科学和物理学的常识,这次还会出现什么奇迹?
她再次对鲍勃说:“要我爱你的话——
除非你能破译世界政府中央数据库的加密文件,那些都是用量子密码术加密的。”
可怜的鲍勃这回才真的彻底绝望了,人类的科学技术再发达,就算制造一千个人工太阳,把大海都变得像蒸溜水一样清,让所有人长生不老,天下大同,全社会都相亲相爱,也无法违反最基本的量子力学原理,无法准确再现一个被改变了的量子态,破译量子加密的文件。艾丽丝感情的大门就像用量子密码锁紧锁着,永远不会对他敞开了。
他万分伤心地离去。他这一去要参加的就是最后一届世界黑客大会——“世界黑客终结纪念大会”,量子密码术广泛应用后,黑客这一行当就没有存在的意义了。他将在这次大会上终结自己的黑客事业,同时,也终结他的爱情。
艾丽丝似乎算是彻底解脱了,但黑客终结纪念大会开完不到两年,鲍勃就喜滋滋地找上了她。
二话没说,鲍勃打开电脑,联上世界政府中央数据库,然后,他运行一个不知名的软件,数据库的所有量子加密信息就一条条显示出来。
他真的破译了不可能破译的量子密码?!
此时,网络上铺天盖地的都是量子密码被破译的特大新闻,随便到街上买一份电子报纸,都在报道这件事。由于事涉机密,事关重大,许多详情显然还不能报道出来,但已足以使艾丽丝相信这是真的,这个世界又一次出现了奇迹!
后来,后来怎么样?许多美好的童话到了这里都会有一个圆满的结局,想来这个故事也不该例外,因为这样的奇迹、这样的痴情太感动人了。于是,就像许多美好的童话说的那样,艾丽丝终于接受了鲍勃的爱,本与他们无关的破译量子密码这件事成了联系他们的神奇纽带,他们从此相伴相依,幸福地一起生活在高高的钢筋水泥楼房的大森林里。


密钥 不朽的痛苦
世界黑客终结纪念大会。
鲍勃在大会网络专用的公告栏贴出了他真实的故事,他详细讲述了他因为爱一个人而不能的痛苦,讲了这个人给他提出的许多苛刻的条件,事实上就是让他知难而退,她根本就不会爱他,而他又根本不会爱别的人。因此,他决心以他的余生来做一件完全无意义的事——照艾丽丝说的那样去试着破解量子密码,虽然未开始,却早已知道结局,他还是要去做。不这样做的话,他会更加痛苦。他最后说了一句话,这句话就是世界上最后一个为爱而死的骑士夏特利亚尔说的——

我虽然卑微,但我的痛苦是不朽的!

明文 波将金数字化地球村
参加大会的所有黑客——这些曾在网络世界赛博空间快意纵横的现代骑士、牛仔或者侠客,在量子密码结束他们自由闯荡电子边疆生涯的失意时刻,也都感受到了这种不朽的痛苦。
但量子密码是不可破译的。
在一个内部的聊天室里,不知是谁倡议,反正很快有许多黑客响应:让我们帮鲍勃一把,帮助他也就是帮助我们自己;让我们拯救鲍勃夏特利亚尔式的爱情,同时也解除我们所有人都能感受到的和他一样的痛苦。
还有,我们要留下作为黑客光荣退场的最后的尊严。
量子加密的世界政府中央数据库攻不进去,但是,像艾丽丝这样普通人的电脑都只有一般的信息安全防护措施,原因很简单,除了个人隐私,他们没有什么机密可保,一般的安全措施足够了。事实上真正使用量子加密的地方并不像人们想像的那么多,网上传递的多数信息都是不经过量子加密的,这样,利用传统的Web欺骗技术就可以轻而易举地控制艾丽丝电脑、手机通向整个信息世界的链路,给她制造一个真实的幻境。她联结上任何一个她熟悉的网站,除了多出一些量子密码被破译的新闻外,其他地方和被冒充的真的网站没有两样,她决不会起疑心。这个欺骗甚至包括鲍勃在内,他固然是个不错的黑客,但世界上比他技术更高的黑客有的是,他们能做除了破译量子密码外的任何事。他们要做成这样逼真的程度,使鲍勃本人都以为他无意中碰大运破译了量子密码,他们要把假的世界政府中央数据库资料源源不断发送给鲍勃和艾丽丝,反正他们也无从查证;他们要在鲍勃和艾丽丝的四周布下一个同样善意的密不透风的都德“柏林之围”,他们要在整个虚拟世界整个数字化地球上再造出巨大无比的“波将金村”。

历史上俄国女皇叶卡德琳娜二世的宠臣波将金为了邀功,在女皇沿第聂伯河巡视时,把南方肮脏贫困的村子都装扮成一片繁荣的模范村,鲍勃和艾丽丝也被网上的“波将金数字化地球村”完全迷惑了,联上的任何URL地址都指向黑客们的服务器,每个服务器都在明确无误告诉他们:量子密码被破译了!黑客们甚至雇人在鲍勃和艾丽丝居住的城市出售由他们制造的假的电子报纸,专家们连同政府官员出面辟谣都被他们屏蔽,或者他们又出来反辟谣把水搅浑,说专家和政府官员有意掩盖事实真相,因为他们害怕破译量子密码的技术一旦泄露传播出去,对全社会的信息安全又将造成灾难。至于鲍勃,他那被爱情冲昏了的头脑很难怀疑:自己所干的一切是否能达到这样的效果?到时只要有人巧妙地向他暗示用一个什么程序,他就会发现他成功了。

可怜而又走运的鲍勃就这样获得了艾丽丝的爱,美好的童话仍然有一个圆满的结局,本与他们无关——因为并不存在——的破译量子密码这件事成了联系他们的神奇纽带,他们从此相伴相依,幸福地一起生活在高高的钢筋水泥楼房的大森林里。

明文 人算不如天算
他缅怀着电脑和网络发展早期,那些传奇般的真正黑客的故事,他们恪守黑客伦理,倡导信息自由,同时并不真正对公众安全造成危害。他追思对密码术作出历史性贡献的一位位技术先驱,他们曾是他少年的偶像,人生的目标。历尽坎坷之后,在黑客们的精采表演都到了曲终人散、黯然谢幕之际,他疲惫苍老的心灵,依然会为两件平凡的事和两个不平凡的人激动,他觉得,如果他有一天能达到这两个人和这两件事的境界,他就死而无憾了。

第一个人就是长发披肩的怀特菲尔德·迪菲,1975年,他和妻子玛丽借住在朋友家里,他没有工作,而且已经30多岁了,他常年离群索居,苦思冥想,要发展出一种新颖的密码术,但全无结果,他感到自己是一个失败者。有一天玛丽走进他的卧室,发现他在抱头痛哭,他要玛丽离开他,另找一个男人,他一事无成,是一个彻底的失败者。
但玛丽坚定地告诉他:你是一个了不起的人。
这之后仅仅过了两个星期,又有一天玛丽下班回家,看到迪菲平静地站在门边等她回来,对她说了一句话:“我想,我有了一个惊人的发现。”
这个发现就是在密码术历史上留下了辉煌一笔的公开密钥密码思想,迪菲一举成名,事实证明玛丽没有看错他。
第二个人就是将迪菲的思想彻底付诸实施的菲尔·齐默尔曼——有别于那个以“齐默尔曼电报”名留密码史的齐默尔曼,他根据RSA体制编写了第一个实用的公开密钥加密程序PGP,打破了政府在加密技术领域的垄断,名扬四海。有一次他在旧金山参加一个舞会,跳舞中间一个女士不经意地问他是干什么的?
“我是一个密码破译者。”他说,“我写了一个程序叫PGP.”
一时间所有人都停住舞步,女士敬畏地看着他:“你就是菲尔·齐默尔曼?”整个舞会为他而停止了。
再伟大的发明发现,也不过就值得整个一场狂欢的舞会为之肃穆地停止片刻吧?我还能再使一场舞会为我停住片刻吗?
我还能向我所爱的人说出一句:“我想,我有了一个惊人的发现。”吗?
只要有这一刻,有这一句,我也就满足了。
他默默地把目光投向自己那架“量子整体克隆机”,早在知道鲍勃故事的前十几年,在还没有感受到鲍勃不朽的痛苦的年少时光里,他就坚信爱伦·坡说过的一句话:“凭人类的智慧不可能创造出一个人类智慧不能破译的密码。”
量子密码是完全可以破译的。
单个粒子的量子态——偏振或相位等,可以用来编码储存、传输信息,如果有一个窃密者想要窃取这些信息,就会在截获粒子的一瞬间改变其量子态,使信息失真,达不到窃密的目的,同时使储存、传输信息的人立即发觉被窃密,这是由著名的海森伯不可确定性原理和单量子不可克隆定理来保证的。要想成功窃密,破译量子加密储存和传输的信息,除非能推翻海森伯不可确定性原理和整个量子力学体系。

那可是连爱因斯坦和爱因斯坦信奉的“斯宾诺莎的上帝”或“不掷骰子的上帝”也做不到的啊!
但是,爱因斯坦不信奉的掷骰子的上帝却可以帮人类做到。
单个量子不可克隆,但很多很多的、近乎无数个量子在宏观上和整体上却是可以精确复制的,因为到了宏观状态,海森伯不可确定性原理和单量子不可克隆定理就不适用了。如果能找到一个方法,使单个量子扩增为一个极大的粒子体系,这个粒子体系在宏观上将遵循近似对称原理和中心极限定理,服从一种正态分布,从而出现一个可精确测量的稳定的数字,由这个数字反推出粒子在微观上的量子态,这一量子态也就是原来扩增出的那个粒子的量子态,因为是由它扩增出来,它相对于粒子体系可能有的其它量子态在概率上都占优。或者换用平行宇宙的话来说,它作为粒子扩增,等于引入它在所有平行宇宙的副本,而它处于所有平行宇宙中的现实宇宙,根据人择原理,现实宇宙既然已经明确无误地摆在我们眼前,它的量子态也必定压倒它在平行宇宙中的副本的量子态,在宏观上以某种方式呈现出来,被稳定地观测到并可以精确复制,于是人们就等于丝毫不走样地克隆出了原来单个量子的状态。由于克隆的不是单个量子,而是量子的整体,再从整体间接地得到个体——即原来单个量子的完全而准确的信息,这样,既达到了目的,又不改变粒子的量子态,没有违反海森伯不可确定性原理和单量子不可克隆定理。

他发明的量子整体克隆机就是干这个活的。
这本质上也是一台特殊的量子计算机,用它截获一个被测粒子后,克隆机会立即产生无数个相同的粒子,这些粒子以原来的被测粒子为中心构成一个遍历各量子态的宏观体系。比如被测粒子是一个光子,原来它的偏振态是垂直,如果单独测量这个光子,当然会因海森伯不可确定性原理而改变它的偏振态;如果用克隆机引入大量光子构成一个宏观体系,就如同叠加上它在无数个平行宇宙中的副本,它和它的副本进行着正态分布的量子计算,这是一种“天算”,处在无法干预的平行宇宙黑箱中,人们只能在黑箱的输出口等着看结果,而对其过程一无所知,也没必要知道。反正对最后结果的分析就能准确地得出光子的偏振态:垂直,保真度百分之百。这时引入的整个光子宏观体系就会像化学中的催化剂一样,在履行了使命后悄然功成身退,不留下一丝痕迹。

他也打算像这样帮助鲍勃和黑客们。
当鲍勃盲目地用各种方法试解量子密码,当黑客们辛辛苦苦地伪造波将金数字化地球村,他已得窥堂奥,看破天机,用量子整体克隆机一举破译了世界政府中央数据库的量子密码,然后把结果暗中加载进黑客们提供给鲍勃的那个程序,代替了黑客们的虚假信息,因为他知道,鲍勃和艾丽丝没有黑客们想像的那样容易受骗,特别是鲍勃,本身就是一个高明的黑客,如果由这个程序得到的数据不是真实的数据,他一定会发现破绽。世界政府也不可能长久容忍这样的骗局,最终会想法澄清此事,从而让艾丽丝得知真相。在量子整体克隆的技术上,人算不如天算,但在这件事上,他就要人算胜过天算,他要把鲍勃和艾丽丝,黑客和世界政府,一古脑儿蒙在鼓里,只有他一个人对整个事件了如指掌。他永不会暴露真名,他在网上只用一个女性化的名字“伊芙”,但谁也不会知道他是男是女。他是窃取了鲍勃和艾丽丝感情量子密码的“伊芙”,但却只是为了成全一桩好事,看到一个童话般圆满的结局。这对于他来说,就是整个舞会为他肃穆地停止了片刻,他向全世界说出了一句:“我想,我有了一个惊人的发现。”

于是鲍勃就这样获得了艾丽丝的爱,本与他们无关——因为并非鲍勃而是“伊芙”干的——破译量子密码这件事成了联系他们的神奇纽带,他们从此相伴相依,幸福地一起生活在高高的钢筋水泥楼房的大森林里。

明文 尼日利亚骗局
鲍勃感激地看着黑客同行们为他费力地搭建网上波将金村,满心谢意地看着“伊芙”用量子整体克隆机再次破译他刚刚破译的量子密码,事实上,他思考量子整体克隆问题的历史远比“伊芙”长,但发明同样的量子整体克隆机却没有提前多久,基本也就是在同一时期。鉴于这个问题的难度,他一直迟迟不愿着手解决,准备进一步思考成熟再说,但艾丽丝的事情刺激了他,他不得不立即进行试验,结果成功了。

他是世界上破译量子密码的第一人。
他给艾丽丝看的世界政府中央数据库的信息,既不是黑客同行们的虚假信息,也不是来自“伊芙”的真实信息,而是由他自己亲手破译出来的同样真实的信息。
他也骗了黑客同行们和那个不知真名的“伊芙”,而更令黑客们和“伊芙”想不到的是:即使如此,艾丽丝也没有答应他的求爱。
在确定他真的破译了量子密码后,艾丽丝为这不可思议的事实和他的痴情感动得流下了眼泪,但仍然请求他原谅,她已另有所爱,虽然早就知道他是如此的优秀,但爱情不是选拔科研人才,她所爱的人尽管没有什么惊天动地的成就,却最适合她。她以前提出的种种条件都是借口,早知道她不如直接把话说明还好一些。到了这一刻,鲍勃反而平静了。

“不管怎样我还是要谢谢你,没有你,我也许永远不会冒险实践自己的想法,就不会最先破译量子密码了。我走了,从今以后我不会再来找你,但我会祝愿你一辈子幸福!”
鲍勃转身离去,从此再没有回到这个城市来。他的余生很漫长,足够他想很多很多。他终身未娶,也有足够的时间和空间进行独自思索。他怀着他那不朽的痛苦,在量子整体克隆的思想上更深入地探幽穷微。
宇宙本身是一台最大的联网计算机,为它编制操作系统和所有应用软件的程序员就是上帝(不管是“斯宾诺莎的上帝”、“不掷骰子的上帝”还是掷骰子的上帝)。这些程序是用极其高深的统一科学的语言写成的。上帝造出如此完美的宇宙,一定已经有了一整套成熟的未开放的源代码。人类所有的科学探索,就是为了寻找这套终极真理的源代码。

上帝作为宇宙计算机的系统管理员,当然不会轻易让人得到他这套源代码(他可不赞同人类中的自由软件之父理查德·斯托尔曼以及埃里克·雷蒙德等开放源代码的主张),从而学到他的技术,修改他的编程,发现他的系统活门,觊觎他的最高用户权限。他一定小心地把他的各种文件加了密,存放在组成宇宙的最基本的某个硬件上,同时在全宇宙到处传播。而他所用的密码术,毫无疑问是量子密码术。

人类可以截获他的许多加密信息,但受制于海森伯不可确定性原理和整个量子力学体系,人类不能破译他的全部密码,也就不能了解大自然的所有奥秘。人类千百年的科学史,突破了一个个限制,取得了巨大的进步,但在上帝设下量子密码保护的地方,人类不得不停下脚来。
现在人类可以破译量子密码了。
上帝的宇宙计算机网络还有没有安全?
鲍勃在五十多年后孤独地死去,死之前他已经在他所称为“大密码”的领域取得了奠基性的成果。所谓大密码就是上帝所用的加之于宇宙万物上的量子密码,它的表现形式五花八门,都是力图把简洁明了的运行规律隐藏在大自然的一片混沌中。宇宙本是无限大、无限小又无穷多的,关于这些宇宙的数据也是杂乱无章随机分布的,但上帝强加给了我们这个现实宇宙的基本常数——万有引力常数、光速、普朗克常数等,看起来还好像是我们通过“人择原理”自己选择的,我们从此就只能限制在这些范围内思索,而上帝在一旁发笑。我们要想系统而自洽地改变这些常数,首先在实验上就得精确地观测和复制到基本粒子的量子态,但海森伯说不行,一碰它它就变得不确定了。既然不确定,连它到底是怎么回事都搞不清楚,又谈何改变由它组成的宇宙的运行规律和常数?这就是上帝给我们设下的量子大密码,不破解这个密码,我们就永远只能是宇宙计算机的普通用户,没有真理的知情权。

按鲍勃、“伊芙”的量子整体克隆的思想,我们同样可以在宇宙这台计算机上整体克隆出微观粒子的量子态,从而得到单个粒子的量子态。只要有足够的时间和耐心,我们最终将破解上帝的量子大密码,窃取上帝的超级用户权限。我们可以用上帝的源代码按自己的要求重新编写所有程序,操纵宇宙的运行。我们要在无穷大和无穷小之间重新调整安排宇宙所有数据,让我们想要的宇宙常数按正态分布最终像摇奖一样摇出来。我们将像上帝一样无所不能。

就是循着这样的思路,进一步发展鲍勃的奠基性成果,不知几百几千几万年后,人类完全破译了大密码。
曾经有一篇最短的科幻小说,只有这样两句话:“地球上最后一个人坐在屋子里,这时响起了敲门声。”
破译大密码也是科幻一般的事实,因此可以为它改写一下这篇小说:
“上帝独自坐在他反锁的密室里,这时响起了开锁声。”
在破译大密码的整个漫长而艰难的探索过程中,所有曾为之付出努力的人都感受到了那种不朽的痛苦。科学探索就像求爱,爱情是美丽的,科学追求的也是宇宙终极真理的美。鲍勃为失去了爱情而痛苦,人类也为看不到像爱情一样美丽的真理光芒而痛苦,只要怀着以追求美好事物为最终目标的理想,这两种痛苦就将伴随人的一生和人类的一生,谁能说它们哪一种就更轻一些呢?夏特利亚尔那句话的深刻含义就在于此,它们都一样的不朽。

所以后世人认为:“我虽然卑微,但我的痛苦是不朽的”这句话,才是鲍勃、“伊芙”破译量子密码和人类破译大密码的真正密钥。
为了免除这种痛苦,或者说受这种痛苦的激励,人才会创造奇迹,才会做出许多看似不可能的事来。
而为了追求爱、追求美,希望看到所有故事都是童话般圆满的结局,人才会产生出这种痛苦来。
所以大密码破译后,第一次大规模的应用是下面这样子的,也就不足为怪了:
人类查找到了宇宙计算机硬盘上“现实宇宙”这一个文件。
打开文件,人类又查找到现实宇宙中鲍勃和艾丽丝所在的那一个国家,那一座城市。
定位到艾丽丝身上。由于她同样是由基本粒子组成原子、分子、大分子、DNA、蛋白质、细胞……直到整个人体,她的大脑同样是由物理的粒子、生物的细胞和化学的传递物质等组合成的,或者直接说:她和世上万物一样是由两种量子态编码的程序写成的。这样人类就可以在最基本的量子力学层次上改写程序改变她的思想。这个层次上的操作本来是由上帝用量子大密码加密防护的,既然人类已经破译大密码,当然可以像黑客一样神不知鬼不觉地侵入她的大脑系统。

什么都不动,仅仅就把她负责情感部份的程序改为“爱鲍勃”就行了。
然后不声不响地退出来,重启整个宇宙计算机系统。除了她爱鲍勃,宇宙看起来好像还是那个宇宙。但这已经是另一个平行宇宙了,现在成为现实宇宙,她不爱鲍勃的那个宇宙已经作为备份删除了。
时间从鲍勃给她看世界政府中央数据库的信息开始,一切都重新来过,她不再拒绝鲍勃的爱,鲍勃、“伊芙”、热心的黑客们连同当时全世界的人都不会意识到这又是一个骗局,一个比黑客们骗鲍勃和艾丽丝、“伊芙”骗鲍勃艾丽丝和黑客们、而鲍勃又骗了艾丽丝“伊芙”和黑客们更大的骗局,知道这个骗局的人和制造这个骗局的人都在几百几千几万年后,所以这是个绝对不会被揭穿的骗局,还是一个调用最大行骗资源的“尼日利亚骗局”。二十世纪八十年代,全世界骗术最高的据称是尼日利亚骗子,他们可以造出一个假政府来蒙骗外国人,把来者当成身份尊贵的国宾,有假扮的高官到机场接待,警察、军队一路鸣笛开道,直达通过贿赂临时租下的政府办公大楼或总统官邸的一些原来空着的房间,就像是调用了整个国家的资源来行骗。而后世的人类调用的是整个现实宇宙和平行宇宙体系的资源来行骗,这是一个宇宙级规模的尼日利亚骗局。

所以鲍勃就这样获得了艾丽丝的爱,本与他们无关——因为是在后世——的破译大密码这件事成了联系他们的神奇纽带,他们从此相伴相依,幸福地一起生活在高高的钢筋水泥楼房的大森林里。

续密码术大事记
公元前5世纪,古希腊斯巴达出现原始的密码器,用一条带子缠绕在一根木棍上,沿木棍纵轴方向写好明文,解下来的带子上就只有杂乱无章的密文字母。解密者只需找到相同直径的木棍,再把带子缠上去,沿木棍纵轴方向即可读出有意义的明文。这是最早的换位密码术。
……
2083年,对计算机系统和网络进行量子加密的国际标准出台,以此为标志,量子密码成为由量子物理定律保证的理论和实际上都不可能破译的密码,人类最终得到了既简单实用又绝对保密的密码体系。
21**年,鲍勃和“伊芙”用量子整体克隆的技术破译了量子密码,成功获取了世界政府中央数据库的量子加密信息,同时开启了把宇宙运行深层原理中的限制作为一种更大的量子密码破译的大门。
不知多少年后,人类破译了上帝的密码“大密码”,并用它制造了一个美丽的骗局,改写了整个宇宙的恢弘历史。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
很高兴为您提供一个简单的Android开发平台“家庭相册”软件的开发代码,包括登录界面和中心框架界面。以下是您需要的代码: 1. 登录界面的 layout(login.xml): ``` <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" android:gravity="center"> <EditText android:id="@+id/et_username" android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="Username" android:padding="10dp" /> <EditText android:id="@+id/et_password" android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="Password" android:inputType="textPassword" android:padding="10dp" /> <Button android:id="@+id/btn_login" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="Login" /> <TextView android:id="@+id/tv_register" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="New user? Register here." android:gravity="center" android:textSize="14sp" android:textStyle="bold" android:padding="10dp" /> </LinearLayout> ``` 2. 中心框架界面的 layout(main.xml): ``` <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <TabHost android:id="@+id/tabHost" android:layout_width="match_parent" android:layout_height="match_parent"> <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <TabWidget android:id="@android:id/tabs" android:layout_width="match_parent" android:layout_height="wrap_content" /> <FrameLayout android:id="@android:id/tabcontent" android:layout_width="match_parent" android:layout_height="match_parent"> <ListView android:id="@+id/lv_family" android:layout_width="match_parent" android:layout_height="match_parent" /> <ListView android:id="@+id/lv_events" android:layout_width="match_parent" android:layout_height="match_parent" /> <GridView android:id="@+id/gv_album" android:layout_width="match_parent" android:layout_height="match_parent" android:numColumns="3" /> </FrameLayout> </LinearLayout> </TabHost> </LinearLayout> ``` 3. 登录界面的 Activity 代码: ``` public class LoginActivity extends AppCompatActivity { private EditText etUsername, etPassword; private Button btnLogin; private TextView tvRegister; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.login); etUsername = findViewById(R.id.et_username); etPassword = findViewById(R.id.et_password); btnLogin = findViewById(R.id.btn_login); tvRegister = findViewById(R.id.tv_register); btnLogin.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { // TODO: 实现登录功能 } }); tvRegister.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { // TODO: 跳转到注册界面 } }); } } ``` 4. 中心框架界面的 Activity 代码: ``` public class MainActivity extends AppCompatActivity { private ListView lvFamily, lvEvents; private GridView gvAlbum; private TabHost tabHost; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); lvFamily = findViewById(R.id.lv_family); lvEvents = findViewById(R.id.lv_events); gvAlbum = findViewById(R.id.gv_album); tabHost = findViewById(R.id.tabHost); // 初始化 TabHost tabHost.setup(); // 添加家庭成员选项卡 TabHost.TabSpec specFamily = tabHost.newTabSpec("Family").setIndicator("Family"); specFamily.setContent(new TabHost.TabContentFactory() { @Override public View createTabContent(String tag) { return lvFamily; } }); tabHost.addTab(specFamily); // 添加大事记选项卡 TabHost.TabSpec specEvents = tabHost.newTabSpec("Events").setIndicator("Events"); specEvents.setContent(new TabHost.TabContentFactory() { @Override public View createTabContent(String tag) { return lvEvents; } }); tabHost.addTab(specEvents); // 添加相册选项卡 TabHost.TabSpec specAlbum = tabHost.newTabSpec("Album").setIndicator("Album"); specAlbum.setContent(new TabHost.TabContentFactory() { @Override public View createTabContent(String tag) { return gvAlbum; } }); tabHost.addTab(specAlbum); // 初始化家庭成员 ListView List<Map<String, Object>> familyList = new ArrayList<>(); familyList.add(new HashMap<String, Object>() {{ put("name", "John"); put("birthday", "1990-01-01"); put("photo", R.drawable.photo1); }}); familyList.add(new HashMap<String, Object>() {{ put("name", "Mary"); put("birthday", "1992-03-15"); put("photo", R.drawable.photo2); }}); SimpleAdapter familyAdapter = new SimpleAdapter(this, familyList, R.layout.family_item, new String[]{"name", "birthday", "photo"}, new int[]{R.id.tv_name, R.id.tv_birthday, R.id.iv_photo}); lvFamily.setAdapter(familyAdapter); // 初始化大事记 ListView String[] events = {"Graduation Ceremony", "Wedding Anniversary", "Birthday Party", "New Year's Eve"}; ArrayAdapter<String> eventsAdapter = new ArrayAdapter<>(this, android.R.layout.simple_list_item_1, events); lvEvents.setAdapter(eventsAdapter); // 初始化相册 GridView Integer[] photos = {R.drawable.photo3, R.drawable.photo4, R.drawable.photo5, R.drawable.photo6, R.drawable.photo7, R.drawable.photo8, R.drawable.photo9, R.drawable.photo10, R.drawable.photo11, R.drawable.photo12}; ArrayAdapter<Integer> albumAdapter = new ArrayAdapter<>(this, R.layout.album_item, photos); gvAlbum.setAdapter(albumAdapter); } } ``` 这个简单的“家庭相册”软件可以帮助您了解如何使用 ListView、GridView 和 TabHost 来构建一个功能完备的 Android 应用程序。当然,这只是一个基本的开发框架,您可以根据自己的需求进行更多的定制和改进。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值