本文目的在於整合了網上的Playfair Cipher原理、解密及算法實現
大部分均為轉載,可以鏈接到原文地址查看,這里只是整合文章
簡介
以下直接搬運原文,便於查看,也可以直接鏈接到原文地址查看
ctf-wiki-Playfair
Playfair 密碼(Playfair cipher or Playfair square)是一種替換密碼,1854 年由英國人查爾斯 · 惠斯通(Charles Wheatstone)發明,基本算法如下:
- 選取一串英文字母,除去重復出現的字母,將剩下的字母逐個逐個加入 5 × 5 的矩陣內,剩下的空間由未加入的英文字母依 a-z 的順序加入。注意,將 q 去除,或將 i 和 j 視作同一字。
- 將要加密的明文分成兩個一組。若組內的字母相同,將 X(或 Q)加到該組的第一個字母后,重新分組。若剩下一個字,也加入 X 。
- 在每組中,找出兩個字母在矩陣中的地方。
- 若兩個字母不同行也不同列,在矩陣中找出另外兩個字母(第一個字母對應行優先),使這四個字母成為一個長方形的四個角。
- 若兩個字母同行,取這兩個字母右方的字母(若字母在最右方則取最左方的字母)。
- 若兩個字母同列,取這兩個字母下方的字母(若字母在最下方則取最上方的字母)。
新找到的兩個字母就是原本的兩個字母加密的結果。
以 playfair example 為密匙,得
P L A Y F
I R E X M
B C D G H
K N O Q S
T U V W Z
要加密的訊息為 Hide the gold in the tree stump
HI DE TH EG OL DI NT HE TR EX ES TU MP
就會得到
BM OD ZB XD NA BE KU DM UI XM MO UV IF
practicalcryptography.com-Playfair
practicalcryptography.com-Playfair
該網站詳細地介紹了Playfair密碼,包括歷史、運用、網頁實現、python實現等等
唯一的缺點就是全英
Cryptanalysis of the Playfair cipher
Cryptanalysis of the Playfair cipher
文章介紹了Playfair密碼的破譯,不過又是英文
Decrypto
-
在線網頁
JavaScript Implement of the Playfair Cipher
rumkin.com-Playfair Cipher -
CAPtfEncoder
-
Python實現解密算法(非模塊)
https://www.cnblogs.com/mambakb/p/10216820.html