BUUCTF 每日打卡 2021-5-10
引言
时间太晚了,原本想讲一讲红帽杯的 crypto 的(干啥啥不行,找 wp 第一名)
Polybius
波利比奥斯方阵密码(Polybius square) 参考了 wp 附件内容: 密文:ouauuuoooeeaaiaeauieuooeeiea hint:VGhlIGxlbmd0aCBvZiB0aGlzIHBsYWludGV4dDogMTQ= flag:解出明文后,请加上BJD{}
hint 解密内容: 而密文内容有 28 位 联想到波利比奥斯方阵密码加密结果为波利比奥斯方阵中的坐标 如 wp 中所说,密文中的字母对应于 “aeiou” 字符串中字母在波利比奥斯方阵中的位置 由于不知道 "a", "e", "i", "o", "u" 的排列顺序,就有 54321 种情况 而波利比奥斯方阵中(2,4)为可以是 i 或 j 所以一共有 54321*2 种情况 代码如下:
1 | import itertools |
(wp 中指考虑了考虑(2,4)位是 i 的情况,大概是已经找到 flag 了) 结果为:
情书
附件内容: Premise: Enumerate the alphabet by 0、1、2、..... 、25 Using the RSA system Encryption:0156 0821 1616 0041 0140 2130 1616 0793 Public Key:2537 and 13 Private Key:2537 and 937
flag: wctf2020{Decryption}
唯一 迷惑人的地方就是密文每串数字前两位都是 0 到 25 之间,容易搞错 其实给了密文、密钥直接对每串数字解密就行 代码如下:
1 | c = '0156 0821 1616 0041 0140 2130 1616 0793'.split() |
结果为:iloveyou
结语
明天再将 红帽杯的 crypto 吧 希望继续坚持