2024西湖论剑初赛部分wp
字数 1189 2025-08-22 12:23:12
2024西湖论剑初赛Crypto题目解析与解题思路
6-1 MatrixRSA
题目概述
这是一个基于矩阵的RSA加密系统变种,给出了p的高位,需要使用coppersmith方法求出完整的p。
相关知识
根据提供的论文《Matrix Modification of RSA Public Key Cryptosystem and its Variant》,矩阵RSA的φ函数与传统RSA不同:
对于h×h维的矩阵,φ函数变为:
g = (p^h-1)(p^{h}-p)...(p^h-p^{h-1})*(q^h-1)(q^{h}-q)...(q^h-q^{h-1})
本题中h=3。
解题步骤
- 使用coppersmith方法从p的高位恢复完整的p
- 计算矩阵RSA特有的φ函数值
- 使用常规RSA解密方法进行解密
6-3 已悟
题目结构
题目分为两部分:
第一部分 (choice=2)
- 需要输入
license key和license - 当
license key固定时,RicKV生成的subkeys和roundkey是固定的 RicKV.flip()对相同数据的处理结果一致
解题思路
- 设
license_key = "00" - 第一组
license = b"\x00"*8,计算l0 = RicKV.flip(b"\x00"*8) - 第二组
license = l0,经过处理后它会变回b"\x00"*8 - 这样操作后会返回True
第二部分 (choice=1)
- 对
login函数进行性能分析 profiler.get_stats().timings返回(函数行数,执行次数,开销)元组- 如果
pro=False,会隐藏执行次数
解题思路
- 通过输入不同长度的数据,观察
hacker pro的长度- 正确长度会使
hacker pro的长度不为2(因为只会执行两行)
- 正确长度会使
- 爆破可见字符并填充到正确长度
- 观察
hacker pro中第四或第五元素的执行次数 - 执行次数增加的字符即为正确字符
- 观察
预制菜题目
相关技术
参考论文《SNOW3G与ZUC流密码的猜测决定攻击》
8-2 DSASignatureData
解题步骤
- 从流量中筛选含有
userid的数据流 - 服务器成功接收用户信息后会返回"您发送的数据已接收!"
- 编写DSA验证签名函数
- 按顺序处理流量中的数据流:
- 服务器成功接收的数据保存并更新到字典中
- 与签名数据进行验签
- 不成功的输入保存到文件中
关键点
- 需要正确实现DSA签名验证算法
- 按顺序处理数据流很重要
- 该方法可以达到100%正确率
附件请求
原文作者请求其他题目的附件(PWN和IoT部分),发送到邮箱3156063554@qq.com。
总结
本文档详细解析了2024西湖论剑初赛中的几个Crypto题目,包括MatrixRSA、已悟和DSA签名验证等题目的解题思路和关键技术点。对于每道题目,都提供了清晰的解题步骤和关键知识点,可以作为类似题目的参考解法。