分享

学渣的逆袭:先有答案再找题,菜鸡也能拿第一 | 游斯彬专栏

 西北望msm66g9f 2018-07-19


文 | 游斯彬  音频 | 游斯彬

来源: Mathaholic游斯彬

来,今天咱们来填一下,一万年前挖的坑,讲讲波兰到底是怎么破译的恩尼格玛。


先问大家一个问题,撬过锁没有?我就没有,因为犯法!

但是大概原理我是可以理解的,其实破译密码跟撬锁差不多,得分这么几步。


第一个呢,得知道锁长什么样,你是电子的,还是插拔的,我得知道你的“加密原理”,用什么样的应对方法。



第二个呢,就是得配钥匙,也就是拿到“密钥”,那锁自然也就打开了。


但是,如果要想真正意义上说要攻克一种制锁技术,就是你得从原理上破解他,得做到是任何一个装了这种锁的门,你都能打得开,不管钥匙长什么样,自己都能做出来,而这个前提就是得懂得“制作密钥”的原理。

 


问题是,波兰人,对这一切全都不知道,连恩尼格玛长什么样都不知道,更别说钥匙怎么做了。好在波兰人作为打不倒的小强是有道理的,就是一个坚毅的民族,所谓“苦心人天不负”,一番辛苦卓绝的努力,到真是等来了上天送给他们的“三件礼物”,居然还让他们真的把强大的恩尼格玛撕出了一条口子。

 

第一份礼物,就是一个大活人。叫汉斯施密特,是个在密码局工作的德国人,属于典型的高福利社会造就的无所事事的社会渣渣,啃老啃兄弟,到了40多岁仍旧无所事事,吃啥啥不剩,干啥啥不灵。



这人,在德国历史上臭名卓著,最后被处以极刑。但是,对于波兰人来讲,可是要谢谢他18辈儿祖宗了。因为什么呢?因为他就像咱们打王者里的最佳“第六人”,是个“德奸”,出卖国家情报!嫌公务员工资低,干脆把恩尼格玛的密码本操作说明卖给法国间谍了。



但是这事儿,让波兰人捡了大便宜了,波兰早早的就与英法签署了情报共享的盟约,直接被带的飞起,等于把“锁”的钥匙直接拿来给你了。这说明什么呢,好队友带你吃鸡带你飞,做人还是得团结群众。

 

可是波兰人,看着这玩意儿,还是抓瞎啊!

钥匙是有了,可锁在哪呢?

长啥样啊?

没见过啊!

叩击灵魂的三连问。这大概是学渣有了答案不知道题的心情吧。



弄来一台恩尼格码就成了最着急的事儿了。还是说这个话,天助自助者!波兰人虽然破译不了德军的情报,但是日复一日对德国的每一个部门的每一个行为的每一个细节都报以最大的关注,就希望从中找出一点点的蛛丝马迹。


据说,有这么一个周五,风和日丽,太阳当空照,反正就是平凡的不能再平凡的一个周五,波兰华沙海关如平日一样,进进出出的检验货物,可不寻常的是,德国大使馆一天连打十几个电话来催快递,“请速放行,交予我馆”!波兰人就想,这大周末的你催什么催啊,大使馆多了去了,怎么就你急啊,有什么事儿不能等到周一再说呢。


但是再转念一想,不对!这事儿反常了,这里是不是有诈啊,我得上情报部去问问。就把情报部门叫来了,情报人员当机立断,拆封!嗨,反正如果真有问题就算咱们抄上了,要是没查出问题,嗨。。。换一个包装再给他送回去。

这一拆封,全傻了,你才怎么着,天底下还有这好事儿,想啥来啥!一台“商用恩尼格玛”!虽然不是最新款的军用产品,但是都是基于同一原理的真东西,这就解决了咱们刚才说的得明白制锁原理的问题!赶紧三下五除二,拆机、照相、测量、画图、试操作,噼里啪啦弄完之后,一封装,周一一早送过去,外加一句“真对不起啊,周末快递不上班,没来及给您送过去”。



德国人,虽然心里恨波兰人动作慢,但还真没起疑心。这说明什么问题呢,我们得提防着无事送殷勤的人,一个人平常对你爱答不理,突然找你客客气气,那不用想,十有八九是黄鼠狼给鸡拜年,他干了什么坏事儿了


照理说,每个月有人给送钥匙来,锁也见着了,情报的破译问题解决了,波兰人可应该松了一口气了吧,但是他们并没有!为什么?因为他们知道,指着别人给送密钥,那终究还是把命运放在了别人的手上,只有自己从原理上攻克恩尼格玛,才是长久之计!


