在凯撒密码的基础上,维吉尼亚密码更进一步,引入了密钥来决定位移替换的方式。
在加密前,我们要先准备出一个字母表格,这个表格由26行以不同字母开头的字母表构成。以A开头的第一行字母表的索引是A,在第二行中,字母表中的第一个字母是B,所以它被标识为B,其余各行以此类推。下面是加密表的一部分:
现在,让我们引入密钥。假设密钥是"SORT",那么加密表如下:
如果用"SORT"这个密钥加密"HELLO,ALGORITHM!"(你好,算法),加密时第一个字母将通过"S"来编码,"O","R"和"T"行则被用于加密第二、第三、第四个字母。从第五个字母开始,上述过程将被不断地重复。也就是说,我们要回到"S"行,并用它去加密第五个字母。加密后的文本为"ZSCEG,OCZGFZMZA!"
注意,在加密时,只会输入大写字母和标点符号,我们只需要对大写字母进行加密,且密钥只含大写字母