摩斯密码,栅栏密码,brainfuck,ook
今天做了四个crypto的题目,因为比较简单,所以放在一起了
摩斯密码
一看到.-/这三个字符,明显就是一串摩斯密码,可以去在线网站上解密
其中%u7b和%u7d是Unicode编码中的{},这个也可以猜到,比较恶心的是这道题拿到flag之后还要把所有字符变成小写才正确
但是考虑到省赛的时候不允许联网,我写了一个python来实现这个小功能
其实也比较简单,把摩斯密码以/为分隔符分开,再去事先写好的字典里找对应的字符,代码如下
a = input("input the string:")
s = a.split("/")
dict = {'.-': 'A','-...': 'B','-.-.': 'C','-..'😂','.':'E','..-.':'F','--.': 'G','....': 'H','..': 'I','.---':'J','-.-': 'K','.-..': 'L','--': 'M','-.': 'N','---': 'O','.--.': 'P','--.-': 'Q','.-.': 'R','...': 'S','-': 'T','..-': 'U','...-': 'V','.--': 'W','-..-': 'X','-.--': 'Y','--..': 'Z','.----': '1','..---': '2','...--': '3','....-': '4','.....': '5','-....': '6','--...': '7','---..': '8','----.': '9','-----': '0','..--..': '?','-..-.': '/','-.--.': '(','-.--.-'😂','-....-': '-','.-.-.-': '.','----.--':'{','-----.-':'}','---...':':','--..--':',','-.-.-.':';','-...-':'=','.----.':''','-.-.--':'!','..--.-':'_','.-..-.':'"','...-..-':'$','.--.-.':'@','.-.-.':'+'};
for item in s:
print(dict[item],end='')
栅栏密码
拿到题目我就想起来之前看到过buctf的工具库里面有一个什么加密就是什么小羊跨栅栏,去找了一下,果然是一个栅栏密码,直接拿到flag
栅栏密码比较简单
首先确定一个栏数k,本题中k=2
比如要加密0123456789,先将原文隔(k-1)位分成两组,即02468和13579
然后依次连接,得到0246813579,这就是0123456789用栅栏密码加密后的密文
brainfuck加密
brainfuck加密中只有八个关键字,组合再一起能完成C语言中的绝大多数操作
实在太难看懂了,建议直接扔到工具里
ook加密
ook加密和brainfuck加密很相似
丢工具里,直接得到flag