WeChall - Training: Crypto - Caesar I, II (Crypto, Training)

Crypto

Ctf - Crypto基础
一些解码工具
凯撒密码(caesar cipher):
替换加密,明文中的所有字母都在字母表上向后(或向前)按照一个固定数目进行偏移后被替换成密文

chr((ord(s) + k) % keyspace
# 十六进制字符串转化为ASCII码
# codecs.decode(string, "hex") 将十六进制字符串转化为ASCII码,之后需要使用 str() 方法将返回的字节数组转换为字符串
# Hex 编码也被称作为 Base16 编码,相比于原先8位表示一个字节,Hex 编码能够只用2位表示一个字节

# ord()函数就是用来返回单个字符的ascii值[0-255], 或者unicode数值(),
# 相反地,chr()函数是输入一个整数[0-255], 返回其对应的ascii符号, 这个整数可以是10进制也可以是16进制。
  1. Training: Crypto - Caesar I (Crypto, Training)
input = "GUR DHVPX OEBJA SBK WHZCF BIRE GUR YNML QBT BS PNRFNE NAQ LBHE HAVDHR FBYHGVBA VF UBORBUFUPAFN"
for k in range(1, 26):
    for c in input:
        if c == ' ':
            print(' ', end='')
        else:
            integer = ord(c) + k
            print(chr((integer - ord('A')) % 26 + ord('A')), end='')
    print()

THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG OF CAESAR AND YOUR UNIQUE SOLUTION IS HOBEOHSHCNSA
—— 得到flag为HOBEOHSHCNSA

  1. Training: Crypto - Caesar II (Crypto, Training)
data = """ 
32 5A 5A 4F 20 55 5A 4D 17 20 64 5A 60 20 5E 5A
57 61 50 4F 20 5A 59 50 20 58 5A 5D 50 20 4E 53
4C 57 57 50 59 52 50 20 54 59 20 64 5A 60 5D 20
55 5A 60 5D 59 50 64 19 20 3F 53 54 5E 20 5A 59
50 20 62 4C 5E 20 51 4C 54 5D 57 64 20 50 4C 5E
64 20 5F 5A 20 4E 5D 4C 4E 56 19 20 42 4C 5E 59
12 5F 20 54 5F 2A 20 1C 1D 23 20 56 50 64 5E 20
54 5E 20 4C 20 5C 60 54 5F 50 20 5E 58 4C 57 57
20 56 50 64 5E 5B 4C 4E 50 17 20 5E 5A 20 54 5F
20 5E 53 5A 60 57 4F 59 12 5F 20 53 4C 61 50 20
5F 4C 56 50 59 20 64 5A 60 20 5F 5A 5A 20 57 5A
59 52 20 5F 5A 20 4F 50 4E 5D 64 5B 5F 20 5F 53
54 5E 20 58 50 5E 5E 4C 52 50 19 20 42 50 57 57
20 4F 5A 59 50 17 20 64 5A 60 5D 20 5E 5A 57 60
5F 54 5A 59 20 54 5E 20 4E 5A 4D 57 5E 58 4E 58
5B 5E 5D 59 19 """

data1 = data.replace(" ", "")
data2 = data1.replace("\n", "")
for k in range(1, 128):
    strs = str(codecs.decode(data2, "hex"), 'utf-8')
    for s in strs:
        print(chr((ord(s) + k) % 128), end="")
    print()

'OODJOB YOUSOLVEDONEMORECHALLENGEINYOURJOURNEY4HISONEWASFAIRLYEASYTOCRACK7ASNTITKEYSISAQUITESMALLKEYSPACE SOITSHOULDNTHAVETAKENYOUTOOLONGTODECRYPTTHISMESSAGE7ELLDONE YOURSOLUTIONISCOBLSMCMPSRN
—— 得到flag为COBLSMCMPSRN

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值