密码学原理与实践6
密码分析
仿射密码和代换密码的密码分析
这两个密码的分析,首先是根据字母出现的频率,结合上图进行猜测,多考虑两三个字母的组合频率,减少分析量。
维吉尼亚密码的密码分析
利用Kasiski测试法,搜索长度至少为三的相同的密文段,得到他们之间的距离。m(密钥长度)一般为距离的最小公倍数。
然后用重合指数法进一步确定m
$$
文章中任意选取两个字母,设这两个字母相同的概率为p_i
根据统计,26个字母的(p_i)^2相加一般为0.065。
$$
维吉尼亚密码加密是
$$
通过Kasiski测试法得到密钥长度为m,密文元素第1个和第km+1是经过同一密钥处理的,
$$
我们照这样把经过同一密钥处理的密文元素放在一起。
在每一组里面猜密钥,然后用重合指数法验证密钥是否正确。可能因为每组太短,统计法不行。怎么用重合指数法验证呢?
$$
他用前面统计表已知的每个字母频率的p_i乘以当前这个加密后的字母的出现的概率。\
如果p_i和这个概率相等,就等于(p_i)^2,累加就能等于0.065。g是密钥。
$$
希尔密码的密码分析
书中写的是知道密文和原文的攻击,求密钥矩阵就行了
LFSR流密码的密码分析
下面这个生成公式是固定条件,所以解密很简单
得到密钥11010 01000 01010,且假定知道m为5
画的圈形象表示上面的正在流走,下面在不断生成,我们这样理解可以很快写出这个矩阵。
知道m为5,把密钥前面5个写第一列,第二列去掉第一个表示流掉,后面加上得到密钥的第六位。
后面以此类推。直到我们把矩阵写完,还没有利用完得到的密钥。最后求矩阵就行了。
$$
上面结论是把c_i代入下面得到的
$$