维吉尼亚密码(又译维热纳尔密码)是使用一系列凯撒密码组成密码字母表的加密算法,属于多表密码的一种简单形式。
设d为一固定的正整数,d个位移代换表π=(π1,π2,…,πd),由密钥序列K=(k1,k2,…,kd)给定,第 i+td个明文字母由表πi决定。即密钥ki决定
加密算法如下:
e k ( x i + t d ) = ( x i + t d + k i ) m o d ( q ) e_k(x_{i+td})=(x_{i+td}+k_i)mod(q) ek(xi+td)=(xi+td+ki)mod(q)
解密算法如下:
e k ( y i + t d ) = ( y i + t d + k i ) m o d ( q