第116章 你们宋家可真是会做生意啊!(1/2)

天才一秒记住本站地址:[笔趣阁]
https://www.ibqg.vip 最快更新!无广告!

“先看仅有少量已知明文的情况,明文W E T T E R第一个字母W被加密成E,它的加密过程是:首先经过插线板进行了一次替换(记作函数p1),然后经过三个转子(记作r),又经过反射器返回并再次经过一次插线板(p2),写成W->(p1)->r->(p2)->E。”

“我们知道两次经过插线板仅仅是最简单的两两字母替换,可以用如下的方法进行推测插线板的设置:假设W与A连接W-A,则W->(p1)=A,然后A通过三个转子加密。由于转子的内部连接结构是已知的,就可合理选择一个转子状态,假设A通过转子后输出L,即A->r=L, 这样得L->(p2)=E,就可推断出在插线板L和E连接L-E。”

宋鸿飞刷刷刷在黑板上推演,俞大维聚精会神地看着,头脑在飞速运转。

“这样,通过这个已知明文按照同样的方式继续推断,可以发现插线板的其他设置,K-Q、X-B、T-G、W-J,到这里就发现有问题了,我们首先已假设W-A,W不可能同时连接两个字母A和J,这就能证明W-A的设定是错误的。然后,继续推断W-B、W-C、W-D,如此迭代,推断完26种可能,嗯当然没有连接也是一种可能。。”

“如果所有可能都是错的,就意味着转子的设置是错误的,就需要拨动一下转子,再次尝试另一个设置,并重复上面的推断过程。”

俞大维惊叹道:“真是一个绝妙的方法!这样一来,就只需尝试26次插线板连接!转子的设置总共有十万种可能,虽然还是很大的工作量,但也是可以完成的了!”

宋鸿飞道:“是的,破解过程原理就是如此!不过这样需要很长的时间,还有更聪明的方法。其一,当我们发现得出了一个错误的结果比如W-A和W-J,这就意味着与之相关的推测得到的连接都是错误的,往下就无需再检查这些连接了,这样能排除大量待检组合。”

俞大维点点头,道:“对,这样用时就大大减少了!”

宋鸿飞又笑笑道:“但是这样也还都是手工进行重复工作,我们应该把它交给机器!”

宋鸿飞接着在黑板画出原理图,进行推演:“我们可以设计出一种这样的机器:把上面做的推测如W-A通过电路的方式实现,电路会自动进行推测,当进行到W-J,这意味着推测错误。电路可快捷地找到W-A中所有的推测可能,也就是所有错误结果。然后,再依次推测另一组转子设置。十万级别的数量,对于电路来说不算什么问题。”

“就是一个不断排除错误选项的过程,最后剩下的就是没有引发错误的设置方式,只需要采用人工检查的方式,看看得到的结果是否正确。”

俞大维道:“把最繁杂重复的大量工作交给机器,效率就大大提高了!”

宋鸿飞又道:“如果得到了更多的类似这种已知明文,密码专家们称之为‘Crib’(小抄)。当能构成一条字母环时,对于机器来说还有更绝妙的方法。”

俞大维大感兴趣,道:“小抄?这名字倒是够贴切的。”

本章未完,点击下一页继续阅读。