密码学
文章平均质量分 50
沐一 · 林
人若无言,方可潜心向学。
人若无名,方可潜心练剑!
展开
-
BUUCTF中Crypto的RSAROLL
BUUCTF中Crypto的RSAROLL..照例下载附件,两个 txt 文件:RSA roll!roll!roll!Only number and a-z(don’t use editorwhich MS provide){920139713,19}7047967927522111522747041641841402236827083548329523526307290545978847648329523545978847666355179247520680原创 2022-03-18 10:03:17 · 2771 阅读 · 0 评论 -
2022年HGAME中REVERSE的easyasm
2022年HGAME中REVERSE的easyasm..照例下载附件,是一个DOS文件:..根据题目中文含义,简单的 ASM 汇编,照例扔入 IDA 中查看反汇编:..没办法,只能理解汇编代码了,由于对段寄存器段偏移地址不太熟悉,所以栽了很多跟头:..其实爆破逻辑和那个段都没关系,但是由于我不理解对应哪个段,加上不熟悉没有 F5 ,所以我脚本逻辑一直写错,然后又没法验证,所以就一直揪着 si 的段想了很久:debug命令意义u查看debug反汇编过原创 2022-04-04 16:22:09 · 1731 阅读 · 2 评论 -
2022年HGAME中CRYPTO的Easy RSA
2022年HGAME中CRYPTO的Easy RSA照例下载附件:..结合遍历列表中元祖,直接常规RSA解密即可import libnumfrom Crypto.Util.number import long_to_byteslist1=[(12433, 149, 197, 104), (8147, 131, 167, 6633), (10687, 211, 197, 35594), (19681, 131, 211, 15710), (33577, 251, 211, 38798), (原创 2022-04-04 16:21:50 · 400 阅读 · 0 评论 -
2022年HGAME中CRYPTO的RSA Attack2
2022年HGAME中CRYPTO的RSA Attack..照例下载附件,一个 task.py,一个output.txt:import refrom math import ceilfrom Crypto.Util.number import getPrimefrom libnum import s2nfrom secret import flagflag_parts = list(map(s2n, re.findall(rf".{{,{ceil(len(flag) / 3)}}}",原创 2022-04-04 16:21:26 · 733 阅读 · 0 评论 -
2022年HGAME中CRYPTO的RSA Attack
2022年HGAME中CRYPTO的RSA Attack..照例下载附件,一个task.py和output.txt:rom Crypto.Util.number import getPrimefrom libnum import s2nfrom secret import flagm = s2n(flag)e = 65537p = getPrime(80)q = getPrime(80)n = p * qc = pow(m, e, n)print("e =", e)prin原创 2022-04-04 16:20:48 · 608 阅读 · 0 评论 -
2022年HGAME中CRYPTO的RSA Attack3
2022年HGAME中CRYPTO的RSA Attack3..照例下载附件,照例先 CTF-RSA-tool 工具先行:..解毕!敬礼!原创 2022-04-04 16:20:29 · 358 阅读 · 0 评论 -
2022年HGAME中CRYPTO的Multi Prime RSA
2022年HGAME中CRYPTO的Multi Prime RSA..照例下载附件,看了一眼,发现是变形的RSA加密,变形处为 n = p ** 2 * q ** 3 * r ** 5 * s ** 7:from Crypto.Util.number import getPrimefrom libnum import s2nfrom secret import flagp = getPrime(256)q = getPrime(256)r = getPrime(256)s = get原创 2022-04-04 16:19:52 · 1096 阅读 · 0 评论 -
2022年 HSC-1th中CRYPTO的BABY-RSA
2022年 HSC-1th中CRYPTO的BABY-RSA照例下载附件,是 py 文件:from Crypto.Util.number import *def lfsr(status,mask): out = (status << 1) & 0xffffffff i=(status&mask)&0xffffffff lastbit=0 while i!=0: lastbit^=(i&1) i原创 2022-02-28 16:57:18 · 521 阅读 · 0 评论 -
2022年 HSC-1th中CRYPTO的RSA
2022年 HSC-1th中CRYPTO的RSA照例下载附件,是 py 文件:import gmpy2import sympyfrom Crypto.Util.number import *flag = b'????'z=getPrime(1024)p=sympy.nextprime(z)q=sympy.prevprime(10*z)n=p*qm=bytes_to_long(flag)e=0xe18ec=pow(m,e,n)print("n=",n)print("c=",原创 2022-02-28 16:28:01 · 378 阅读 · 1 评论 -
2022年 HSC-1th中CRYPTO的LINE-GENERATION-TEST
2022年 HSC-1th中CRYPTO的LINE-GENERATION-TEST照例下载附件,是一张 png 图片:..矩阵??没接触过的加密类型,以矩阵加密为关键字搜索,发现是古典密码-希尔密码Hill:https://www.cnblogs.com/labster/p/13848395.html...原创 2022-02-28 15:55:28 · 159 阅读 · 0 评论 -
2022年 HSC-1th中CRYPTO的AFFINE
2022年 HSC-1th中CRYPTO的AFFINE照例下载附件,是 py 文件:# -*- coding: utf-8 -*-import stringimport hashlibletter=string.ascii_letters+string.digits#abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789def encrypt(m, c, a, b): for i in range(len(m))原创 2022-02-28 09:36:47 · 239 阅读 · 0 评论 -
2022年 HSC-1th中CRYPTO的Easy SignIn
2022年 HSC-1th中CRYPTO的Easy SignIn下载附件,一个 txt 文本:5445705857464579517A4A48546A4A455231645457464243566B5579556C7053546C4A4E524564565646644D515670455130354C5755644F5231685256314A5452315A5552304E57576C5A49525430395054303950513D3D.无非是传统密码的混合,直接用 ciphey 工具即可原创 2022-02-28 08:40:07 · 385 阅读 · 0 评论 -
第二届BMZCTF公开赛CRYPTO的simple
第二届BMZCTF公开赛CRYPTO的simple..照例下载压缩包,解压,需要密码,直接 ARCHPR-4.5(密码8835)爆破:..解压后是两个附件,一个 txt,一个jpg:..RC4算法原理迟点在研究,照例用工具解密RC4:..最终flag:flag{You_Guess_It}..解毕!敬礼!...原创 2022-02-03 21:45:35 · 375 阅读 · 0 评论 -
第二届BMZCTF公开赛CRYPTO的DO_YOU_KNOW_IT
第二届BMZCTF公开赛CRYPTO的DO_YOU_KNOW_IT..下载附件后是一张图片,图片内容看起来像数学符号,后来查了资料后发现是 latex 数学符号,与latex 结合的密码学,长见识了:..用在线 latex 编辑器 来识别图片转成 latex 公式:..整理了半天,第二个向上左拐的还是没找到,但大致整理出来了:flag{\prod \ltimes \aleph y _{-}\wp \infty \therefore \heartsuit _{-}\Longleft原创 2022-02-03 21:34:10 · 481 阅读 · 0 评论 -
第二届BMZCTF公开赛CRYPTO的签到
第二届BMZCTF公开赛CRYPTO的签到打开附件发现一串密文:56465a7757464977546d464e656b354b5632786b5346457862336c4f4d4842485632785a4d6c5a47556c46554d557057556a464e656c5a466146465756444135554651774f5642525054303d..直接用 ciphey 智能分析看看:直接得到flag。..解毕!敬礼!...原创 2022-02-03 21:19:32 · 388 阅读 · 0 评论 -
攻防世界crypto高手题之RSA_gcd
攻防世界crypto高手题之RSA_gcd..最近由于在备考,所以有一段时间没刷题了,当然现在也在备考。只是在摸鱼而已。..首先看看题目暗示 GCD 是最大公约数的意思,根据笔记猜想是给了多个模 n,且都是 2048bit 4096bit 等无法正面分解的数,需要使用欧几里得算法求取模之间的公约数。..那么照例下载附件,两个TXT,的确是多个模 N:..这个题目类型对应 CTF-RSA-tool工具 的一个例子:..那么照例摆放整齐,看看能不能直接用脚本跑出:.原创 2022-01-17 10:31:47 · 1998 阅读 · 0 评论 -
攻防世界crypto高手题之shanghai
攻防世界crypto高手题之shanghai首先看题目提示维吉利亚密码,那应该无差了,附上以前的笔记:维吉尼亚密码(又译维热纳尔密码)是使用一系列凯撒密码组成密码字母表的加密算法,属于多表密码的一种简单形式。.(网站 https://www.guballa.de/vigenere-solver 支持自动解密,扔进去就完事了。).在一个凯撒密码中,字母表中的每一字母都会作一定的偏移,例如偏移量为3时,A就转换为了D、B转换为了E……而维吉尼亚密码则是由一些偏移量不同的恺撒密码组成。...原创 2022-01-07 20:32:07 · 704 阅读 · 0 评论 -
攻防世界crypto高手题之safer-than-rot13
攻防世界crypto高手题之safer-than-rot13照例下载附件,是一个文本文件:看起来像是字母间的加密,字母间的加密有rot家族和Vigenere密码:逐个试了一下发现都不是,然后啊,然后就懵了,查了资料才发现是替代密码,加密方法是把一些字母用另外一些字母替换。可以用这个网站解密 http://quipqiup.com看上去有出现语句通顺的英文,拿去翻译看一下(英语不好^ ~ ^):所以flag就是:flag{no_this_is_not_crypto_my_dear},结果原创 2021-12-03 12:24:22 · 1482 阅读 · 0 评论 -
攻防世界crypto高手题之wtc_rsa_bbq
攻防世界crypto高手题之wtc_rsa_bbq照例下载附件,第一次解压后还是压缩包,所以要经过两次解压:解压后的文件夹内是一个两个文件,因为题目提示是RSA,而这两个看上去像是密文和密钥文件:翻一下RSA-CTF-TOOL的利用笔记:看起来相差不大,就是密文enc后缀变成了bin后缀,看看能不能直解用工具解出来:解出来了,直接提交即可。...解毕!敬礼!...原创 2021-12-03 10:15:56 · 659 阅读 · 0 评论 -
第七届“湖湘杯”Crypto的signin
第七届“湖湘杯”Crypto的signin下载附件,打开查看题目逻辑代码:from Crypto.Util.number import *from secret import flagimport randomm1 = bytes_to_long(flag[:len(flag) // 2])m2 = bytes_to_long(flag[len(flag) // 2:])def gen(pbits, qbits): p1, q1 = getPrime(pbits), getPrim原创 2021-11-27 17:42:29 · 1190 阅读 · 3 评论 -
2020年羊城杯Crypto的RRRRRRRSA
2020年羊城杯Crypto的RRRRRRRSA本来是在复现第七届“湖湘杯” Crypto 的signin,但是查的资料都说和 2020 年羊城杯 Crypto 的 RRRRRRRSA 的原理是一样的,所以也顺便把这道题看了。打开附件,代码如下:import hashlibimport sympyfrom Crypto.Util.number import *flag = 'GWHT{************}'flag1 = flag[:19].encode()flag2 = flag原创 2021-11-27 16:07:07 · 632 阅读 · 0 评论 -
第四届“安洵杯”密码学的try
第四届“安洵杯”密码学的try首先下载TXT附件:是长文章的类型,首先根据做题习惯锁定题目类型是单一的密文类型。翻了一下笔记,逐个排除了poem codes诗歌加密和长密文的凯撒加密。然后。。。然后就蒙住了,是没学过的密文类型啊。突然灵机一动直接复制部分密文上网搜索看一下,结果发现是i春秋的原题啊!!!发现了...原创 2021-11-10 21:42:20 · 224 阅读 · 0 评论 -
2021年10月广东强网杯,CRYPTO的RSA AND BASE?
2021年10月广东强网杯,CRYPTO的RSA AND BASE?下载附件,是一个txt文件,打开,发现RSA密文和类似base32的变码表,也符合题目暗示:..RSA题目照例先用CTF-RSA-TOOL工具跑一下,发现跑得出来:..这应该是一层的flag,而且看起来像base32的四个等号,联想题目和TXT文件中后面的BASE码,可以猜出是BASE32变码的加密,而且还有4位未知:...(这里积累第一个经验)首先通过和密文以及传统base32的码表对比可以发现缺了2 T Y原创 2021-10-14 08:41:58 · 980 阅读 · 0 评论 -
2021年9月绿城杯,CRYPTO的RSA-2
2021年9月绿城杯,CRYPTO的RSA-2..打开文件,发现是分成两段的RSA加密,第一段加密flag[:20],第二段加密flag[20:]。from Crypto.Util.number import *import gmpy2from flag import flagassert flag[:5]==b'flag{'m1 = bytes_to_long(flag[:20])p = getPrime(512)p1 = gmpy2.next_prime(p)q = get原创 2021-10-07 22:07:58 · 1059 阅读 · 0 评论 -
2021年9月绿城杯,CRYPTO的RSA-1
2021年9月绿城杯,CRYPTO的RSA-1..打开文件,发现是很常规的RSA加密,就是明文进行了二次处理:..照例用工具CTF-RSA-tool工具,首先提取出来符合CTF-RSA-tool的格式的信息先:N is 1736523115492634836447827687255849277591176060300239435372360346189840574023471500182011154860091490761700380665249239168671025627415667原创 2021-09-30 12:20:30 · 359 阅读 · 0 评论 -
2021年9月绿城杯,CRYPTO的[warmup]加密算法
2021年9月绿城杯,CRYPTO的[warmup]加密算法:..打开文件,发现是一个简单的加密表单元素下标对应加密:..(这里积累第一个经验)因为下标加密是求余运算加密,所以上网找了一下求余运算的逆运算,结果发现负数的求余运算我解决不了。。。(哭~)..所以直接爆破算了,这是我第一次真正用爆破做题,所以比较生疏,先回顾一下一开始我犯的错误。(这里积累第二个经验)一开始我写的脚本是这样的,在ASCII的32~127中找到加密后与密文对应的字符,然后取chr(i),然后错误就比较原创 2021-09-30 10:45:45 · 276 阅读 · 2 评论 -
攻防世界crypto高手题之banana-princess
攻防世界crypto高手题之banana-princess继续开启全栈梦想之逆向之旅~这题是攻防世界crypto高手题的banana-princess下载附件,是一个PDF文件,打不开,题目英文提示香蕉原则,好吧并没有什么用。(^ ~ ^)用记事本打开看一下内容:前面排列到时挺规整的,不像是一个文件:后面的乱码又像是文件了:这一下给我搞糊涂了,直接搜flag字眼,没有,肯定也没有,毕竟都高手题了,扔到winhex64中再看一下。嗯~其实一开始我也看不出有什么不妥,红框那里是查了资料说与正原创 2021-09-10 21:50:04 · 599 阅读 · 1 评论 -
攻防世界crypto高手题之streamgame2
攻防世界crypto高手题之streamgame2继续开启全栈梦想之逆向之旅~这题是攻防世界crypto高手题的streamgame2..下载附件,还是典型的LFSR类型:from flag import flagassert flag.startswith("flag{")assert flag.endswith("}")assert len(flag)==27def lfsr(R,mask): output = (R << 1) & 0xffffff原创 2021-09-21 12:37:51 · 425 阅读 · 0 评论 -
攻防世界crypto高手题之streamgame1
攻防世界crypto高手题之streamgame1继续开启全栈梦想之逆向之旅~这题是攻防世界crypto高手题的streamgame1..下载附件,是典型的LFSR类型:from flag import flagassert flag.startswith("flag{")# 作用:判断字符串是否以指定字符或子字符串开头flag{assert flag.endswith("}")# 作用:判断字符串是否以指定字符或子字符串结尾},flag{},6个字节assert len(flag)原创 2021-09-21 12:05:50 · 441 阅读 · 2 评论 -
攻防世界crypto高手题之RSA256
攻防世界crypto高手题之RSA256继续开启全栈梦想之逆向之旅~这题是攻防世界crypto高手题的RSA256下载压缩包,解压,是两个附件,一个没有后缀,一个.txt文件,打开查看内容,感觉是RSA的密文密钥文件:..翻一下以前的笔记,这是对CTF-RSA-tool使用的示例,感觉题目类型就是这种密钥和密文的文件。..验证猜想,直接脚本跑一下:..得到flag。..总结:无解毕!敬礼!...原创 2021-09-17 20:39:59 · 473 阅读 · 2 评论 -
攻防世界crypto高手题之best_rsa
攻防世界crypto高手题之best_rsa继续开启全栈梦想之逆向之旅~这题是攻防世界crypto高手题的best_rsa..下载题目,是一个明文和密钥的4个附件:..其实一开始我并不知道RSA的明文和密钥是怎么生成的,CTF-RSA-tool中应对的也只有一对明文密钥文件而已。这里两对的话就只能查资料弄懂原理了再做了。.(这里积累第一个经验)从别人的博客https://www.cnblogs.com/vict0r/p/13542398.html中找到了从密钥文件和明文文件读取出对原创 2021-09-13 21:52:47 · 1484 阅读 · 2 评论 -
攻防世界crypto高手题之OldDriver
攻防世界crypto高手题之OldDriver继续开启全栈梦想之逆向之旅~这题是攻防世界crypto高手题的OldDriver下载附件,一个.txt文件,打开,发现是c、n、e的RSA类型题:..(这里积累第一个经验)上网查了查,发现类型是低加密指数广播攻击:附上别人的话:(里面的中国剩余定理我还没看懂)首先介绍什么是广播,加入我们需要将一份明文进行多份加密,但是每份使用不同的密钥,密钥中的模数n不同但指数e相同且很小,我们只要拿到多份密文和对应的n就可以利用中国剩余定理进行解密。关原创 2021-09-13 11:00:36 · 972 阅读 · 4 评论 -
2021年9月广州羊城杯,CRYPTO的BigRsa
2021年9月广州羊城杯,CRYPTO的BigRsa下载附件,pub.py:..打开文件,发现内容是RSA加密过程:from Crypto.Util.number import *from flag import *n1 = 10383529640908175186077053551474658681539589842726033432568031364836913266105784068082329551223694895337089556841972133117083455781254原创 2021-09-12 21:49:35 · 929 阅读 · 0 评论 -
攻防世界crypto高手题之Decrypt-the-Message
攻防世界crypto高手题之Decrypt-the-Message继续开启全栈梦想之逆向之旅~这题是攻防世界crypto高手题的Decrypt-the-Message下载附件,是个.txt文件,内容是诗歌,下面是一行四不像的英文,后来发现是加密后的密文:..(这里积累第一个经验)诗歌类的加密,一开始还以为是唐伯虎点秋香中句子开头组成实际内容,结果发现不是。查了查资料,是poem codes加密,下面给出别人梳理好的加密过程:(内容地址出处)https://blog.csdn.net/we原创 2021-09-12 14:59:05 · 990 阅读 · 0 评论 -
攻防世界crypto高手题之sherlock
攻防世界crypto高手题之sherlock继续开启全栈梦想之逆向之旅~这题是攻防世界crypto高手题的sherlock..(这里积累第一个经验)下载附件,是一个txt文档,内容是一篇小说。一开始我以为flag藏在关键字里,我还用百度翻译一个个看内容,现在回想起来真的太傻了,查了资料才发现字符中是有异或点的,大写字母就是要提取出来分析的地方:..参考了别人的命令写了自己的提取大写shell命令:cat 1.txt | grep -o [A-Z] |tr -d '\n'其中:g原创 2021-09-10 12:35:20 · 1373 阅读 · 0 评论 -
攻防世界crypto高手题的工业协议分析2
攻防世界crypto高手题之工业协议分析2继续开启全栈梦想之逆向之旅~这题是攻防世界crypto高手题的工业协议分析2下载附件,是一个pcapng流量文件:..(这里积累第一个经验)题目描述说已提取出上位机通信流量,尝试分析出异常点,获取FLAG。 flag形式为 flag{},这其实就是一个暗示,flag就在通信流量中,至于哪里异常,查了资料,有的说UDP的长度有部分异常,要一个个点击查看。可是为什么我感觉UDP大的一堆,小的也一堆,也不知道哪里异常:..然后就是题目暗示说fla原创 2021-09-08 21:58:07 · 837 阅读 · 3 评论 -
攻防世界crypto高手题之你猜猜
攻防世界crypto高手题之你猜猜继续开启全栈梦想之逆向之旅~这题是攻防世界crypto高手题的你猜猜下载附件,是一个.txt文件,打开,数字和字母:504B03040A0001080000626D0A49F4B5091F1E0000001200000008000000666C61672E7478746C9F170D35D0A45826A03E161FB96870EDDFC7C89A11862F9199B4CD78E7504B01023F000A0001080000626D0A49F4B5091F原创 2021-09-08 16:45:12 · 1509 阅读 · 0 评论 -
攻防世界 crypto 高手进阶区之告诉你个秘密
攻防世界 crypto 高手进阶区之告诉你个秘密继续开启全栈梦想之逆向之旅~这题是攻防世界crypto 高手进阶区之告诉你个秘密下载附件,是个.txt文件,打开:(这里积累第一个经验)虽然没有f,但是看起来就是16进制的基本组成单位0~F,既然是十六进制就不用先十六进制转字符串,目前接触的也只有十六进制转字符串了:(这里积累第二个经验)转完之后是大小写字母混合和数字,虽然没有+/,但看起来也的确是base64的基本组成单位了,base64解码一下:(这里积累第三个经验)得出的东西是原创 2021-09-03 21:19:58 · 1167 阅读 · 3 评论 -
攻防世界 crypto 高手进阶区之flag_in_your_hand
攻防世界 crypto 高手进阶区之flag_in_your_hand继续开启全栈梦想之逆向之旅~这题是攻防世界crypto 高手进阶区之flag_in_your_hand.这题和前面的flag_in_your_hand1基本上一样,可参考我以前的博客:https://blog.csdn.net/xiao__1bai/article/details/119961859总结:无解毕!敬礼!...原创 2021-08-30 09:25:51 · 181 阅读 · 0 评论 -
攻防世界crypto高手题之cr3-what-is-this-encryption
攻防世界crypto高手题之cr3-what-is-this-encryption继续开启全栈梦想之逆向之旅~这题是攻防世界crypto高手题的cr3-what-is-this-encryption..没有附件,依稀看得出有q、p、e、c,是简单的RSA题目,用我之前积累的RSA脚本CTF-RSA-tool跑一下,。。。跑不出来:(反复试了好多次,还是报错,我放弃了)..然后在网上查资料中找到一个讲得比较好的脚本和讲解:借鉴于:https://www.cnblogs.com/zhe原创 2021-08-29 15:02:21 · 1065 阅读 · 0 评论