-
-
[讨论]科普:杀敌100,自损1000,多算法加密体制综述
-
发表于:
2020-9-11 08:53
10878
-
[讨论]科普:杀敌100,自损1000,多算法加密体制综述
多算法加密体制,不是一个新概念,很多成熟的密码产品都采用了这种体制。
但是,多数产品采用这种体制的原因是“兼容”,而不是“安全”。
这种体制的最常见做法是:在密文中有一个算法标志位,标明使用了何种算法。
另外两种方式是:一、算法选择由密钥实现,这个的例子可参加本论坛著名的“天锁”
二、算法选择由加解密双方约定,这个,可参见著名的加密软件 turecrypt
首先:有算法标志的多算法加密体制,不增强安全性,只增加了可用性,这个是大家可以形成共识的,不用多说。
再说密钥选择,只要知道了密钥,也就知道了算法,算法的保密依赖于密钥的保密,所以其实和单一加密算法密钥保密无本质区别,不知大家是否认可。本质上就是如此,没啥争论的必要。
最后再说双方约定算法
这个迷惑性较强,但说出来也是很简单,实际上也就是多出来一个“预共享密钥”。算法组合的数量就是密钥的信息量,比如128种组合(下同),就提供了7比特的信息量。
使用了这种方式,本质上是增长了密钥,就是原来的128比特(举例)密钥,实际变成了135比特。
大家这样看懂了吧?是多算法容易实现还是加长密钥容易实现?
别说算法密钥长度是确定的没法增强,AES的256比特密钥足够长了,不需要增强,需要增强的是生成这个密钥的种子,这个一般情况下用口令。
也就是说,口令加长1位,差不多就达到了7比特的信息量,加长2位就远远超出了。
那么,作为一个密码产品,是把最短口令限制从8位提高到10位还是采用多算法呢?
128种组合,意味着什么?产品在这方面的开发量要大大增大,测试量要增大到128倍,
而这,只需要修改一个配置就可以达到更好的效果。
采用多算法加密体制,给攻击者带来的障碍只相当于增加了很短的密钥,却给开发者增加了几十倍的研发成本,给使用者也带来了麻烦,是不是称得上“杀敌100,自伤1000”?
这种多算法加密体制,还有一个致命的缺点:实际上一大半都在使用默认算法组合,也就是说多数情况下杀敌量是“0”!不管杀了多少,先自杀1000再说吧。
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)