1
0

feat: add new translate

This commit is contained in:
2025-09-02 16:43:02 +08:00
parent 27e7137418
commit eaf9fa04ff
33 changed files with 2082 additions and 45 deletions

View File

@@ -1 +1,38 @@
# Challenge 16: CBC bitflipping attacks
# 挑战16CBC位翻转攻击
生成随机AES密钥。
结合你的填充代码和CBC代码来编写两个函数。
第一个函数应该接受任意输入字符串,前置字符串:
```
"comment1=cooking%20MCs;userdata="
```
...并附加字符串:
```
";comment2=%20like%20a%20pound%20of%20bacon"
```
函数应该转义";"和"="字符。
然后函数应该将输入填充到16字节AES块长度并在随机AES密钥下加密它。
第二个函数应该解密字符串并查找字符";admin=true;"(或者,等价地,解密,用";"分割字符串将每个结果字符串转换为2元组并查找"admin"元组)。
根据字符串是否存在返回true或false。
如果你正确编写了第一个函数,应该*不*可能向其提供会生成第二个函数正在寻找的字符串的用户输入。我们必须破解密码才能做到这一点。
相反修改密文不知道AES密钥来完成这个目标。
你依赖的事实是在CBC模式中密文块中的1位错误
- 完全打乱发生错误的块
- 在下一个密文块中产生相同的1位错误(/编辑)
## 停下来思考一下
在你实施这个攻击之前回答这个问题为什么CBC模式具有这个属性