先说破译第一步,就是找密文里重复出现的字母。为啥会重复?两种可能:要么是明文里相同的字母被同样的密钥加密了,要么是不同的明文用密钥不同部分加密后撞衫了。如果咱们盯长一点的序列(比如4个字母以上),那第二种情况基本可以排除。
接下来第二步,确定密钥长度,看这段例子:
关键词:F O R E S T F O R E S T F O R E S T F O R E S T F O R
明文:b e t t e r t o d o w e l l t h a n t o s a y w e l l
密文:G S K X W K Y C U S O X Q Z K L S G Y C J E Q P J Z C
你看第一个YC到第二个YC结束,中间一共隔了12个字母(U S O X Q Z K L S G Y C)。那密钥长度应该是12的约数,也就是1、2、3、4、6、12里面的一个,当然1太离谱了直接排除。
接下来第二步,确定密钥长度,看这段例子:
关键词:F O R E S T F O R E S T F O R E S T F O R E S T F O R
明文:b e t t e r t o d o w e l l t h a n t o s a y w e l l
密文:G S K X W K Y C U S O X Q Z K L S G Y C J E Q P J Z C
你看第一个YC到第二个YC结束,中间一共隔了12个字母(U S O X Q Z K L S G Y C)。那密钥长度应该是12的约数,也就是1、2、3、4、6、12里面的一个,当然1太离谱了直接排除。