这是什么觅🐎1
题目解压打开后是一张图片
是一张日历,1号打叉了,2345678是圈起来的 ,没什么思路,发现下面有一张白色的标签,写着
F1 W1 S22 S21 T12 S11 W1 S13
都是由一个大写字母和数字组成的,前面的大写字母应该是星期几的第一个字母,周六和周日都是S开头的,S1应该是表示周六,S2应该是周日,根据这个信息在表中找到对应的数字
3 8 12 5 14 4 8 18
对应的字母
c h l e n d l r
没有意义,由于日历中一号打叉了,所以W1就取了8,取一之后
c a l e n d a r
这样就有意义了,包上flag提交即可
flag{calendar}
你能看出这是什么加密么
一看数据就知道是rsa密码,直接用脚本解
from Crypto.Util.number import *
p = int(
"0x928fb6aa9d813b6c3270131818a7c54edb18e3806942b88670106c1821e0326364194a8c49392849432b37632f0abe3f3c52e909b939c91c50e41a7b8cd00c67d6743b4f",
16)
q = int(
"0xec301417ccdffa679a8dcc4027dd0d75baf9d441625ed8930472165717f4732884c33f25d4ee6a6c9ae6c44aedad039b0b72cf42cab7f80d32b74061",
16)
e = int("0x10001", 16)
c=int("0x70c9133e1647e95c3cb99bd998a9028b5bf492929725a9e8e6d2e277fa0f37205580b196e5f121a2e83bc80a8204c99f5036a07c8cf6f96c420369b4161d2654a7eccbdaf583204b645e137b3bd15c5ce865298416fd5831cba0d947113ed5be5426b708b89451934d11f9aed9085b48b729449e461ff0863552149b965e22b6",16)
n = p*q
phi = (p-1)*(q-1)
d = inverse(e, phi)
m = pow(c, d, n)
print(long_to_bytes(m))
输出
解出来看着不太对,以为是做错了,后来发现在结果的最后有flag
flag{R54_|5_$0_$imp13}
浪里淘沙
看完之后,发现总共有16个单词
tonight success notice we example crypto should back space learn sublim system found user morning enter
把他们出现的次数进行排序,正序
题目给出了五个数字
4 8 11 15 16
得到的就是weshouldlearnthecrypto
包上flag提交
flag{weshouldlearnthecrypto}
Vigenère
题目有两个文件,一个是c语言的程序,一个是txt文本,打开文本之后,看到一句luig vy cxwpf{Jnxwobuqg_O_Cogiqi!}
这个解密之后应该就是flag了,将它复制到解密的网址得到的
包上flag提交发现并不对,将文本内容全部复制解密,得到
flag{Whooooooo_U_Gotcha!}
vigenere
将其复制到解密网站
将空格换成下划线,用flag包上
flag{vigenere_crypto_crack_man}