-
Notifications
You must be signed in to change notification settings - Fork 23
/
课时58 WEP加密、RC4算法.txt
executable file
·100 lines (91 loc) · 7.86 KB
/
课时58 WEP加密、RC4算法.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
课时58 WEP加密、RC4算法
╋━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋
┃WEP加密 ┃
┃使用Rivest Cipher 4 (RC4)算法加密流量内容,实现机密性 ┃
┃CRC32算法检查数据完整性 ┃
┃标准采用使用24位initialization vector (IV) ┃
┃受美国加密技术出口限制法律的要求 ┃
┃ 高于64bit key禁止出口 ┃
┃ 所以除24bit IV之外真实的key只有40bit的版本被允许出口 ┃
┃ 出口限制法律撤销后实现了128bit key的WEP版本 (使用相同的24bit IV)┃
╋━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋
╋━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋
┃RC4 ┃
┃RSA实验室研发的对称加密 流 算法 ┃
┃ 实现简单 ┃
┃ 速度快 ┃
┃加密: 对明文流和密钥流进行XOR计算 ┃
┃解密: 对密文流和密钥流进行XOR计算 ┃
┃RC4算法key由两个过程生成 ┃
┃ 合并IV和PSK,利用Key Scheduling Algorithm (KSA)算法生成起始状态表 ┃
┃ Pseudo-Random Generation Algorithm (PRGA)算法生成最终密钥流 ┃
╋━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋
┌───────────────────┐┌───────────────────┐
│ Encryption ││ Decryption │
│ ││ │
│ ││ │
│ ┌─┬─┬─┬─┐ ││ ┌─┬─┬─┬─┐ │
│Plaintext │1 │1 │0 │1 │ ││Encrypted data │0 │1 │1 │0 │ │
│ └─┴─┴─┴─┘ ││ └─┴─┴─┴─┘ │
│ ⊕ ││ ⊕ │
│ ┌─┬─┬─┬─┐ ││ ┌─┬─┬─┬─┐ │
│Keystream │1 │0 │1 │1 │ ││Keystream │1 │0 │1 │1 │ │
│ └─┴─┴─┴─┘ ││ └─┴─┴─┴─┘ │
│ = ││ = │
│ ┌─┬─┬─┬─┐ ││ ┌─┬─┬─┬─┐ │
│Encrypted data │0 │1 │1 │0 │ ││Plaintext │1 │1 │0 │1 │ │
│ └─┴─┴─┴─┘ ││ └─┴─┴─┴─┘ │
│ ││ │
└───────────────────┘└───────────────────┘
╋━━━━━━━━━━━━━╋
┃ RC4算法加密流程 ┃
╋━━━━━━━━━━━━━╋
┌──┬──┬───────┬──┐
┌─────────────────────────────────→ │ IV │ Key│ Encryted │ICV │
│ │ │ ID │ Message │ │
│ └──┴──┴───────┴──┘
│ ↑ ↑
│ │ │
┌────┐ ┃ │ │
│ IV │───→┃ │ │
└────┘ ┃ ┌────┐ ┌────┐ │ │
┃───→│ KSA │───→│ PRGA │───┐ │ │
┌────┐ ┃ └────┘ └────┘ │ │ │
│ Key │───→┃ ↓ │ │
└────┘ ┃ Keystream │ │
│ │ │
│ │ │
↓ │ │
⊕─────────────┘ │
↑ │
┌────┐ ┃ │ ┌───────────┐ │
│ IV │───→┃ │ │ ┃ │ │
└────┘ ┃ │ │ ┃ Concatenate │ │
│ ┃───────────────────────┘ │ ┃ │ │
│ ┌──┐ ┃ │ │ │
└→ │ ICV│→┃ │ ⊕ XOR │ │
└──┘ ┃ └───────────┘ │
│ │
└───────────────────────────────────────────────┘
╋━━━━━━━━━━━━━╋
┃ RC4算法加密流程 ┃
╋━━━━━━━━━━━━━╋
┌──┬──┬───────────┬──┐
│ IV │ Key│ Encryted │ICV │
│ │ ID │ Message │ │
└──┴──┴───────────┴──┘
│ │ │
│ │ └──────────────────────────┐
│ │ │
│ │ │
│ │ ↓ ┌──────┐ ┌──┐
│ │ ⊕───→│ Encryted │──→│ ICV│
│ ↓ │ │ Message │ └──┘
│ ┌──┐ ┃ │ └──────┘
│ │ Key│ ─→┃ │ ┌───────────┐
│ └──┘ ┃ ┌────┐ ┌────┐ │ │ ┃ │
│ ┃───→│ KSA │───→│ PRGA │─→Keystream──┘ │ ┃ Concatenate │
│ ┃ └────┘ └────┘ │ ┃ │
└──────→┃ │ │
│ ⊕ XOR │
└───────────┘