维吉尼亚密码是一个很著名的多码加密法,多码加密法是一种替换加密法,其中的每个明文字母可以用密文中的多个字母来代替,而每个密文字母也可以表示多个明文字母。
维吉尼亚密码引入了“密钥”的概念,即根据密钥来决定用哪一行的密表来进行替换,以此来对抗字频统计。
例1 维吉尼亚(Vigenere)密码加密:
设字母数字对应表为:
B | C | D | E | F | G | H | I | J | K | L | M | |
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 |
N | O | P | Q | R | S | T | U | V | W | X | Y | Z |
13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 |
设n=6,密钥是cipher,这相应于密钥k=(2,8,15,7,4,17),明文是“this cryptosystem is not secure”(明文用小写字母表示), 试用(Vigenere)密码对其加密(密文用大写字母表示)。
解:首先将明文按每6个分为一组,然后与密钥进行模26加计算,得如下算式结果(两种列表形式,任选一种):
t | h | i | s | c | r | y | p | t | o | s | y | |
19 | 7 | 8 | 18 | 2 | 17 | 24 | 15 | 19 | 14 | 18 | 24 | |
2 | 8 | 15 | 7 | 4 | 17 | 2 | 8 | 15 | 7 | 4 | 17 | |
21 | 15 | 23 | 25 | 6 | 8 | 0 | 23 | 8 | 21 | 22 | 15 | |
V | P | X | Z | G | I | A | X | I | V | W | P |
就第一列t而言,(19+2)mod26=21→V
s | t | e | m | i | s | n | o | t | s | e | c | |
18 | 19 | 4 | 12 | 8 | 18 | 13 | 14 | 19 | 18 | 4 | 2 | |
2 | 8 | 15 | 7 | 4 | 17 | 2 | 8 | 15 | 7 | 4 | 17 | |
20 | 1 | 19 | 19 | 12 | 9 | 15 | 22 | 8 | 25 | 8 | 19 | |
U | B | T | T | M | J | P | W | I | Z | I | T |
u | r | e | ||||||||||
20 | 17 | 4 | ||||||||||
2 | 8 | 15 | ||||||||||
22 | 25 | 19 | ||||||||||
W | Z | T |
相应的密文是:VPXZGIAXIVWPUBTTMJPWIZITWZT
例2 维吉尼亚密码解密:
设n=5,密钥是ynfjw, 这相应于密钥k=(24,13,5,9,22), 已知密文是“GJNUH ZRARO GGNWC QUFWC FNNCK KBWAK UJNCD KLKAE CAI”(密文用大写字母表示),试用(Vigenere)密码对其解密(即求出明文,明文除英文习惯外用小写字母表示)。
解:首先将明文按每5个分为一组,然后与密钥进行模26减计算,得如下算式结果:
i | w | i | l | l | b | e | v | i | s | i | t | i | n | g | ||
8 | 22 | 8 | 11 | 11 | 1 | 4 | 21 | 8 | 18 | 8 | 19 | 8 | 13 | 6 | ||
24 | 13 | 5 | 9 | 22 | 24 | 13 | 5 | 9 | 22 | 24 | 13 | 5 | 9 | 22 | ||
6 | 9 | 13 | 20 | 7 | 25 | 17 | 0 | 17 | 14 | 6 | 6 | 13 | 22 | 2 | ||
G | J | N | U | H | Z | R | A | R | O | G | G | N | W | C |
s | h | a | n | g | h | a | i | t | o | m | o | r | r | o | ||
18 | 7 | 0 | 13 | 6 | 7 | 0 | 8 | 19 | 14 | 12 | 14 | 17 | 17 | 14 | ||
24 | 13 | 5 | 9 | 22 | 24 | 13 | 5 | 9 | 22 | 24 | 13 | 5 | 9 | 22 | ||
16 | 20 | 5 | 22 | 2 | 5 | 13 | 13 | 2 | 10 | 10 | 1 | 22 | 0 | 10 | ||
Q | U | F | W | C | F | N | N | C | K | K | B | W | A | K |
w | w | i | t | h | m | y | f | r | i | e | n | d | ||||
22 | 22 | 8 | 19 | 7 | 12 | 24 | 5 | 17 | 8 | 4 | 13 | 3 | ||||
24 | 13 | 5 | 9 | 22 | 24 | 13 | 5 | 9 | 22 | 24 | 13 | 5 | ||||
20 | 9 | 13 | 2 | 3 | 10 | 11 | 10 | 0 | 4 | 2 | 0 | 8 | ||||
U | J | N | C | D | K | L | K | A | E | C | A | I |
相应的明文是:iwillbevisitingshanghaitomorrowwithmyfriend