先說破譯第一步,就是找密文里重復出現的字母。為啥會重復?兩種可能:要么是明文里相同的字母被同樣的密鑰加密了,要么是不同的明文用密鑰不同部分加密后撞衫了。如果咱們盯長一點的序列(比如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太離譜了直接排除。