古典密码-博福特密码Beaufort

本文目的在于整合了网上的Beaufort Cipher原理、解密及算法实现
大部分均为转载,可以链接到原文地址查看,这里只是整合文章

简介

以下直接搬运原文,便于查看,也可以直接链接到原文地址查看

wikipedia-Beaufort Cipher

zh.wikipedia-博福特密码
en.wikipedia-Beaufort Cipher

博福特密码,是一种类似于维吉尼亚密码的替代密码,由弗朗西斯·蒲福(Francis Beaufort)发明。它最知名的应用是M-209密码机。博福特密码属于对等加密,即加密演算法与解密演算法相同

博福特密码是按mod q减法运算的一种周期代替密码,其博福特密码表如下

古典密码-博福特密码Beaufort

与维吉尼亚密码表相比,就第二列开始的字母排序不一致

示例

例如,明文的第一个字母为D,则先在表格中找到第D列。由于密钥的第一个字母为F,于是D列从上往下找到F。这一F对应的行号为C,因而C便是密文的第一个字母。以此类推可以得到密文。以下便是一个密钥为FORTIFICATION时的例子:

明文:DEFENDTHEEASTWALLOFTHECASTLE
密钥:FORTIFICATIONFORTIFICATIONFO
密文:CKMPVCPVWPIWUJOGIUAPVWRIWUUK

practicalcryptography.com-Beaufort Cipher

practicalcryptography.com-Beaufort
该网站详细地介绍了Beaufort密码,涉及到算法、例子、在线加密等

Decrypto

  1. 在线网页
    practicalcryptography.com Beaufort Cipher
    http://ctf.ssleye.com/beaufort.html

  2. CaptfEncoder
    古典密码-博福特密码Beaufort

  3. C语言实现解密算法
    https://www.bbsmax.com/A/x9J2RyNgJ6/

  4. python实现解密算法(pycipher模块)

    from pycipher import Beaufort
    Beaufort('HELLO').encipher('defend the east wall of the castle')
    >>> 'EAGHBELEHKHMSPOWTXGVAAJLWOTH'
    Beaufort('HELLO').decipher('EAGHBELEHKHMSPOWTXGVAAJLWOTH')
    >>> 'DEFENDTHEEASTWALLOFTHECASTLE'
    
上一篇:java常用加密算法


下一篇:PHP中遍历stdclass object 及 json 总结[中国航天神舟十号以json形式向地面返回数据]