java实现多表代替密码(维吉尼亚密码)

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

你可能感兴趣的:(维基利亚密码,java,密码加密解密,密码学,加密解密,java,算法)