古典密碼-普萊菲爾密碼Playfair


本文目的在於整合了網上的Playfair Cipher原理、解密及算法實現
大部分均為轉載,可以鏈接到原文地址查看,這里只是整合文章

簡介

以下直接搬運原文,便於查看,也可以直接鏈接到原文地址查看

ctf-wiki-Playfair

ctf-wiki-Playfair

Playfair 密碼(Playfair cipher or Playfair square)是一種替換密碼,1854 年由英國人查爾斯 · 惠斯通(Charles Wheatstone)發明,基本算法如下:

  1. 選取一串英文字母,除去重復出現的字母,將剩下的字母逐個逐個加入 5 × 5 的矩陣內,剩下的空間由未加入的英文字母依 a-z 的順序加入。注意,將 q 去除,或將 i 和 j 視作同一字。
  2. 將要加密的明文分成兩個一組。若組內的字母相同,將 X(或 Q)加到該組的第一個字母后,重新分組。若剩下一個字,也加入 X 。
  3. 在每組中,找出兩個字母在矩陣中的地方。
    • 若兩個字母不同行也不同列,在矩陣中找出另外兩個字母(第一個字母對應行優先),使這四個字母成為一個長方形的四個角。
    • 若兩個字母同行,取這兩個字母右方的字母(若字母在最右方則取最左方的字母)。
    • 若兩個字母同列,取這兩個字母下方的字母(若字母在最下方則取最上方的字母)。

新找到的兩個字母就是原本的兩個字母加密的結果。

以 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

  1. 在線網頁
    JavaScript Implement of the Playfair Cipher
    rumkin.com-Playfair Cipher

  2. CAPtfEncoder

  3. C語言實現解密算法
    https://www.cnblogs.com/DDiamondd/p/10744250.html

  4. Python實現解密算法(非模塊)
    https://www.cnblogs.com/mambakb/p/10216820.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM