feat: add new translate
This commit is contained in:
@@ -1 +1,35 @@
|
||||
# Challenge 35: Implement DH with negotiated groups, and break with malicious "g" parameters
|
||||
# Challenge 35: 实现带协商群组的 DH,并使用恶意的 "g" 参数进行破解
|
||||
|
||||
协议流程:
|
||||
|
||||
**A->B**
|
||||
发送 "p", "g"
|
||||
|
||||
**B->A**
|
||||
发送 ACK
|
||||
|
||||
**A->B**
|
||||
发送 "A"
|
||||
|
||||
**B->A**
|
||||
发送 "B"
|
||||
|
||||
**A->B**
|
||||
发送 AES-CBC(SHA1(s)[0:16], iv=random(16), msg) + iv
|
||||
|
||||
**B->A**
|
||||
发送 AES-CBC(SHA1(s)[0:16], iv=random(16), A's msg) + iv
|
||||
|
||||
再次进行中间人攻击,但这次操控 "g"。尝试以下情况会发生什么:
|
||||
|
||||
```
|
||||
g = 1
|
||||
g = p
|
||||
g = p - 1
|
||||
```
|
||||
|
||||
为每种情况编写攻击代码。
|
||||
|
||||
## 这种情况何时会发生?
|
||||
|
||||
老实说,在真实世界的系统中并不常见。如果你能操控 "g",很可能你能操控更严重的东西。大多数系统会预先约定一个静态的 DH 群组。但是相同的构造存在于椭圆曲线 Diffie-Hellman 中,在那里这变得更加相关。
|
||||
|
||||
Reference in New Issue
Block a user