Cryptography With Python 简明教程

Understanding Vignere Cipher

韦格纳密码加入了恺撒密码算法的微调,用于加密和解密。韦格纳密码与恺撒密码算法的工作方式相似,但有一个主要区别:恺撒密码包括一个字符偏移算法,而韦格纳密码则包括一个有多个字母偏移的密匙。

Mathematical Equation

对于加密,数学方程式如下:

E_{k}\left(M{ {i{}}} \right ) = \left ( M {i}+K_{i}\right)\;\;\;mod\;\;26

对于解密,数学方程式如下:

D_{k}\left(C{ {i{}}} \right ) = \left ( C {i}-K_{i}\right)\;\;\;mod\;\;26

韦格纳密码使用多套代换,因此也称为 polyalphabetic cipher 。韦格纳密码将使用字母密匙,而非数字密匙表示法:字母 A 将用于密匙 0,字母 B 将用于密匙 1,依次类推。加密过程前后字母的数字如下所示:

polyalphabetic cipher

基于韦格纳密匙长度的密钥可能组合数目如下,它给出了韦格纳密码算法的安全性:

Vignere key length

Vignere Tableau

韦格纳密码使用的表如下图所示:

vignere tableau