ctf
天天卡丁
这个作者很懒,什么都没留下…
展开
-
每日10行代码174:ctfshow-crypto-easyrsa2 题目解答wp
就比如现实中,得到了一些信息,大家来解密,肯定也没有许多的提示信息,解密很重要的方法就是不断的尝试,去猜,所以ctf里的密码题目也是这样,没有那么多原因。知道把两个n去求下公约数,肯定是最早出这种类型题目的人想出来的,或者最早加密的人为了偷懒,更换模n时,没有重新去找p和q,而是沿用了以前的p或q。那么,再看看题目,给了两组n,e,c那有没有可能两个n有关系呢,可以试下他们有没有公约数,用libnum.gcd求了一下,发现两者还真有公约数,那就相当于对n做了因素分解。...原创 2022-07-21 18:40:56 · 304 阅读 · 0 评论 -
每日10行代码173:测试下yafu的质因数分解能力
从这个输出也可以看出,p到q间间隔了100个素数,而差值为72506,平均每两个素数之间的差是725,72506相对于这个大素数来说还是很小,以致于他们之间比值还是1.0。最后,把p*q的值放到yafu里分解,发现还是可以分解的,只是时间要的很长,在我的电脑上大概花了有一个小时的时间才分解出来。在做rsa题目时,经常会遇到因素分解的问题,而因素分解里有一个很出名的工具叫yafu.当p、q的取值差异过大或过于相近的时候,使用yafu可以快速的把n值分解出p、q值。综上经不严谨的推断,.........原创 2022-07-20 13:57:15 · 1601 阅读 · 1 评论 -
每日10行代码172:今天新学到的奇怪知识——bit_length(),^=,<<=,>>=
python里面要判断一个十进制数的位数,是没有专门的函数的,需要转换成二进制数来判断,但是判断一个二进制数的位数却有一个专门的函数,那就是bit_length(),=也是同样的。原创 2022-07-18 18:16:59 · 103 阅读 · 0 评论 -
每日10行代码171:rsa问题,转换为用python解大整数的一元二次方程
其中t和m均为一个2000以内的较小值,所以我可以用穷举的方法,逐一产生方程并求解,求得的解x即为第一个素数,p,q都是基于x生成的。原创 2022-07-16 23:04:00 · 267 阅读 · 0 评论 -
每日10行代码170:rsa中的N分解问题,基于p和q之间的关系
事实证明,真实的p值在平方根上下1000之内浮动,类似的,可以解决其他类似这种知道p和q某种关系的rsa问题。其中t和m是一个很小的量,t代表11x到下一个素数之间的差值,经过测试,通常差值在5000以内。从这里可以发现p和q有一定的关系。由于t和m很小,那么相关于。......原创 2022-07-15 23:47:09 · 1630 阅读 · 4 评论 -
每日10行代码14:一道ctf题目wp:加强版栅栏密码
今天参加了一场ctf比赛,结果平常练的多的python相关题目一道都没做出来,吐血!其中有一道加强版栅栏密码的题,需要用到Python脚本:题目标题:加强版栅栏题目内容:加密密文:afZ_r9VYfScOeO_UL^RWUc格式:flag{ }看到题目,猜测可能是栅栏密码的变形。先看看ascii码值有什么规律没:l1,l2=[],[]for i in "afZ_r": print(ord(i), end=" ") l1.append(ord(i)) print(原创 2020-09-10 23:46:50 · 631 阅读 · 0 评论