不知道加密方式的密文怎样解密?

上课时候老师讲的。。。 【不知道加密方式的密文怎样解密?】 不知道加密方式的密文怎样解密?


■网友
这个说法太模糊了,理论上用现代加密方式加密的,遵循安全规则的,基本上没有太大的破解可能。现代加密方法理论上希望密文是和随机字符流不可区分的,也就是你的统计方法是无效的。设计理念就是,我告诉你怎么加密的,没有密钥,你也解不了。
■网友
花样猜。如果你能使用这个加密服务的话,那不妨自己编些数据让他加密,然后你就得到了一组(明文,密文)的对应关系,其实信息量就已经大很多了。例如:有个加密系统把所有的英文文档都加密成了数字,你看到的密文都是051123这样的东西,如果你也能使一下这个加密系统,加密一下abcdefg,然后发现密文是01020304050607,那么加密方式就猜出来了,肯定是对称加密的……密文不长的话也可以通过这个加密黑盒不段加密自己穷举的信息,然后暴力撞大运。如果不能使用加密黑盒,但是有一些明文和密文能够对应上的片段(逼供,缴获= =|),也能尝试 一些数学方法分析分析什么的。但是如果这个加密黑盒压根就不给你用,你只有截获到一段密文,又抓不到舌头,那就麻烦了,我也想知道,等其他专业大神……我打酱油的。
■网友
我觉得这不能单从技术角度来解释这个问题。
因为加密的应用很多情况主要用于加密通信,而通信本质是两个或两个以上的主体进行信息交换。
同样的,有加密就对应着有解密,这时就会出现一个先有鸡还是先有蛋的问题。
举个例子:A通过某种加密算法,把明文plain text 加密能密文cipher text,然后把密文 cipher text发送给B。我觉得有三种情况:
情况1:如果A和B一直在一起,A告诉B加密算法是什么,那这个加密通信过程没有必要,因为A直接告诉B就好了。
情况2:如果A和B不在一起,请问A如何让B知道加密算法是什么?如果A有一种安全的通道让B知道加密算法是什么的话,那就不需要这个加密算法,直接用那个安全的通道就好了。如果事先不存在一条安全的通道,那A让B知道这个加密算法的过程就存在具有的风险,比如飞鸽传书,比如让通信兵送鸡毛信?传递这个加密算法的过程漏洞极大。
情况3:如果A和B先在一起面对面约好加密算法或者一次定了100个算法,然后约好每天换一个算法。约好算法之后,B再去远方,然后再按约好的时间对应算法进行加密通信。这种在实践上代价太大了。
比如一支军队有100个团,如果分开100天去打战,约好每个团每天的加密算法不一样。那这个指挥部需要设计100*100=10000个加密算法,这得多少个编制。都不用打战了。而简便的方法只能量退化成100个团的加密算法是一样的,这样即使每天换一个加密算法,指挥部也只需要准备100个加密算法就好。这样就带来另一个非常大的问题。敌人只要策反100个团里任何一个团,那么整个指挥部的通信加密系统就泄露了。即为了方便,导致了加密算法资产的更加暴露,这个加密系统的攻击面太大,非常容易攻击,而且非常不好管理。
这时可能有人会说,只需要一个加密算法,然后通过这个加密算法,再更新加密算法,比如100个团已经有一个共享的算法了,然后指挥部通过这个加密算法告诉大家明天的加密算法是什么,这样就方便了。但这样只会更容易出问题,比如说,敌人只要策反任何一个团,这个团就直接用这个加密算法告诉其它99个团新的加密算法,这时直接接管了100个团,指挥部自己都联系不上自己的100个团了。
此外,就是如果纯手工算的话,战争时期哪有那么多数学好的人,最后一定要么落地到很简单的某某版的康熙字典这种字典本,或者落地成类似恩格玛密码机的设备。这个时候你的加密实现手段也基本可以很容易被敌人知道。以二战为例,恩格玛已经很快速,安全性很高,主要靠中间转子和插板进行复杂变换,但本质上加密算法就由转子和插板的组合决定。这时候图灵的破解方法是,以机器对抗机器,这也是我们计算机最最早的原型。再结合人性的弱点,很快就可以破解整个加密系统。


推荐阅读