Post on: 2024-6-2Last edited: 2025-1-11Words 00 min

type
status
date
slug
summary
tags
category
icon
password
😀
题目叫CF,来源于DASCTF X HDCTF 2024 公开赛,该题有若干种不同思路的解法,每种思路从不同角度出发。可以从中学到解决连分数类问题的技巧。

题目

1.boneh_durfee

既然是私钥很小的题目类型,那么基本都可以用boneh_durfee的思路在模e下建立方程。
首先有,进而转化为,两边模e得到,把展开一下,把关于p、q、r、s的三次项及以下看作一个值,令,那么有,用boneh_durfee的经典板子就能打。注意把delta调到题目的0.127,m调大一点到10以上,由于y的值为1536比特,那么还需要把Y的上界调到
恢复d之后已知e、d、n去分解n即可。

2.利用连分数的误差估计进行爆破

参考连分数 - OI Wiki (oi-wiki.org),在误差和余项的估计这里有个结论:
notion image
那么直接小范围爆破r即可,exp参考2022年CBCTF的easyRSA。

3.基于Ax≡y(mod P)这一方程的lattice解法

该方法来源于Wiener's v.s Lattices —— Ax≡y(mod P)的方程解法笔记 | Tover's Blog,对于本题,重写一下该过程:
带入ed的关系式:
根据比特关系可以造格子:
我们有,这样规约得到的两个向量大小在这个量级。对于界,可以大概算一下。这里
范数的估计:
因此这个格子稍微卡了点界,可以考虑爆破再建立格;这里用的hash_hash师傅 教的一个新思路,虽然卡了界但也不多,可以考虑把规约得到的第一行和第二行向量作为线性基,去爆破下线性组合。因为d是在这个格子上的,那么用两个向量的线性组合是有极大概率求到真实的d的。exp:

📎 参考文章

 
💡
欢迎交流~
 

CRYPTOCTF2024(part1)

🗒️CRYPTOCTF2024(part1)

2024年CCTF的第一部分wp,这部分比较简单。


CISCN2024

🗒️CISCN2024

学习一下国赛的密码学题目。