【CTF】Crypt-1

old-fashion1:

题意:已知为古典密码加密,给出密文,求flag

内容:水题,但是仍然做了一上午,突破点在最后一句“so the flag is”,代神毕竟比赛经验更多,一眼看(cai)出,根据这个一点一点对照猜后半部分的单词,完成替换表,再把flag里面字符对应替换然后交上去就能过。

坑点:第一个坑点在于第一行是一行乱码(反正当作一行乱码看就对了),于是总想去把y置换成a...就这样被坑了一上午,然后还有第二个坑点在于学太死了...花了半个上午写了个统计字母频率的函数,然后根据英语中字母频率尝试对应(教科书教的?),但是首先文章长度太小,频率各种对应不上(这时候本应该明白这种方法根本不行),其次,如果在文章中加入乱码什么的,这个方法就没什么卵用了...第三个坑点...或许说是我脑残比较合适,就是开始时根据多次出现的mjy尝试用维吉尼亚解密...但签到题怎么会那么难233...

经验:

1.回来应该先把古典密码的各种加密解密尝试用代码写一遍,这样就可以快速确定是单表替换还是多表替换了

2.打比赛别太教科书,经验第一...so the flag is


salt:

题意:大致题意是你的用户名和密码被用加盐hash的方式存在了一个服务器里,现在你可以输入多组明码(登陆名和密码),服务器返回hash结果,请提1.取盐的内容,2.尝试欺骗服务器,制作一个假的hash(好像是两个任务随机的抽取一个)然后题目给了服务器地址及服务器中py写的套接字程序,flag应该就是盐的内容或者你制作的假的hash

内容:hash明白个大概,py明白个大概,套接字明白个大概,放在一块...并不会做!而且对于如何求解盐,求算法求指导。据py程序分析,每次与服务器相连就会产生一个16位的盐,然后每位的可能取值为ascii码为1-62的字符...暴力的话62^16大概是2的90几次...于是暴力并没有很好的效果!

经验:

回来好好学py和网络,对着书上写代码还不够,要尝试自己写自己看,造轮子


TWORSA

题意:两层RSA,已经用py代码给了算法,然后又给了一组明文密文,要破解另一组密文

经验:

抽时间把几个非对称加密的东西好好算一下,密码学那本书课后题做了至少会熟悉一点


oldfishion2:

题意:依旧古典密码,依然用py代码给出加密方式:先将全部换行去掉,然后字母同统一小写,之后将a-z26个字母加上 _ ' " , . : 6种字符,对应为1-32的字符编号然后对字符编号进行以下操作:alp[p[i]]即为明文中位置i字符对应编号,num为0-32中的一个常数(题目增加提示num=7)table为替换表,alp[c[i]]将替换完后的字符编号再转为对应的ascii码

 c[i]=(alp1[p[i]]+i*num)%32
 c[i]=table[c[i]]
 c[i]=alp[c[i]]

之后代码中还给出了解密算法,且字符编号与字符的对应方式也已经给出,求解给出的密文

内容:我感觉问题就是这样的,困点就一个table[32]的内容,暴力范围是32!,于是暴力估计有一次没有什么卵用,然后我又一次束手无策...求教做人...(会不会是我题目理解有问题?)

经验:

1.古典密码应该挺简单的,但是这题做出人数0,但总感觉一个替换表应该挡不住oops的,希望以后比赛有人可以讨论

2.py依旧虚,跟队友一边看一边分析,花了挺长时间才搞明白代码什么意思,以后多看py代码,独立做题能力差

你可能感兴趣的:(安全)