摘要: [NPUCTF2020]EzRSA 题目: from gmpy2 import lcm , powmod , invert , gcd , mpz from Crypto.Util.number import getPrime from sympy import nextprime from ran 阅读全文
posted @ 2022-10-19 13:54 明客 阅读(502) 评论(0) 推荐(0)
摘要: [NPUCTF2020]共 模 攻 击 上次做到了共模攻击的题,刚好来看看。 共模攻击 条件:当两个用户使用相同的模数 N、不同的私钥,且加密同一明文消息时即存在共模攻击。 原理: 设两个用户的公钥分别为e1和e2,且e1与e2互质 首先,由rsa的加密原理可知: c=m^e%n 如果是同一个n的话 阅读全文
posted @ 2022-10-19 13:53 明客 阅读(1307) 评论(0) 推荐(0)
摘要: [UTCTF2020]basic_crypto 题目: 01010101 01101000 00101101 01101111 01101000 00101100 00100000 01101100 01101111 01101111 01101011 01110011 00100000 01101 阅读全文
posted @ 2022-10-19 13:53 明客 阅读(541) 评论(0) 推荐(0)
摘要: ctfshow CRYPTO RSA系列 babyRSA 题目: e = 65537 p = 1040468357126640647791947349742711856355389278898806119299319397110013015616822701779316229746427899209 阅读全文
posted @ 2022-10-19 13:53 明客 阅读(493) 评论(0) 推荐(0)
摘要: DP泄露 选了三道与RSA的dp泄露有关的题,dp泄露算是比较有辨识度的题型。 原理 题目会给出n,c,e,dp,首先这个dp并不是单纯的dp: $$ dp≡dmod(p-1) $$ 根据这个式子继续推导: $$ dpe≡d*emod(p-1) $$ $$ de=k(p-1)+dpe $$ 又根据r 阅读全文
posted @ 2022-10-19 13:52 明客 阅读(1045) 评论(0) 推荐(1)
摘要: 维纳攻击 wiener attack 攻击条件 e过大或过小。 在e过大或过小的情况下,可使用算法从e中快速推断出d的值。 模数,其中 若 时,给定公钥,且 其中 那么可以有效地得到私钥 这里与我们常见的RSA加密不同的是使用了而非,两者差了个整数,其实是差不多的。 使用原理 wiener atta 阅读全文
posted @ 2022-10-19 13:52 明客 阅读(4808) 评论(0) 推荐(2)
摘要: 中学数学 p、q挣扎很久没分解出来,wp出来了赶紧复现试试。 题目 from gmpy2 import * from Crypto.Util.number import * from secret import flag p=getPrime(1024) q=next_prime(p+(p>>500 阅读全文
posted @ 2022-07-20 20:53 明客 阅读(475) 评论(0) 推荐(0)
摘要: 这个题过滤了$、+、-、^、~使得异或自增和取反构造字符都无法使用,同时甚至过滤了字母和数字。 但是特意留了个或运算符|。 由此我们可以尝试从ascii为0-255的字符中,找到用或运算能得到我们可用的字符。 羽师傅给了两个脚本(详见篇末的博客链接): 这个脚本用于生成可用字符的集合 跑完之后我们得 阅读全文
posted @ 2022-05-10 20:23 明客 阅读(219) 评论(0) 推荐(0)