Vigenère 密码
基本思想
Vigenère 密码是一种多表代换密码,它用一个关键词给明文中的每一个字母施加不同的凯撒移位
加密步骤
步骤一:对齐密钥
将密钥不断重复,直到长度覆盖整个明文
1 | 明文:ATTACKATDAWN |
步骤二:字母 → 数字
将 A–Z 映射为 0–25:
1 | A=0, B=1, C=2, ..., Z=25 |
步骤三:逐位加密
对于明文的第 i 个字母 P_i,对应密钥的第 i 个字母 K_i
用公式表示的话如下,其实就是位移,例如明文 h (7) + 密钥 c (2) = 9 → j:
1 | 密文字母对应的数字 = (明文字母数字 + 密钥字母数字) mod 26 |
步骤四:完成密文
将所有计算出的密文字母依次拼接,得到密文:LXFOPVEFRNHR
解密步骤
解密时则反过来:(密文字母对应的数字 - 密钥字母数字) mod 26