[Crypto]ECB模式攻击

本文详细介绍了ECB(Electronic Codebook)模式加密的攻击原理,通过构造特定的明文数据,利用ECB模式加密的复用性来破解未知字符串。攻击方法包括枚举验算,逐步获取加密字符串的每一位。同时,文章提到了在编写和调试过程中遇到的Socket通信、字符集枚举不全和Python pwn库安装等问题及解决方案。
摘要由CSDN通过智能技术生成

【ECB模式攻击原理】

(参考https://zachgrace.com/posts/attacking-ecb/

ecb模式使用相同的key分块对明文分别进行加密,相同的明文获得相同的密文输出 
根据这一特性,可以构造如下数据进行攻击: 
首先输入blocksize-1的填充,这样未知字符串的第一个字符将落到填充块的最后一个字节:  

XXXXXXAA AAAAAAAA AAAAAAXX

XXXXXXBA AAAAAAAA AAAAAAAX

XXXXXXBB AAAAAAAA AAAAAAAA

这时会得到填充块的一个密文输出,爆破最后一个字节,直到产生与刚才相同的密文输出,就可以确定未知字符串的一个字节,重复这个过程就可以得到完整的未知字符串。

【攻击方法】

向包含未知字符串的明文中插入数据,其实也是枚举验算的过程:

1.获取未知字符串的第一位

比输入name为111111111111,

服务器生成未知字符串"hello, 111111111111, your mission's flag is:  FLAGXXXXXX"的用ecb加密过的字符串S1给我们,

其中FLAGXXXXXX是我们希望得到的flag,通过观察题

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值