【分组密码的工作模式】|分组密码 | 密码学 | 信息安全 | ECB |...

发评论被和鞋了
这题我会,补充点小知识。
ecb
ecb的软肋是相同明文相同密钥,密文总是固定的。所以我们用彩虹表攻击,比如mysql的表空间数据块前16个字节都是一样的,那么我提前遍历所有密钥,比如最脆弱的128位密钥,只有2^128种密钥,看起来多,实质上分布式来几天可能就跑完了,而且这个彩虹表一劳永逸,一次生成一直用,生成之后密钥破解时间复杂度是o1,这是最常见的密钥破解技术。
但是鉴于他最快,对硬件要求最低,仍然以绝对优势占据工业最常用的模式。
cbc
只有加密是串行的,解密是并行的。
iv只和第一块有关系。
工业上使用第二多,大部分数据系统的默认模式,比如mysql,oracle。
工业使用时,往往随机生成两个16字节,一个当iv,另一个当第一个明文块,加密后丢弃这两个随机数即可。
cfb
加解密都是串行。
需要保存每组加密的iv。
除了通讯基本不会用。
我一直主张数据类产品就应该直接不支持cfb,避免客户误选。领导一般主张多一个不多,客户不懂,比较友商时会觉得谁选项多谁厉害。
后面那俩就更用不上了。