[LitCTF 2023]隐晦的聊天记录
题目分数:451
题目标签: CRYPTOOPT加解密
题目描述:
- 题目描述:这是出题人和一个朋友的几条聊天记录,里面的加密方式似乎是OPT捏
- 出题人:dbuj7flag以NSSCTF{}形式提交
附件:
出题人:6c73d5240a948c86981bc294814d
某不知名收件人:收到消息attack at dawn
出题人:xxxxxxxxxxxxxxxxxxxxxxxxxxxx
某不知名收件人:收到消息Monday or Thur
已知出题人和收件人手中的密钥相同,请解出出题人第二次发送的密文呢(16进制,字母小写,解得的结果记得要加上LitCTF{}哦。)
解题:
根据题目提示,知道这是OPT加密,了解一下原理之后就知道如何解这题了
首先把 attack at dawn
转成16进制,再和6c73d5240a948c86981bc294814d
进行异或,即可得到密钥,因为两次密钥相同,所以把Monday or Thur
和密钥异或,就是我们要的密文
ciphertext1 = 0x6c73d5240a948c86981bc294814d # attack at dawn转16进制后
plaintext1 = 0x61747461636b206174206461776e
key = ciphertext1 ^ plaintext1
# key = 0xd07a14569fface7ec3ba6f5f623
plaintext2 = 0x4d6f6e646179206f722054687572 # Monday or Thur转16进制后
ciphertext2 = key ^ plaintext2
print(hex(ciphertext2))