feat: add new translate
This commit is contained in:
@@ -1 +1,49 @@
|
||||
# Challenge 56: RC4 Single-Byte Biases
|
||||
# Challenge 56: RC4 单字节偏差
|
||||
|
||||
RC4 是一个流行的流密码,以在 TLS、WPA、RDP 等协议中的使用而著称。
|
||||
|
||||
它也易受到显著的单字节偏差影响,特别是在密钥流的早期。这意味着什么?
|
||||
|
||||
简单地说:对于密钥流中的给定位置,某些字节比其他字节更(或更不)可能出现。给定足够多的给定明文的加密,攻击者可以使用这些偏差来恢复整个明文。
|
||||
|
||||
现在,在线搜索 ["On the Security of RC4 in TLS and WPA"](http://lmgtfy.com/?q=On+the+Security+of+RC4+in+TLS+and+WPA)。这个网站是您获取 RC4 信息的一站式商店。
|
||||
|
||||
点击右侧的 "RC4 biases"。
|
||||
|
||||
这些是每个单字节偏差的图表(每页一个)。特别注意 z16、z32、z48 等上的巨大峰值。(注意:这些是一索引的,所以 z16 = keystream[15]。)
|
||||
|
||||
这些偏差有多有用?
|
||||
|
||||
点击进入研究论文并向下滚动到仿真结果。(顺便说一下,如果您有一些空闲时间,整篇论文都很值得一读。)我们从 2^26 次迭代的清晰峰值开始,但我们恢复前 256 字节中每一个的机会在我们接近 2^32 时接近 1。
|
||||
|
||||
有两种方法可以利用这些偏差。第一种方法非常简单:
|
||||
|
||||
1. 全面了解密钥流偏差。
|
||||
2. 在不同密钥下加密未知明文 2^30+ 次。
|
||||
3. 将密文偏差与密钥流偏差进行比较。
|
||||
|
||||
这样做需要对密钥流的每个字节的偏差有深入了解。但事实证明,如果我们对明文有一些控制权,我们只需要几个有用的偏差就可以做得很好。
|
||||
|
||||
如何?通过使用对单个偏差的了解作为明文的窥视孔。
|
||||
|
||||
解码这个秘密:
|
||||
|
||||
```
|
||||
QkUgU1VSRSBUTyBEUklOSyBZT1VSIE9WQUxUSU5F
|
||||
```
|
||||
|
||||
并将其称为 cookie。不要偷看!
|
||||
|
||||
现在使用它来构建这个加密预言机:
|
||||
|
||||
```
|
||||
RC4(your-request || cookie, random-key)
|
||||
```
|
||||
|
||||
在每次调用时使用新的 128 位密钥。
|
||||
|
||||
想象这种场景:您想窃取用户的安全 cookie。您可以生成任意请求(来自恶意插件或类似的东西)并监控网络流量。(好吧,这是不现实的 - cookie 不会像那样就在请求的开头 - 这只是一个例子!)
|
||||
|
||||
您可以通过请求 "/"、"/A"、"/AA" 等来控制 cookie 的位置。
|
||||
|
||||
为几个选定的索引(z16 和 z32 是好的)构建偏差映射并解密 cookie。
|
||||
|
||||
Reference in New Issue
Block a user