文档介绍:博福特博福特密码,是一种类似于维吉尼亚密码的替代密码,由弗朗西斯· 蒲福( Francis Beaufort ) 发明。它最知名的应用是 M-209 密码机。博福特密码属于对等加密,即加密演算法与解密演算法相同。博福特密码是按 mod q 减法运算的一种周期代替密码。即 ci+td= δ i(mi+td) ≡(ki-mi+td)(mod q) 所以,它和维吉尼亚密码类似,以 ki 为密钥的代替表是密文字母表为英文字母表逆序排列进行循环右移 ki+1 次形成的。例如, 若 ki=3( 相当于字母 D) ,则明文和密文的对应关系如下: 明文: abcdefghijklmnopqrstuvwxy z 密文: DCBAZYXWVUTSRQPONMLKJIHGF E 显然,博福特密码的解密变换为 mi+td ≡δ i(ci+td) ≡(ki-ci+td)(modq) 因此, 博福特密码的解密变换与加密变换相同。按博福特密码, 以密钥 ki 加密相当于按下式的维吉尼亚加密: ci+td ≡[(q-1)-mi+td](modq) 若按下式加密: ci+td ≡(mi+td-ki)(modq) 就得到变异的博福特密码,相应代替表示将明文字母表循环右移 ki 次而成。由于循环右移 ki 次等于循环左移(q-ki) 次,即式 ci+td ≡(mi+td-ki)(modq) 等价于以(q-ki) 为密钥的维吉尼亚密码。所以维吉尼亚密码和变异的博福特密码互为逆变换, 若一个是加密运算,则另一个就是解密运算。\ 示例例如, 明文的第一个字母为 D, 则先在表格中找到第 D列。由于密钥的第一个字母为 F ,于是 D 列从上往下找到 F 。这一 F 对应的行号为 C, 因而 C 便是密文的第一个字母。以此类推可以得到密文。以下便是一个密钥为 FORTIFICATION 时的例子: Defend the east wall of the castle 去空格, 明文: DEFENDTHEEASTWALLOFTHECASTLE 密钥: FORTIFICATIONFORTIFICATIONFO 密文: CKMPVCPVWPIWUJOGIUAPVWRIWUUK / 符号注释: ki :密钥 mi :明文 ci :密文======================================================= 博福特密码和维吉尼亚密码一样,除了用公式计算以外还可以查表。明文:abcdefghijklmnopqrstuvwxyz aZYXWVUTSRQPONMLKJIHGFEDCBA bAZYXWVUTSRQPONMLKJIHGFEDCB cBAZYXWVUTSRQPONMLKJIHGFEDC dCBAZYXWVUTSRQPONMLKJIHGFED eDCBAZYXWVUTSRQPONMLKJIHGFE fEDCBAZYXWVUTSRQPONMLKJIHGF gFEDCBAZYXWVUTSRQPONMLKJIHG hGFEDCBAZYXWVUTSRQPONMLKJIH iHGFEDCBAZYXWVUTSRQPONMLKJI jIHGFEDCBAZYXWVUTSRQPONMLKJ kJIHGFEDCBAZYXWVUTSRQPONMLK lKJIHGFEDCBAZYXWVUTS