一些密码学基础题

1)题目
#include
char a[14]= “flag{*******}”;
int main()
{
for(int i = 5; i < 12; i++)
{
a[i] += 4;
printf("%d ", a[i] ^ ‘a’ );
}

return 0;

}
//22 18 69 8 4 22 28
//请包上flag{}提交

题解
一开始,没啥头绪,想一想看到flag里有七个*,下面对应七个数字,设置代码(答案),上面是+4,试一下,没用,-4 :
#include
int a[7] = {22,18,69,8,4,22,28};
char b[7];
int main()
{
for(int i = 0; i < 7; i++)
{
a[i] ^= ‘a’;
a[i] -= 4;
b[i] = a[i];
}
printf(“flag{%s}”,b);
return 0;
}
得到 flag{so easy}

2)题目
cipher:fsletarigen{tgtn_hiti_osnp_aii_cs}
key:MTI=
不只是栅栏哦。
请包上flag{}提交
题解
一看,顺序霍乱,隐约可见flag,不是凯撒就是栅栏,或是都有。然后试了几遍,没卵用,不知道key。。。key字符最后有=,base64走起,得到数字12(一开始没想到base64,毕竟字符太短,强行试了1到9的key,没试出来,有时候没办法的时候坚持一下还是有机会的)
flag{this_is_an_interesting_topic}

3)题目
密文:1F3870BE274F6C49B3E31A0C6728957F
提示:哈希加密
请包上flag{}提交

题解
哈希加密,没见过。。。百度查了查,不能解码,当场懵逼。看答案才知道要md5解码,百度在线解码
一些密码学基础题_第1张图片flag:flag{apple}

4)题目
cipher:Li4tLiAuLS4uIC4tIC0tLiAtLi0tIC0tLSAuLi0gLi0gLi0uIC4gLSAuLi4uIC4gLS4uLiAuIC4u%0ALiAtIA%3D%3D
请包上flag{}提交

题解
一串字符还有%,尝试url解码
一些密码学基础题_第2张图片后面有=,base64解码,再莫斯解码得到
flag{FLAGYOUARETHEBEST}

知识面太薄,很多东西都不了解,要加强学习各种知识与解题技巧,总结各类型题型和技巧!

你可能感兴趣的:(ctf,新手区,crypto)