Python 密码学 - 了解Vigenere维吉尼亚密码

Vignere 维吉尼亚密码包含一个用于加密和解密的 Caesar Cipher 算法。 Vignere 维吉尼亚密码的工作原理类似于 Caesar Cipher 算法,只有一个主要区别:Caesar Cipher 包括一个字符移位的算法,而 Vignere Cipher 包括具有多个字母移位的密钥。


数学方程式

加密的数学方程式如下 −

$$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$$

Vignere 维吉尼亚密码使用不止一组替换,因此它也被称为多表密码。 Vignere 维吉尼亚密码将使用字母键而不是数字键表示:字母 A 将用于键 0,字母 B 用于键 1,依此类推。 加密前后的字母编号如下所示 −

多字母密码

基于 Vignere 维吉尼亚密码长度的可能密钥数量的可能组合如下,给出了 Vignere 维吉尼亚密码算法安全性的结果 −

Vigenere 维吉尼亚密码

Vignere 维吉尼亚密码画面

Vignere 维吉尼亚密码使用的画面如下图 −

Vignere 维吉尼亚密码画面