这就要说到二战史上功勋卓著的3位大数学家了,波兰三杰——雷耶夫斯基、鲁日茨基、齐加尔斯基



三个都叫“司机”,但这不是送货的意思啊。情报部门在解构了恩尼格玛之后啊,就把信息交给了波澜特别成立的专攻德军密码的数学家雷耶夫斯基,他很快就明白了“恩尼格玛的原理”,但很快就头大了,知道自己在应对一个什么样的难度的密码机了! 


咱们之前讲过,恩尼格玛的主要构造是由3个写有字母的小齿轮叫转子加一个连接板构成,本来输入一个a,通过转子一转,出来个别的字母,再通过连接线,让这个字母又变成一个别的,多重加密!



史无前例的使用了“多表与单表混合加密的方法”是古今密码原理的集大成者,破译难度极高!要破译它,就得解决三座大山:

如何破解“多表加密系统”?

如何破解”单表加密系统“?

如何保证速度?军情如火,仗打完了你破译还有什么用呢。

叩击灵魂的三连问×2。 


那从哪开始呢?好问题,波兰数学家也想问呢!



咱们之前讲过,加密的本质就是“明文x”通过加密规律f,到密文y的变化,fx=y,要破译它核心就是通过破译加密的规律,找到他的反函数,让人们可以通过密文找回到明文。


而这最关键,我们就需要知道他的加密规律f到底是什么,就是说我输入a你出来个什么,输入b出来个什么,这些变化规律到底是个啥?


咱得比较比较,总结总结。


可问题是,但凡规律,你得重复啊不然就叫偶然啊。


太阳东升西落叫规律,潮起潮落也是规律,因为每天都在重复,这叫规律。而重复的频率越高,你就越容易总结出来。而这三个转子啊让德军在输入每一个字母的时候,它都会转动一次。

也就是说,这个变化关系随着你输入的过程它都在变。而这个重复周期是“10万次”。


意味着,德军要写一封10w多字的电报让你拿到,你才有机会抓到这个规律的蛛丝马迹。


可是写电报又不是写小说谁写那么老长啊!而且你还不知道这三个轮子的转动关系!



咱们之前讲过,要破译它就相当于破译一个有10w字符的方形字母表格,就像是“做数独”一样解方程填数字,可是这个数独可不一样,里面全是空白,一点提示都没有。这些数学家们就头疼啊,没办法啊,要解方程,结果一个常数没有,都是未知数这可怎么整?

 

就这样,日复一日,波兰依旧在截获德军的情报,数学家们分析、研究、头疼;分析、研究、继续头疼,毫无进展;


------------漫长研究的快进分割线-----------


往往复复,突然有这么一天,雷耶夫斯基就琢磨着,这恩尼格玛的转子天天来来回回变,那你怎么能让接受者知道你这个轮子是怎么设置的呢?

不然,发过去谁也看不懂,这不是自娱自乐嘛?他这么一琢磨,就觉得这每一封电报里,一定藏着蛛丝马迹,揭露了揭露每一封电报的转子的设置!

那在哪呢?

叩击灵魂的三连问×3。


要么说数学家就是不一样呢,他就马上把已经收集来成山的情报找了出来。


联立方程找规律,他就发现,每封电报前六个字母有点儿特别之处。



原来啊,恩尼格玛是这样运作的:

每一个发报员啊,在发每一个情报的时候自行随机3个字母作为指标组,就是对这三个转子的设计要求,每次都不一样。


比如这回是abc那就是要求三个转子要分别把abc朝上,每一次发出的时候,怕输入错误,就要重复发一遍,于是就是abcabc


但是呢,德国人怕被发现,就发给发报员一个密码本,每三个月一换,对于前六个字母进行加密,然后再输入恩尼格玛。什么意思呢?


三个转子我要求分别把ABC三个字母朝上,我怕错误,就要重复两遍,输入ABCABC经过加密变成ETXETX,因为转子在输入的过程中会动,就会变成,FDSWER,虽然变了,但是因为你是通过密码本加密的,变化就是有规律的了,当情报足够多的时候,就足够被破译了!


这个贡献就太重要了,就相当于在空白的数独图上突然给你提供了一组数字,就有了突破的空间!当然,这还远远不够,毕竟连接线以及整个多表加密的表格还无从破译。



---------------强行卖关子的分割线------------


欲知后事如何,且听下回分解!



- 作者 -

游斯彬,数学痴迷者,毕业于英国华威大学数学专业,北京卫视《我是演说家》第四季总决赛优秀选手。本文转载自微信公众号Mathaholic游斯彬。好玩的数学经授权发布本文,转载请联系作者。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多