
关于这一题,需要根据p,q,e的位数确定k的位数,,然后再进行循环,这个循环以k为参,从215到216,得到p,q后就好算了。


这题给了两个文件,读出了n,e,c,但是要用专业的RSA进行计算,不然就是一堆乱数据。

这一题又考上我的高数了,而且一开始没读懂z的含义。弄懂之后发现也就是p,q的事。

关于这一题,我主要在那个m的表示上有点问题。第一次知道这个还能b"BJD"*32
[INSHack2017]rsa16m
1关于这题我又不知道为什么没有办法直接用题解了,那个代码我用不了,最后会出错,当然做法是很简单的,但就是最后找那个n有问题,因为前后都是乱码,但还是把这个做法看了一下。

还要再具体就看我的notion吧。
额,又忘了保存。不写了,看notion。

关于这一题,好神奇,毕竟第一次碰到,要用伪加密,notion有具体实现过程,这要要用到第三方软件。

大概就是这样,还要用到java,再具体就是notion了
[MRCTF2020]Easy_RSA



主要在求q的时候要考虑到那个函数里面的p,q偏大,然后phi就是直接约等于n,
[MRCTF2020]babyRSA



看了那么久,看到题解,感觉自己像小丑。
事到如今我只能说一句6,真正意识到了,phi不一定只能由(p-1)(q-1)组成,还可以有很多数。还有就是注意一下一个和两个的区别。
[NPUCTF2020]EzRSA
1关于这题,嗯好高级,首先是那个p,q怎么解的问题,因为又学到了一个新的公式gcd(n-1,lcm)=gcd(p-1,q-1).666
然后是这一题它的e是个偶数,与p-1,q-1不互质,然后就需要将e进行转换,这题要转换成e/22,高级~~~

f=lambda m,e,n,c:pow(m,e,n)==c
定义一个叫f的小函数,输入4个数字,输出True或False.
assert(sum(map(f,[p]4,[4]4,n,c))==4)
[p]*4:将p重复4次
为什么这么写:
因为n,c为一组,p,4也得成为一组。
map(f,……):将后面的4个列表,一组一组丢进f里计算。
sum(……):在python里面True=1,False=0,就是说四次都是True,才可以使最后结果是4。
最重要的第四部分,也是最难的:
始终在强调这个e和phi是互质的,然后那个中国剩余定理的形式是公共的x是大的那一方,怎么说就是模数究竟在哪一边,然后转换需要注意什么。直接把notion的传上来了,因为确实难,这题什么都考了。nb