buu Crypto学习记录(17) 大帝的密码武器

题目链接:https://buuoj.cn/challenges#%E5%A4%A7%E5%B8%9D%E7%9A%84%E5%AF%86%E7%A0%81%E6%AD%A6%E5%99%A8

先修改后缀名为.zip,在进行压缩

题目:
公元前一百年,在罗马出生了一位对世界影响巨大的人物,他生前是罗马三巨头之一。他率先使用了一种简单的加密函,因此这种加密方法以他的名字命名。
以下密文被解开后可以获得一个有意义的单词:FRPHEVGL
你可以用这个相同的加密向量加密附件中的密文,作为答案进行提交。

密文:ComeChina

根据题目意思,这是个凯撒密码,先"FRPHEVGL"密文解开得到解密向量。

s = 'FRPHEVGL'
for i in range(1,26):
    flag = ''
    for j in s:
        x = ord(j) - i
        if x < 65:
            x += 26
        flag += chr(x)
    print(i,flag)

在这里插入图片描述

可以看到当向量为13的时候,是有意义的单词,然后再用加密向量为13为密文"ComeChina"加密

s = 'ComeChina'
flag = ''
key = 13
for i in s:
    x = ord(i) + key
    if i >= "A" and i <= "Z" and x > 90 :
        x -= 26
    if i >= "a" and i <= "z" and x > 122 :
        x -= 26
    flag += chr(x)
print(flag)

flag:PbzrPuvan

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值