Playfair密码依据一个5*5的正方形组成的密码表来编写,密码表里排列有25个字母。如果一种语言字母超过25个,可以去掉使用频率最少的一个。如,法语一般去掉w或k,德语则是把i和j合起来当成一个字母看待。英语中z使用最少,可以去掉它。
确定一个密钥,将后出现的重复字母去掉,按行或列的顺序写入5*5的密码表中,剩下的字母按顺序写入密码表中,例如密钥为LEAFBACK,去重后为LEAFBCK,得到密码表如下:
L | E | A | F | B |
---|---|---|---|---|
C | K | D | G | H |
I/J | M | N | O | P |
Q | R | S | T | U |
V | W | X | Y | Z |
将明文每两个字母组成一对。如果成对后有两个相同字母紧挨或最后一个字母是单个的,就插入一个字母X(或者Q)。
对于每一对字母p1p2:
Polybius 密码又称为棋盘密码,其一般是将给定的明文加密为两两组合的数字。 例如LEAF加密后为:31 15 11 21
1 | 2 | 3 | 4 | 5 | |
---|---|---|---|---|---|
1 | A | B | C | D | E |
2 | F | G | H | I/J | K |
3 | L | M | N | O | P |
4 | Q | R | S | T | U |
5 | V | W | X | Y | Z |
A | D | F | G | X | |
---|---|---|---|---|---|
A | b | t | a | l | p |
D | d | h | o | z | k |
F | q | f | v | s | n |
G | g | j | c | u | x |
X | m | r | e | w | y |
维吉尼亚密码(Vigenere)是使用一系列凯撒密码组成密码字母表的加密算法,属于多表密码的一种简单形式。