![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
crypto
文章平均质量分 58
山猪儿烦不得
这个作者很懒,什么都没留下…
展开
-
crypto-babyECC2(xctf)
Tover说不想出题了,我把他上年的防AK题改了一下(逃。,然后取随机点,进行随机乘法计算,得到曲线上一个点。加密过程很简单,就是将flag中第i个字符与。注意到本题有个特殊条件,flag开头只可能是。随机数生成器就是逊啦,xor yyds!大概看下程序逻辑,初始化一条椭圆曲线。椭圆曲线的条件用不到。的两个分量进行异或得到密文。,于是可以直接枚举出。原创 2023-01-29 17:08:06 · 779 阅读 · 1 评论 -
crypto-Xor很心疼你(xctf)
前后各加200多个字符padding生成的字符串。随机数题目还是要先解决种子未知的问题,好在这个题目。正确加密后的密文,然后就是个简单的异或解密了。大概分析一下题目逻辑,首先明文。都只有8位,直接爆破,寻找。新出密码题,记录一下。原创 2023-01-11 17:55:16 · 1538 阅读 · 0 评论 -
crypto-cat‘s gift(CATCTF)
如图所示,下面这只好心的猫猫给你送来了跨年礼物。由于礼物不好拿,所以猫猫把礼物平均分成了四份,但是其中一份不小心掉在地上散落成了无数片,变成了 1 - 1/3 + 1/5 - 1/7 + …flag示例: CatCTF{apple} CatCTF{banana}提示:没思路的话可以问下这只猫猫有关Leibniz的事哦。聪明的你能算出或猜出猫猫的礼物是什么吗?,提交pi不对,答案是一种食物。直接用代码逼近一下,发现结果是。其实这个知识点是学过的,原创 2023-01-11 10:41:46 · 1243 阅读 · 0 评论 -
crypto-了不起的盖茨比(CATCTF)
比较简单的一个AES/ECB加密,明文按16字节分组进行加密,打印出key和密文,iv未知,需要还原明文。可以发现本题是多次使用同样的流密码。本题是利用MTP攻击来求解,比较好的两篇文章可以参考。比较新颖的对称密码题,记录一下。原创 2023-01-11 10:02:57 · 1723 阅读 · 0 评论 -
crypto-二元一次方程组(xctf)
的解,老套路利用韦达定理求解即可。RSA初级题,记录一下。进行因子分解从而解密。原创 2023-01-10 20:15:22 · 553 阅读 · 0 评论 -
crypto-[中等偏下] 线性反馈移位寄存器(xctf)
求解有点问题,最后是把initState组在outputState前面一起解方程组,得到正解。最主要的操作就是进行256轮LFSR计算,这地方和简单LFSR有点不同。,即为LFSR(线性反馈移位寄存器)的初始状态,随机数题,LFSR变形,记录一下。是flag转二进制之后的数组。数组后256个元素,命名为。尝试模2条件下线性方程组求解。256轮循环最终输出。可改写为矩阵乘法形式。原创 2023-01-10 17:36:36 · 830 阅读 · 3 评论 -
crypto-简单的LFSR(xctf)
即为LFSR(线性反馈移位寄存器)的初始状态,最主要的操作就是进行256轮LFSR计算。接下来就是简单的线性方程组求解了。是flag转二进制之后的数组。数组后256个元素,命名为。256轮循环最终输出。随机数题,记录一下。可改写为矩阵乘法形式。原创 2023-01-03 11:21:09 · 1664 阅读 · 0 评论 -
crypto-初识RSA(xctf)
都是1024bit素数,给出。然后套RSA解密脚本解密即可。还有RSA加密后的密文。RSA入门题,记录一下。原创 2022-12-31 21:18:17 · 817 阅读 · 0 评论 -
crypto-rsarsa(江苏工匠杯 CTF)
又是一题pwn结合crypto,记录一下。听说是鹤城杯2021 babyrsa类似题目。也就是p的低265bit;已知p的高位和低位套coppersmith攻击脚本求解。分析一下逻辑,一共三轮RSA加密,是1024bit随机素数,的高300bit值,给出。经过RSA加密后的密文。需要解出明文后进入下一轮。原创 2022-12-31 20:55:15 · 1466 阅读 · 0 评论 -
crypto-hidden key(江苏工匠杯CTF)
计算md5作为随机数种子生成一系列随机数,然后将flag中的字节依次与随机数做异或,最后输出异或的结果和。这种题目第一反应肯定是要恢复出随机数种子,然后将每次异或涉及到的随机数推算出来,最后反推flag的各个字节。这个题比较简单的地方在于可以枚举key的值,因为未知部分只有12bit,循环4096次即可完成覆盖。题目逻辑不复杂,本质上就是随机取了8个字节的数据。值是否能生成printable的flag即可。关于随机数的题目,记录一下。隐去低12bit后的数值。原创 2022-12-31 15:53:37 · 2812 阅读 · 0 评论 -
crypto-PellRSA(2022 ISG CTF)
已知,则利用韦达定理求解该方程,若解为整数即可进一步推出。其中x和y都未知需要进行枚举。最后老套路RSA解密即可。RSA新套路,记录一下。题目一开始是佩尔方程。原创 2022-12-31 11:41:04 · 1327 阅读 · 0 评论 -
crypto-Funny Number(Bugku CTF)
传说中的一句话加密,本质上就是将flag转数字,然后左移10000bit,即乘上2*10000,然后打印出最后175位的数值。,所以需要先约分再求逆。原创 2022-12-30 17:31:45 · 503 阅读 · 0 评论 -
crypto-EasyMath(Bugku CTF)
大概逻辑就是生成2048bit大素数。,加密完成以后打印出密文的值,以及。,得到模数分解后套RSA解密脚本即可。老套路解密RSA的话肯定还是要求出。额外取4096bit的大素数。对flag进行RSA加密。新RSA题,记录一下。原创 2022-12-30 15:54:34 · 976 阅读 · 1 评论 -
crypto-MagicianV(buuctf)
通过对照原文发现密文实际上是经过了维吉尼亚密码加密,每一次加密的密钥都不同,总共有26组密钥,根据循环关系推断出最后一句flag的加密密钥应该是(感觉附件里给的key没啥用)这地方其实有两种方法,因为已知明文和密文,可以肉眼推出密钥,或者用个套路,重合指数法估算密钥,只是估算完成后可能还要对照明文进行一个微调。大部分密文实际上是重复的,只有最后一句比较特殊,应该就是flag内容,通过搜其中的几个数字找到了。,是一篇医学论文,对应的两段原文大概是这样。原创 2022-12-30 11:24:03 · 38302 阅读 · 0 评论 -
crypto-Now We Can Play!!(HarekazeCTF 2019)
题目逻辑比较简单,连上端口以后会打印出pk的三个值,还有两个密文c1和c2。,没太搞懂为啥要把输出的c1和c2再输入一遍😰。用户输入内容的话比较简单。函数逻辑,最主要就是进行下面这个运算。注意到上式只有一个未知量。再推导一下上面这个式子。都已知,推导一下可知。原创 2022-12-28 17:29:10 · 651 阅读 · 0 评论 -
crypto-海神呆斯(buuctf)
海神呆斯一直是神秘的象征,他全身的细胞都是镜像对称的,战斗力也会成倍增加,他的力量精华都储存在一句咒语里:whosyourdaddy。有一天小鱼人在海神宫边玩耍,不经意间捡到了海神的一个神秘的符文片段,瞬间战力翻倍,想尽一切办法的小鱼人探听到符文需要十六次融合。小鱼人想要还原这个符文片段,获得完整符文,提交给平台,完成小鱼人逆天翻盘。注意:得到的 flag 请包上 flag{} 提交,里面的内容要先 md5。看题目应该是DES加密,但是密钥长度貌似对不上,暂时没有其他思路了。附件是一个二进制文件。原创 2022-12-28 16:13:06 · 402 阅读 · 0 评论 -
crypto-dollar_lunch(b01lers ctf 2020)
一题比较特殊的RSA题,记录一下。已知N,phi,e解密原创 2022-12-28 15:29:01 · 567 阅读 · 0 评论 -
crypto-Game(WMCTF 2020)
大概就是AES/CBC加密,初始 IV 已知,程序会打印出 (输入值 + secret)加密后的结果。第一次见到SSL/TLS题,由于buu没有提供远程环境,只能是根据官方wp复盘一下。官方wp讲的还是比较详细,思路大概就是选择明文攻击,拖了一份供。原创 2022-12-28 11:07:13 · 309 阅读 · 0 评论 -
crypto-DSA attack(buuctf)
DSA攻击题,题目给了一个公钥文件和四组消息+签名,需要还原私钥,本质上解题思路和jarvisoj的DSA题目一样,详解参考这里但是buuctf的题目多了个readme:本来以为套一下脚本就能成:但是把这个结果各种转换进制,算了一堆md5提交都出错,搞不懂最终flag是什么格式,如果有知道的大佬麻烦指教一下。原创 2022-12-28 09:30:51 · 684 阅读 · 0 评论 -
crypto-baby_writeup(buuctf)
大概审计了一下enc函数,能看出来是将用户输入字符串每4个字节进行处理,生成3个字节,那么用户输入16个字节最后会加密成12个字节,与data区601100的数据进行比对,比对成功后即输出flag。将原来的比对逻辑改了一下,原来是加密后字节与601100部分比对,比对不成功则退出,改成比对成功则退出,那么现在就可以构造特殊的payload来枚举flag了。elf打补丁教程可以参考。题目提供了一个elf可执行文件,叫做baby_wp。逆向加解密,记录一下。原创 2022-12-27 15:51:53 · 367 阅读 · 0 评论 -
crypto-music is frequency(INS‘hAck CTF 2018)
比较有趣的一题,记录下来。乐谱解密原创 2022-12-22 19:00:00 · 941 阅读 · 0 评论 -
crypto-haystack(BSidesSF ctf 2020)
re和crypto结合的一题,记录一下。大概的意思是本题是关于某种签名算法。另外题目还提供了一个pcap抓包文件,里面有两个tcp流,将比较大的流内容二进制stream.raw保存下来待用。wireshark保存raw数据的方法。原创 2022-12-16 15:51:10 · 499 阅读 · 0 评论 -
crypto-byte_me(CSAWQual 2019)
pwn和AES结合的一题,比较有趣记录一下。原创 2022-12-15 16:34:01 · 482 阅读 · 0 评论 -
crypto-dirty laundry(zer0pts CTF 2020)
由于本题中几乎每一步操作都涉及随机数,所以求解随机数种子尤为重要。发现seed是PRIME最低256bit这个条件没用到。感觉有点复杂,根据自己理解进行部分简化。原创 2022-12-14 15:12:40 · 419 阅读 · 0 评论 -
crypto-CSTPC(羊城杯 2020)
一道比较新颖的RSA题目,记录一下。题目源码code是一份使用libcst将python代码转换成语法树的结果:https://gitee.com/shanzhuer/YCB2020CTF/blob/main/wp/crypto/CSTPC/code研究了好几天如何从tree格式还原python源码,今天终于灵光一现可以像这样:https://gitee.com/shanzhuer/YCB2020CTF/blob/main/wp/crypto/CSTPC/re.py反编译出来大概是这样一个程序:大概分析原创 2022-12-06 09:58:40 · 412 阅读 · 0 评论 -
crypto-Des-MMXX(b01lers ctf 2020)
看清楚加密逻辑之后其实可以看出来,2020轮DES加密的前1010轮只和dk的低2020bit有关(也就是只和SECRET值高20bit有关),后1010轮只和dk的高2020bit有关(也就是只和SECRET值低20bit有关)。当已知明文和密文的情况下,将明文加密前1010轮得到的值应该等于将密文解密后1010轮得到的值相同。根据SECRET = 0xa########e ,即需要枚举高位中缺失的16bit和低位中缺失的16bit,找到正确的高位值和低位值。对称密码题,记录一下。原创 2022-12-02 21:43:31 · 491 阅读 · 0 评论 -
crypto-babyLCG(NPUCTF2020)
显然如果要解密出flag明文那必须要反推出最初的seed参数,将后面产生的随机数全部复原。的原因是为了保持向量各个数值bit位保持一致(关于格密码基础概念推荐这篇。因为前20个随机数的高位是已知的,接下来思路是针对这个式子做变形。其中A,B均可通过a,b,h推出。现在将以上关系式写成矩阵形式。由于h均为已知,那么现在找到低位l递推的关系式,又因为。近期研究格密码过程中遇到的一个很好的题目,记录一下。则可以推出所有低位l与l1的关系式,简写为。构造lattice,最后一项取2。将s拆分为高位h和低位l变为。原创 2022-11-30 11:21:34 · 1354 阅读 · 0 评论 -
crypto-base65536(INS‘hAck 2018)
看到这里解题思路就比较清晰了,将flag字符串INSA{655e6_is_T0_Much}中的字符两两分组,可以分为11组。sample可以一次发送或多次发送进行分组枚举,只要sample中的两两分组能覆盖flag中的分组,就可以通过sample密文和flag密文对照完成最终解密。本质上就是将输入的sample和flag同时进行一次encrypt_string操作。最后在dest_char_list中找到对应需要的字符输出。然后将明文binlist奇数项和偶数位项成若干二元组。主要逻辑server.py。原创 2022-11-29 12:06:10 · 753 阅读 · 0 评论 -
crypto-Invitations(羊城杯 2020)
霍斯塔德还进一步证明,即便使用填充来预防广播攻击,如果填充方案产生的消息相互之间有线性关系,那么只要消息数量k>e,广播攻击仍然可以恢复明文。这种情况下的广播攻击还是基于中国余数定理,但具体的破解方法有赖于线性关系的信息。另外由于解出明文的前提是消息数量k大于指数e,那么第一选择当然是挑出指数e=3的4条消息来做计算。大概分析一下题目逻辑。N_list数组也有14个元素,每个元素都是两个512bit随机素数的乘积。e_list数组有14个元素,每个元素是3,5,7中的随机值。对于每组N,e=3和c都有。原创 2022-11-29 10:27:24 · 511 阅读 · 0 评论 -
crypto-Harvesting Season(b01lers ctf 2020)
由于最终flag是以pctf四个字母开头,那么可以知道明文的前4个字节b’pctf’与密钥4个字节异或的结果就是密文前四个字节。反过来用密文前四个字节与b’pctf’进行异或,就能得到密钥key。推测本题要使用异或方式解密,密钥长度为4。有个信息比较可疑,此处应该就是密文。原创 2022-11-28 17:12:56 · 286 阅读 · 0 评论 -
crypto-crypto_crossword(b01lers ctf 2020)
提示图片:看到这个题目大概的理解是需要完成一个5x5的填词游戏,填写的内容应该是和下方9个小题有关。原创 2022-11-26 17:34:56 · 838 阅读 · 0 评论 -
crypto-CommonModulusAttack(GXYCTF2019)
比较少见的一道java密码题,记录一下。题目源码CommonModulusAttack.class用jdgui反编译一下即可,大概改写一下变量名字以便分析。相关文件:分析一下程序逻辑。首先是执行oldtest函数,逻辑很简单就是生成了20个随机整数输出到old.txt然后执行initseed函数,就是从flag文件中读取字符串转为二进制形式,保存为seed接下来是执行gen_states函数3.1 调用generate_init_state函数生成initStat值,本质上是seed在有限域上求原创 2022-11-26 12:12:20 · 1019 阅读 · 0 评论 -
crypto-Simple(羊城杯2020)
得到e1和e2之后需要用扩展维纳方法求解明文,多个指数条件下的解密方案具体推导过程参考。,这个地方注意到u很大,刚好可以套用维纳攻击方案,原理参考这里。分析一下处理过程大概分为两步。很有代表性的一题,记录一下。原创 2022-11-23 17:09:26 · 278 阅读 · 0 评论 -
crypto-GMC(羊城杯2020)
到此结论就很明显了,判断密文数组中每一个数值是否为模N二次剩余,如果是则flag对应bit为0,如果不是则flag对应bit为1。源码地址:https://github.com/gwht/2020YCBCTF/tree/main/wp/crypto/GMC。今天看到一题crypto感觉比较有意思,写一下解题思路。原创 2022-11-18 22:10:51 · 237 阅读 · 0 评论 -
crypto-简单的RSA(2019电信和互联网行业赛)
【代码】crypto-简单的RSA(2019电信和互联网行业赛)原创 2022-11-08 15:08:01 · 141 阅读 · 0 评论 -
crypto-黄金分割RSA(2020电信和互联网行业赛)
得到第一个flag后面就是根据enc中打乱的斐波那契数列调整字符顺序,不是本题重点不再赘述。但本题中显然e与q-1和r-1均不互素。原创 2022-11-08 12:04:03 · 220 阅读 · 0 评论 -
[转载]科斯塔斯阵列、有限域、声纳和最难听的音乐
所以我们可以把科斯塔斯阵列看作是哥隆尺在二维的推广。对扩展阵列A'=(ai,j),我们把一个阵列向右移动u单位,同时向下移动v单位,得到的是A'u,v=(ai+v,j+u). 显然,CA就是把阵列A…科斯塔斯阵列、有限域、声纳和最难听的音乐_对角。近期看到很不错的一篇有限域科普好文。转载 2022-11-01 16:39:50 · 71 阅读 · 0 评论 -
crypto091-airdrop(网鼎杯2022)
爆破字符串sha256摘要,直接上exp,参考zima师傅。大概运行5分钟左右能出结果。原创 2022-10-19 12:16:17 · 317 阅读 · 0 评论 -
crypto661-rabin(网鼎杯2022-未完成)
个人分析了一下加密过程参数都已知,解密过程涉及p,q值,应该需要先还原p,q值,再进行反推flag。大概分析下程序,p和q是512bit大素数(还要求p%4不等于1),n=p*q。参数初始化完毕后就是一波2**21次循环。尚无exp,待研究。原创 2022-10-19 12:07:45 · 14260 阅读 · 0 评论 -
crypto221-xordlp(2022网鼎杯)
第一感觉要根据256个方程组和y的值反推出x,然后根据sha384摘要内容异或解出flag。enc的生成是由flag每个字符与x的sha384摘要每个字符进行异或后组成的字节流。大概分析下代码,p是512bit大素数,而且还要求p//2也是素数。x是256bit随机数,y = pow(9,x,p)。尚无exp,待研究。原创 2022-10-19 11:37:42 · 160 阅读 · 0 评论