NSSCTF-Crypto(1~15)
本文最后更新于:2024年9月25日 晚上
《从0开始的密码学世界生活》😋慢慢学密码方向
有两个有各种加解密的网站
[鹤城杯 2021]easy_crypto
解压后文件内容是社会主义核心价值观,查了一下竟然有核心价值观编码,有点逆天,那就直接用工具解码即可。
下面贴上两个网站
[强网拟态 2021]拟态签到题
打开txt文件,发现看不懂,这什么东西?
GPT一下
GPT倒是一眼看出来了,base64编码,直接解码即可,仍然上面的两个网站任意一个即可
[SWPUCTF 2021 新生赛]crypto8
打开txt后又是一段乱码:73E-30U1&>V-H965S95]I<U]P;W=E<GT`
根据题目上面的标签提示,推测是UUencode加密
用工具解密即可
NSSCTF{cheese_is_power}
有个小问题哈,这些编码的具体实现方式我们不用具体了解吗难道🤔🤔🤔🤔🤔🤔🤔🤔🤔🤔🤔🤔,直接用工具就行了吗?
[SWPUCTF 2021 新生赛]crypto7
打开txt,原文如下
69f7906323b4f7d1e4e972acf4abfbfc,得到的结果用NSSCTF{}包裹。
根据标签,发现是MD5加密
直接解密即可,MD5解密
NSSCTF{md5yyds}
[SWPUCTF 2021 新生赛]crypto6
打开txt,原文如下
1 |
|
- 可以看出加密是先base64,再base32,再base16
- 所以解密我们就先反过来即可,16 → 32 → 64,用上面的解密网站
- 得到5e110989-dc43-1bd3-00b4-9009206158fe
- 所以flag为NSSCTF{5e110989-dc43-1bd3-00b4-9009206158fe}
[SWPUCTF 2021 新生赛]ez_caesar
打开后是一个.py文件
1 |
|
这,有点看不懂,GPT一下吧,下面是GPT的解释 > 这段代码首先导入了base64模块,然后定义了一个名为caesar的函数,该函数接受一个明文字符串作为输入,并返回加密后的字符串。 在函数内部,首先将明文字符串转换为字符列表str_list,然后使用while循环遍历明文字符串的每个字符。 在每次循环中,首先检查当前字符是否为字母。如果不是字母,则将字符保持不变。如果是字母,则根据字母的大小写确定字母表的起始位置(大写字母从'A'开始,小写字母从'a'开始),然后使用凯撒密码的规则对字母进行替换。替换的规则是将字母的Unicode码减去起始位置的Unicode码,再加上一个固定的位移量5,然后对26取模,最后再加上起始位置的Unicode码或者5。这样可以确保替换后的字符仍然是一个字母。 循环结束后,将字符列表转换回字符串,并将加密后的字符串打印出来。 最后一行的注释掉的代码是一个经过base64编码的字符串,你可以在需要时将其解码。
那我就懂了,嘻嘻
- 凯撒密码(Caesar cipher),原来就是凯撒密码
- 最后一行注释掉的是base64编码后的结果
- 那我们就先base64解码,再凯撒解码应该就行
- 注意凯撒解码还需要一个偏移量,这里的偏移量就是5
- 最后得到 NSSCTF{youhaveknowcaesar}
[SWPUCTF 2021 新生赛]crypto10
txt中的内容为:AFFPGS{pbatenghyngvbaf!!!},建议直接秒了
观察标签可以看出是个什么ROT加密,直接搜工具解密即可
NSSCTF{congratulations!!!}
[鹤城杯 2021]A_CRYPTO
逆天文本:4O595954494Q32515046324757595N534R52415653334357474R4N575955544R4O5N4Q46434S4O59474253464Q5N444R4Q51334557524O5N4S424944473542554O595N44534O324R49565746515532464O49345649564O464R4R494543504N35
从此知道了ciphey的存在,准备配置啊啊啊啊
Windows安装ciphey编码工具,编码工具战神,cry简单题绝对克星!
不知道为啥,就安装成功了,但是只能在windows下的cmd中使用,等会还要在kali里面再下一个ciphey
解密命令为:
ciphey -t "4O595954494Q32515046324757595N534R52415653334357474R4N575955544R4O5N4Q46434S4O59474253464Q5N444R4Q51334557524O5N4S424944473542554O595N44534O324R49565746515532464O49345649564O464R4R494543504N35"
所以flag为:"NSSCTF{W0w_y0u_c4n_rea11y_enc0d1ng!}"
0 0 0 下面的东西可以忽略, byd配环境配了将近一上午都没在kali里面配好,不是python版本问题就是什么PATH路径问题,到最后也没解决,草! 这里由于百度网盘下载的太慢,一顿搜索后发现了其他的方法,怎么没早点发现啊😭 不多说好吧,要是有有缘人看到算是你赚了🤭 下面就是kali中ciphey的配置 http://old.kali.org/virtual-images/kali-2021.2/ https://kali.download/
[SWPUCTF 2021 新生赛]pigpig
根据提示是一个什么猪圈密码
NSSCTF{whenthepigwanttoeat}
什么时候🐖想吃?🐷
[SWPUCTF 2021 新生赛]ez_rsa
打开txt内容如下,搜了一下确实是最最基础的RSA,
那就了解一下RSA是什么吧,嘻嘻😍
一个简单的介绍视频RSA 算法基本原理_哔哩哔哩_bilibili
简单来说就是:
A把一个公钥(e,N)给B,B把想发给A的信息 m 用(e,N)加密成 c 后发给A,A有个私钥(d,N),用私钥解密即可,这里的 d 只有A掌握,别人很难知道(涉及大整数分解问题),所以方案安全。
就是保证了信息加密是容易的,而反向解密是困难的
过程再稍微稍微详细一点就是:
- 选两个大质数p和q,且p!=q,计算N=p*q,N就算出来了
- 然后计算N的欧拉函数 φ(N)=(p-1)(q-1)
- 然后你自己选个e, 1<e<φ(N),且与φ(N)互质,
- 由e和φ(N)互质,(e,φ(N))=1,再由辗转相除法,则一定有ed - φ(N)k = 1
- 那么由e就可以算出d,如下图(下图中的p1,p2就是p,q)
- enmmmm,就是这样🐌
下面是视频里面的一个小实例,帮助理解
虽然有些原理还不太清楚,但学到现在这题基本就能解决了
1 |
|
flag is : NSSCTF{08bb8fb628da85923e5734a75ac19ffe}
[BJDCTF 2020]base??
打开后是这串东西
直接赛博厨子解决了😂,相当于换表操作,查了一下,写python代码还有点复杂🤔,等会再看一下(
[SWPUCTF 2021 新生赛]traditional
打开后是个什么东西,不懂,明天再看吧,byd已经1点力,还没刷牙😭