【CTF-Crypto】PlayFair密碼
PlayFair密碼是古典密碼的一種,由一個5*5的矩陣構成金鑰;
為了方便描述,加密與解密的過程,這裡引用一道實驗吧的題目;
http://www.shiyanbar.com/ctf/1852
給出的密文是:The quick brown fox jumps over the lazy dog!
按照把這句話去掉空格按5*5寫成一個矩陣的形式,i,j不單獨分開,兩個字母相等;
t | h | e | q | u |
i/j | c | k | b | r |
o | w | n | f | x |
m | p | s | v | l |
a | z | y | d | g |
這是需要解密的密文:ihxo{smzdodcikmodcismzd}
而金鑰就是上面的表格;
現在將密文拆分成兩個一組: ih xo sm zd od dc ik mo dc sm zd
那麼現在就是需要根據金鑰解密,解密的原則如下:
①以 ih 為例子,位置在對角線上,那麼其對應的明文在其反對角線上,也就是 ct;
②以 xo 為例子,同行的字母組取其臨近的一個字母,如果越格就往後推(不換行),x的左邊是f,o的左邊即為x,同理,sm即為pl;
③這裡沒有出現同列的情況,那就是按照字母順序緊靠密文上端的字母;
btw,如果出現密文字母重複的情況,比如 communist,那就拆分為,co mx mu ni st即可。