维吉尼亚密码是一个很著名的多码加密法,多码加密法是一种替换加密法,其中的每个明文字母可以用密文中的多个字母来代替,而每个密文字母也可以表示多个明文字母。
维吉尼亚密码引入了“密钥”的概念,即根据密钥来决定用哪一行的密表来进行替换,以此来对抗字频统计。
例1 维吉尼亚(Vigenere)密码加密:
设字母数字对应表为:
A |
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文章来源:https://www.toymoban.com/news/detail-788396.html |
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文章来源地址https://www.toymoban.com/news/detail-788396.html
到了这里,关于维吉尼亚(Vigenere)密码的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!