先放程序:Virginia的Maple实现
其中Virginia 1.0是正常版本,仅仅支持由纯小写字母构成的字符串的加密解密,而Virginia 2.0仅仅是为了好玩,添加了对特殊符号(例如空格、逗号等)的支持,但是目前都不知道大写字母的加密解密。以下只解释Virginia 1.0 。
一、维吉尼亚密码
wiki给出的解释是:Vigenère cipher,百度百科给出的解释是:维吉尼亚密码,总的来说,就是凯撒密码的加强版本。同时引入了“密钥”的概念。
一般密钥长度比明文长度要短。
二、加密
维吉尼亚密码需要由26张凯撒密表合成的一张密码表,作坐标图用。如下
图1 维吉尼亚坐标图
有了这个坐标表,接下来就是对明文进行加密,假设要加密的信息是 virginia ,密钥是 good ,那么加密方法就是以明文和