第四十一章,破解了!
第四十一章,破解了!
“戴镜元?”
“小戴?!”
李克农推开“中央办公厅机要科第6室”的办公室门,第一眼都没找出来戴镜元人在哪里。办公室面积不小,一个长方形单间有30多平米,但是这么大一个房间现在到处是堆积如山的书架、书和零散纸张,遮挡住了李克农的视线,一时都找不到人在哪里。在李克农吼了两嗓子之后,从书架和纸堆当中才蹦出来一个人,跳到房间唯一的一块空地,啪地立正敬礼:“到!李部长好!”
李克农叹了口气,打量评估了一下这间办公室现在的状况。
目力所及,到处是书和纸张。“书”其实也是散纸订起来或者夹起来的,散装的纸则到处都是:地上是纸,书桌上是纸,书柜里有书也有纸,临时的木制书架上也是一叠一叠、一包一包的纸,甚至书架子上还用图钉钉了好几张纸,就像什么辟邪镇妖的符文,随风在书架上晃来晃去。
这些纸确实像辟邪镇妖的符文,远看纸上全是手书的圈圈框框、箭头线条,走进一看,这些圈圈框框里面还有内容,用极为潦草的笔迹全部写满了小数字。而所有的纸上的数字基本只写两个:
0和1。
这间办公室的主人戴镜元,1952年的时候是中央办公厅机要局副局长。抗战时期戴镜元破解了华北派遣军的无线电密码,致使阿部规秀被晋察冀八路击毙,此战后杨成武把缴获的阿部规秀的军大衣送到延安,说感谢中央机要通信部门提供的准确情报。主席和李克农把这件大衣转给了戴镜元。
注:1939年破译出日军电报时,戴镜元年仅19岁。
李强注意到代表证背面的二维码,猜测黑白小方块图案代表的是0和1构成的数字,但这些数字后面又是什么信息,就只能找中央的密码专家来解读了。
1953年的密码破解,在我国当然是得靠人力。1953年的密码专家用纸笔和大脑,能破解出2022年的这个小图案吗?
戴镜元看到这个小图案后说,信息样本太少了,但我可以试试,或许能成呢。——戴镜元到现在为止,还不知道这个小图案来自2022年(他拿到的是描绘版),因此就初生牛犊不怕虎(无知无畏)地接了这活儿。
接到任务之后戴镜元就沉入了破解工作中,一晃就是一年。昨天戴镜元兴奋地给李克农打电话,说他可能破解出了这个图案后面的信息,于是李克农今天就来了。
“小戴,看样子难度不小,草稿纸都用掉了几麻袋。”
戴镜元:“部长,其实这个图形密码所用的加密方式很简单。它……它的加密方式,就不是专门为了为难人而设置的。”
李克农:“哦?这可和我们之前猜的不大一样。不过,你还是用了一年时间。”
戴镜元:“主要的困难是样本太小了,只有这一个图形。一开始呢,我是把这个东西想复杂了,你看啊,一战时候德国的手工密码,adfgx密码就有目的地均匀化了各个字母出现的频率,让简单的词频/字频筛选法失效,后来的adfgvx也是。隐藏词频、乱序排列伪装成随机电报码,这些都是1918年英德密码学家就早已掌握的加密技巧,这个图形密码里面却全都没有用。所以我说它就不是专门为了为难破解者设置的,这个……这个图形密码,可能是业余加密爱好者制作的?”
李克农:“这个图形密码的制作者是谁,我们现在也正在寻找。破解这个图案,就是寻找制作者的方向之一。”
戴镜元:“那就有意思了,我破解了这个图案之后,最为可信的一版破译明文,主要是由英文字母构成。”
……
李克农把描摹的二维码交给戴镜元,并“提示”这个由黑白小色块构成的方形图案可能是用黑/白两色代表0和1,再用01二进制计数法表示其他的内容。
戴镜元先不忙破解,他先是整体上研究这个图案,经过几次尝试之后,他确定这个方形四个角有三个角都有的由一框黑色一框白色相间而成的小“回”字形不太像是秘密信息。因为这几个图形完全一样,如果是加密信息,不可能有这么巧合的事情。
(到后来戴镜元深陷进去,到第9个月时在图案的偏左下区域又发现了一小片黑白区域不是秘密信息,这个发现让破解工作往前推进了一大步)
所以,这个图案的有效信息,应该是抠掉了右上、左上、左下三个回字形之外的其他区域,好几百个黑白小色块,也就是几百个0和1。
工作进行到这里,就必须用穷举法了。古典密码时代,密码专家们如果用“技术手段”破译密电,最后都会落入穷举法这个步骤。只是在穷举之前专家得找到正确的方向以免穷举也举不出结果,以及专家尽可能地缩小穷举范围,加快破译速度。
戴镜元办公室里那些杂乱无章的写满了0和1的纸,一大半都是在这个时期诞生的。先假定黑是1,白是0,其实反过来也一样。然后这400多个数又怎么解释呢?
为了解释这些二进制数,戴镜元甚至借来了一大堆的数学书琢磨这个二进制的数学规律问题。当研究二进制的时候又知道了“璞玉”计算机的存在,到后期他都开始申请使用计算机减少工作量。
像没头苍蝇一般在0和1当中挣扎了很久,在第6个月,戴镜元想到了一个可能的方向:这些二进制数的第二重加密可能没那么复杂。
戴镜元是将图案当做被中央截获的神秘机构发送的密电破解的,所以他先就预设了这个图案经过二重加密甚至三重加密。但他用各国军事密码专家现在已发明的多重加密法套进去,都毫无收获。在一次脑洞打开的思维中,戴镜元突然想到另一种可能:
图案的二重加密仅仅是——可能仅仅是——为了让图案中的黑白色块分布更加均匀,以免出现大片的空白(全0)或大片的黑墨(全1)!!
戴镜元悟透这个二重加密原则(二维码掩码)时,时间已经过去了8个月。他在这个方向继续前进,很快找到了二重加密叠加的图形生成公式:[(i*j)/3+i+j]/2=0
当确定这个公式之后戴镜元再回头看这几百个0和1的数字,这时他不得不“噗”地一声:
叠加图形的生成公式描述,就在左上角无意义的回字小图形的下方!
所以戴镜元对李克农十分肯定地说这个图案不是专门为了为难人而设置的。
“揭开”二维码的掩码,戴镜元又开始破解那400多个0和1代表什么。之所以是“又”,是因为它在排除了那四个回字小图形之后就不断地做这种试探性破解,贡献了架子上的废纸量的至少一半。现在就是揭开掩码之后用新换算出来的01阵列再执行破解。
其中又在第9个月排除了图案的偏左下区域,但之后仍然是很庞大的工作量,直到最近他才逐渐确定了一个版本的有意义的译文。
现在,写着译文的一张纸就在李克农手里:
☆■■cp◇gov■zxwy■newcp■leibusi■index◇shtml
这这这……这是?诶!这有意思!
戴镜元:“这一版的破译稿,主要是由英文字母构成,但还有一些我不太确定,有三个字段我尚未破解出来它代表什么,因此就分别用☆、■、◇这几个符号来指代它。但是我认为这很可能是有实际意义的信息,因为它里面出现了new、index,这两个都是英文单词;出现了gov,在西方商用电报码里面它经常是government的缩写通常是china的缩写。leibusi这个呢,我直觉感觉它像是三个中文字的发音。其他的猜想版本的译稿也有,但都没有这一版这么可信,李部长您要不要……”
“你的这个版本的译码非常好,非常好,”李克农擡手示意他要抢话,“其他的版本我就先不看了。”
李克农知道中国文字改革协会现在正在制订汉语拼音方案和第一版简化字表。汉语拼音方案是参考了民国时期发布的国语罗马字、韦氏拼音、拉丁化新文字,但又有所不同,以尽量模拟汉语实际的发音。
在现在的初版“征求简易版”汉语拼音方案中,那位2022年的政协代表雷布斯,汉语拼音就是leibusi。
除此之外还有cp,戴镜元可能脑子发晕糊涂了,他暂时没联想到这是中国人民政治协商会议——chinesepeople'spoliticalconsultativeconference的首字母缩写。
李克农:“这个版本的译稿我要带走,这项情报是由……情报部的另一个小组统合研究的。”
戴镜元点点头,又拿出几页纸:“好的,这是译稿和它的前一版本解读,我都用比较工整的字迹抄在上面了。”
……
“这个图形码,我觉得基本上就是它的正确译码了。”
政治局书记处,总理、总司令和陈沄现在在北京,不过总理马上就要启程出国访问了。李克农将戴镜元的破译稿拿回来,他用自己在情报部门几十年的工作经验,直觉上判断这版破译稿就是正确的。