本文目的在於整合了網上的Beaufort Cipher原理、解密及算法實現
大部分均為轉載,可以鏈接到原文地址查看,這里只是整合文章
簡介
以下直接搬運原文,便於查看,也可以直接鏈接到原文地址查看
wikipedia-Beaufort Cipher
zh.wikipedia-博福特密碼
en.wikipedia-Beaufort Cipher
博福特密碼,是一種類似於維吉尼亞密碼的替代密碼,由弗朗西斯·蒲福(Francis Beaufort)發明。它最知名的應用是M-209密碼機。博福特密碼屬於對等加密,即加密演算法與解密演算法相同
博福特密碼是按mod q
減法運算的一種周期代替密碼,其博福特密碼表如下
與維吉尼亞密碼表相比,就第二列開始的字母排序不一致
示例
例如,明文的第一個字母為D
,則先在表格中找到第D
列。由於密鑰的第一個字母為F
,於是D
列從上往下找到F
。這一F
對應的行號為C
,因而C
便是密文的第一個字母。以此類推可以得到密文。以下便是一個密鑰為FORTIFICATION
時的例子:
明文:DEFENDTHEEASTWALLOFTHECASTLE
密鑰:FORTIFICATIONFORTIFICATIONFO
密文:CKMPVCPVWPIWUJOGIUAPVWRIWUUK
practicalcryptography.com-Beaufort Cipher
practicalcryptography.com-Beaufort
該網站詳細地介紹了Beaufort密碼,涉及到算法、例子、在線加密等
Decrypto
-
在線網頁
practicalcryptography.com Beaufort Cipher
http://ctf.ssleye.com/beaufort.html -
C語言實現解密算法
https://www.bbsmax.com/A/x9J2RyNgJ6/ -
python實現解密算法(pycipher模塊)
from pycipher import Beaufort Beaufort('HELLO').encipher('defend the east wall of the castle') >>> 'EAGHBELEHKHMSPOWTXGVAAJLWOTH' Beaufort('HELLO').decipher('EAGHBELEHKHMSPOWTXGVAAJLWOTH') >>> 'DEFENDTHEEASTWALLOFTHECASTLE'