crypto
余切66
一个学习网络安全的小白。
展开
-
e与phi不互素的情况
Crypto中RSA的e与phi不互素情况下的解法。原创 2023-08-30 09:55:07 · 898 阅读 · 0 评论 -
apdqn(RSA)-云上贵州-网络安全攻防竞赛个人赛
回到刚才分析的那里,现在p既整除n,又整除。很遗憾,这道题当时没做出来。是p的倍数了,或者说p整除。原创 2023-08-10 19:28:23 · 296 阅读 · 0 评论 -
青少年ctf-random(梅森算法-MT19973)
这道题的漏洞在于这个函数:MT19973算法能生成1-623个32位随机数,而我们有 (32/32+64/32+96/32)*104=624个已知随机数,那么我们就完全可以求出下一个随机数。这里生成的一组数据里分别是32位、64位、96位,这里我们只需要32位,所以需要把64位和96位的数分成两个或者三个32位数,可以用它们与32位全为1的二进制数来分离。这里可以直接引用RandCrack库,将已经生成的624个数按顺序传入RandCrack函数里,利用predict_getrandbits来计算出下原创 2023-06-14 03:30:00 · 387 阅读 · 0 评论 -
[GUET-CTF2019]Uncle Sam(Schmidt-Samoa密码系统-不一样的rsa)
Schmidt-Samoa密码系统,像rabin加密一样,其安全性基于整数因式分解的难度。但 Rabin 解密时会得到四个解,而 Schmidt-Samor 得到的是唯一解。注:此次所提n与之前不同,但phi不变。1.选取两个大素数p,q,计算n。2.计算私钥dphi=(p-1)*(q-1)根据密钥生成的公式,结合欧拉定理可知:本站所提phi均为(p-1)*(q-1)所以:接着:又因为:所以就有:因为a的取值可以是 a = 2,3,4,5…,这里方便计算我们取 2对于此题,不必麻烦去求p*q,因为给的n可以原创 2023-06-14 03:45:00 · 192 阅读 · 0 评论 -
[ACTF新生赛2020]crypto-aes-BUUCTF
根据源码:可知key是256bits,iv是128bits。输出的结果是key与iv的异或,所以key的高128位保持不变,又因为key的生成每16位相同,所以可以得到key的值。再用key的后128位(前128也一样)与输出的out后128位进行异或就可以恢复iv的值。key与iv的值都知道了,调用aes库解一下密文即可。完整EXP:结果:但有一点比较迷,就是拿到的flag一直提交失败,不过不重要。原创 2023-06-14 04:15:00 · 318 阅读 · 0 评论 -
unusualrsa4-ctf.show(费马小定理扩展)
当r=2,3,4,5,......时,可得到多个k*p,然后对其取gcd即可求出p,然后在模p的条件下求x的逆元即可得到q,那么n就知道了,m即可解出来。给出了invert(q,p),d,c,只需求出n即可解,求n只能根据invert(q,p)以及d,先求出p或q即可。对于任意的r,k1,k2,如果k2是k1的因子时,即k2整除k1,有。这里p是y的因子,也是上面为何要构造(x*phi)mod p的原因。那就说明y是p的倍数,即被p整除,那p就是y其中一个因子。这里的k与上面爆破的k毫无关系。原创 2023-06-15 09:49:23 · 181 阅读 · 0 评论 -
内部赛 签到-ctf.show
这结果可是跑了好几个网站才出来,观察一下上面的图案,是十二星座,网上科普一下。的字符编码(xx等于该字符在字符集表里面的编码的16进制数字)。天秤座 ♎ U+264E(9月23日 - 10月23日)金牛座 ♉ U+2649(4月21日 - 5月21日)双子座 ♊ U+264A(5月22日 - 6月21日)巨蟹座 ♋ U+264B(6月22日 - 7月22日)狮子座 ♌ U+264C(7月23日 - 8月22日)处女座 ♍ U+264D(8月23日 - 9月22日)原创 2023-06-14 06:00:00 · 357 阅读 · 0 评论 -
funnyrsa1-ctf.show(e与phi不互素)
这里解出来的也是m^14,与上面不同的是,这里就一个,当然,这里依旧不能直接开方求,原因和上面一样,这里把14分成2*7,将m^2看成整体m,所以这里的e就成了7,求7在(q1-1)*(q2-1)下的逆元,也就是d,常规rsa即可解出flag。这里我一开始是直接将结果m1,m2开14次方,然后输出flag,但发现行不通,我个人认为应该是开方不完全的原因,换句话说,就是m1,m2开14次方不是整数,python里对其取了整数部分,但转字符会出问题。这里可以利用中国剩余定理,结合c1,c2求出特解c。原创 2023-06-14 06:45:00 · 443 阅读 · 0 评论 -
crypto2-2022年“网信柏鹭杯”全国大学生网络空间安全精英赛(p,q生成不当)
所以 p^((1<<1024)-1) ,即((1<<1024)-1)^p=(1<<1024-1)-p。题目给出了n,e,c,试着用RsaCtfTool去跑,但是没跑出来了,发现是p,q生成方式不是常规。设 p^((1<<1024)-1)的下一个素数与 p^((1<<1024)-1)相差 x。p+q 近似等于 1<<1024(这里的 x 和 1 太小,可忽略不计)则 q=(1<<1024-1)-p+x。得到 p+q=1<<1024-1+x。然后爆破可取得 n%p==0。原创 2023-06-14 03:15:00 · 160 阅读 · 0 评论 -
crypto12-ctf.show
这个形式,以我现在的能力来说,能想到的有凯撒、维吉尼亚、变异凯撒、或者无规则爆破,但都无济于事,很显然,涉及到知识盲区了,看了一下网上的wp,发现这是Atbash cipher(埃特巴什码)加密。这里的u-f、o-l、z-a、t-g正好满足,所以这是埃特巴什码加密。在字母表中最后一个字母代表第一个字母,倒数第二个字母代表第二个字母。原创 2023-06-12 14:02:26 · 135 阅读 · 0 评论 -
鸡藕椒盐味-BUUCTF
此题给我们的验证码为110010100000,其实就是12位的汉明码,又给了提示说汉堡售价八块,也就是数据有8位,那校验位就是4位了,位置就是1,2,4,8,因为这个数是倒过来的,所以验证码按正确的顺序倒着写就是000001010011,根据上面的汉明码纠错,可知P4P3P2P1=1001,也就是第9位出错,把第9位的0改成1就是000001011011,再倒回来就是110110100000,再使用md5加密一下就是d14084c7ceca6359eaac6df3c234dd3b,也就是flag!原创 2023-06-12 14:00:58 · 147 阅读 · 0 评论 -
[网鼎杯 2020 青龙组]you_raise_me_up-BUUCTF-离散对数
后面发现python的 sympy库discrete_log函数是专门求指数的,正好可以用。题目的意思就是求出e,这里一开始的想法是爆破,但是没爆出来,可能是e太大了吧。原创 2023-06-12 13:59:49 · 247 阅读 · 0 评论 -
RSA & what -BUUCTF-共模-base64隐写
这里给了相同的N,所以无疑是共模攻击,每个文件有多个c,因为之前遇到的也就只有c1,c2,这次多来几个还有点不会了,其实每个相对应组成c1,c2,最后的结果拼接一下就行了,我脚本能力较差,所以就分开跑了六祖c1,c2。这个看似base64,又不太像,最后看了大佬wp才知道,原来这是base64隐写,那就直接上脚本。但是,当我跑出第一组结果时我就愣住了。原创 2023-06-12 13:57:55 · 516 阅读 · 0 评论 -
[网鼎杯 2020 青龙组]boom-BUUCTF
这里如果是直接双击打开的话,到这步输入答案,程序结束,这也是写这篇文章的原因(区别在于调试方式不同,当然也可以用OD)使用PowerShell打开。三元一次方程,依旧在线解。一元二次方程,依旧在线解。原创 2023-06-12 13:55:36 · 187 阅读 · 0 评论 -
[De1CTF2019]babyrsa-BUUCTF(新手推荐)
至于e1,仔细观察可以发现ce1的值与n的值相差了数十个数量级,从概率统计的意义上讲,如果比n小的每个数作为结果的可能相同,那么这种事情发生的概率非常小,但是还有一种可能就是,由于e1很小,e1的42次方都比n小,从而导致模n没起效果。给了多组n,c,虽然这里只显示了三行,但其实有四组,那应该是中国剩余定理,四组n,c求出来是m**4,需开四次方,根据已知的最后一行可知这里求的是p,上脚本。拿到附件后一看,傻眼了,仔细看,分为四个部分,那就一步一步慢慢来。q2)组成一个新的RSA解密,e=7,n=q1。原创 2023-06-12 13:52:55 · 167 阅读 · 0 评论 -
[NPUCTF2020]这是什么觅-BUUCTF
底下有行字:F1 W1 S22 S21 T12 S11 W1 S13,第一个字母正好是星期的首字符,后面的数字有一位也有两位,一位的 好理解,就是对应星期下面的第几个数字,比如F1就代表FRI(星期五)下的第一个日期就是 3;出现两位数字的是因为星期首字符有重复比如星期二和星期四首字符都是T,那T1,T2按顺序就是星期二,星期四,全部替换后的数字是:3 1 12 5 14 4 1 18,对应26个英文字母的就是calendar。flag就是flag{calenar}!添加压缩包后缀并解压得到一张图片。原创 2023-06-12 13:51:35 · 353 阅读 · 0 评论 -
[NPUCTF2020]EzRSA-BUUCTF
简单理解就是d算不出来,检查了一下发现e和phi不互素,有最大公约数2,这样解出来的m就是m^2,于是将e//2,m取平方根就可解出来了。给了n,c,e,直接上RsaCtfTool试试,结果跑不出来,果然没那么简单,那就分解一下n,没想到n可以分解!拿到p,q,试试p,q,e,c,结果还是出不来。原创 2023-06-12 13:50:40 · 375 阅读 · 0 评论 -
SameMod-BUUCTF
观察十进制数,发现前几个是102,108,97,103,123,正好是flag{的ASCII码,那就不用转十六进制,直接转ASCII码。根据题目提示可知,这是共模攻击,上脚本。原创 2023-06-12 13:47:03 · 280 阅读 · 0 评论 -
Keyboard-BUUCTF
数字2-9对应字符a-z,每个数字最多对应4个字符,与密文里每一段出现最多次数相对应,那么答案就可以解出来了,比如密文第一个为o,在二十六键上对应第九个字符,出现了三次,那就对应九键的数字9对应的第三个字符,也就是y,以此类推即可得到明文。成功拿到flag{youaresosmartthatthisisjustapieceofcake}!原创 2023-06-12 13:43:56 · 185 阅读 · 0 评论 -
rot-BUUCTF
看着挺像ASCII码,可惜有大于127的数字,根据rot13的原理,每个数字减13后转ASCII码。flag不完整,给了个md5值,爆破md5。原创 2023-06-06 10:51:06 · 190 阅读 · 0 评论 -
缝合加密-BugkuCTF
首先一步一步解决,num(e)代表e在字母中的位置,也就是5,0是pig,pig=1有8个x,也就是8个栅栏,pig=2有10个,以此类推,pig=5,栅栏就有16个。还有钥匙2没用上,这里解出来Aes is,那后半段就是用的aes加密,先解钥匙2,这个是表情包解密,也就是base100(接下来看第一个配对钥匙,仔细观察每一组在键盘上都有一定的规律,很像猪圈密码,上面也提到pig,所以对应解密。钥匙1出来了,密文有密钥,栅栏解密,栏数为16(原创 2023-06-06 10:52:52 · 134 阅读 · 2 评论 -
NO Ciphertext RSA -BugkuCTF
这里我们用到了中国剩余定理(CRT),即p和q是互相独立的大素数,n为p*q,对于任意(m1, m2), (0<=m1< p, 0<=m2< p),这里把m1和m2替换成leak_c1和leak_c2,即可得到以下关系,我们发现这个关系完全符合以上定理。现在来到了难点,c不知如何去求,这里给了leak_c1,leak_c2,应该就是用这个求了,最后实在没法了,看了一下作者的wp(求出c后,p,q,e,c已知,直接跑代码。这里给了dp,可以根据dp爆破出p,q。然后按照参考资料中的。原创 2023-06-06 10:53:05 · 259 阅读 · 0 评论 -
[GUET-CTF2019]BabyRSA-BUUCTF-解方程
因为这是第一次用这个网站解出数据大的方程,或许是因为这组方程太简单了吧。接下来使用sage在线网站解方程(p,q,e,c已知,代码跑就完事了。原创 2023-06-06 10:53:47 · 270 阅读 · 0 评论 -
RSAROLL-BUUCTF
打开一看,有点蒙了,这还是我认识的rsa吗,只好上网瞟一下大佬wp,发现原来这个前两个是n,e,后面是拆分的c,滚动拼接flag,有点意思。前四个果然是flag,用代码拼接一下flag并输出。先分解一下n,然后再验证一下这个ROOL,原创 2023-06-06 10:52:24 · 197 阅读 · 0 评论 -
Alice and Bob-贵州省大学生网络安全攻防大赛【CTF解题赛】
这里给出多组n,判断是否属于模不互素,脚本底子差的我只能一个一个去试了,最后发现是Alice.txt的第二句与bob.txt的第二句存在gcd(最大公约数),这个值也就是p。p解出来了,那么n又该如何判断,根据rsa的安全性,|p-q|越大越安全,因此n就是bob.txt的第二句。但凡经验充足,也不至于当时看不出是rsa。原创 2023-06-06 10:52:39 · 400 阅读 · 0 评论 -
RSASS-BMZCTF
附件是一个加密的压缩包,使用ziperello爆破即可,密码是password,解压后有四个文件。发现这两个n相同,那就是共模攻击了,接下来提取密文c1、c2。成功拿到flag,不过这里有个坑,得去掉-,才能提交成功。原创 2023-06-06 10:50:49 · 38 阅读 · 0 评论 -
RSSSSSA-BugkuCTF
看特征很明显是低加密指数广播攻击,关于原理的话可以看。,大佬是真的强,这个题只是他内容的冰山一角。成功拿到flag,这里我再次提一下。,出题脚本和解题脚本可参考。这里我使用的是解题脚本2。原创 2023-06-05 21:45:00 · 254 阅读 · 0 评论 -
崭新变异凯撒1!5!-贵州省大学生网络安全攻防大赛【CTF解题赛】
因为变异凯撒每一位字符的ASCII码与前一位的偏移量有关,一般情况下是逐步+1,比如第一位移了5位,第二个移6位,第三位移7位,一直递增,这里的话,得到上面这一串的ASCII码并不难,难的是怎么找到这个规律,这个规律可以从flag的格式来推出,但题目没有明确的给出flag格式,因此只能猜测,这里选择了两个flag格式来猜测,flag{}、ctf{}(猜测思路:flag是因为其它题解出来是这个格式,ctf是解其他题目出现的特殊字符)。,后面的内容应该就是flag了,到这,变异凯撒才算正式开始!原创 2023-06-05 21:30:00 · 296 阅读 · 0 评论 -
7+1+0 - BugkuCTF
解了,但没有完全解,仔细看看,发现奇数位没解出来,那?的内容可能就是这个解密工具没法解的一些特殊字符吧,在网上翻了n个解密网站后,终于找到了base64单字节解密工具了,再解一下(因为前面几个是确定的,为bugku,所以根据这几个的ASCII码和解出来的特殊字符相对应,发现相差128,那就明了了,奇数位的字符ASCII码加了128,所以一般工具解不出来。那接下来应该就是找规律了,不然我就不知道该怎么解了,找一张。这结果,近视的我看不清,放word里看看。那么短一句,直接解一下,看看结果如何。原创 2023-06-05 21:15:00 · 106 阅读 · 0 评论 -
一段新闻-BugkuCTF
粘贴进去后,发现所有内容都显示出来了,解密后是社会主义核心价值观,这我就看懂了嘛,以前听说有社会主义核心价值观解密,终于见识到了。这附件一打开我就蒙圈了,这啥啊?然后看见大佬评论说,看列数就知道是隐藏字符加密,果真,它的列数有好几千行,于是就开始找工具了。flag乖乖出来了!原创 2023-06-05 21:00:00 · 120 阅读 · 0 评论 -
RsaCtfTool的安装及使用
到这里就可以完全执行pip install -r requirements.txt命令了,也就意味着RSACtfTool安装完成了,可以随意使用了。这里不出意外的话,会报错,简单来说就是没有所需环境,安装就完了,这里先装mprf,后面如果报错就一行代码就可解决。这里安装完后,再次执行pip install -r requirements.txt,可能还会报错,gmp.h或者mpc.h找不到,那就安装。这里有道题,正好可以这样解,是bugku的题,把PEM格式的公钥转换为n,e。话不多说,直接开整,贴一下。原创 2023-06-05 20:45:00 · 1692 阅读 · 2 评论 -
黄道十二宫-BugkuCTF
个人花费时间较长的点在视频中的密文第一次排下来正好为对角线,排到了最后一行,而此题却到不了最后一行,耐心观看视频还是能看出,如果没到最后一行,继续接着往下,比如我第一次排,最后一位是3,3的下面是1,往右两个位置就是同行最左边的第二个,也就是*,以此类推……了解过后得知这个密文需要再排列一下,比较傻的我,还是看了一下视频讲解,文字说明对我来说 还是枯燥些,毕竟视频有动画,更加生动且直观理解怎么排列(转换成小写,提交flag{alphananke}!为了方便观看,我这手动做了个小小的对齐。原创 2023-06-05 20:15:00 · 220 阅读 · 0 评论 -
Math&English-BugkuCTF
到这就不知道怎么办咯,最后看了一下大佬们的评论,发现这些数字都是1-5之间,满足元音密码,好奇的我,去查了一下,发现有一个对照表。刚还好奇题目中math有了,English在哪?不过题目指定flag格式为bugku{},所以注意一下就好了。还好都是些基础题,就顺便解一下,最后一行是统计的答案。打开附件一看,全是数学题。原创 2023-06-05 20:00:00 · 102 阅读 · 1 评论 -
小山丘的秘密-BugkuCTF
接着我就蒙了,仔细看题目,发现hill不就是希尔吗,那这个应该就是希尔加密了。那flag.txt里的PLGTGBQHM就是需要解密的密文了,然后棋盘里表示的意识应该就是密钥了,这里说明A=1,因为希尔密码默认A-Z为0-25,A=1,往右移动一个单位,所以Z=0,那密钥就是abczadefz,利用工具解密,改一下字母表就行了。最后flag的格式在flag.txt里也提到了,是bugku{}。发现一个flag.txt和一个JPG图片,里面是一张棋盘。原创 2023-06-05 19:45:00 · 174 阅读 · 1 评论 -
把猪困在猪圈里-BugkuCTF
看着挺像base64编码,不过直接base64解码的话是解不出来的,因为我试过,所以试试base64编码转图片,这里我也试了好几个base64转图片的网站都不行,最后才找到一个好用的。这个应该就很眼熟了,没错,就是猪圈密码,再放个。然后flag就出来咯!原创 2023-06-05 15:24:54 · 135 阅读 · 1 评论