首页 > 其他分享 >【Sword系列】第七届全国残疾人职业技能大赛样题-网络安全-变异凯撒

【Sword系列】第七届全国残疾人职业技能大赛样题-网络安全-变异凯撒

时间:2023-08-12 21:01:31浏览次数:46  
标签:__ lstr ROT13 lmstr Sword 职业技能 ord 凯撒 样题

前言

在密码学中,凯撒密码是一种最简单且最广为人知的加密技术。它是一种替换加密的技术,明文中的所有字母都在字母表上向后(或向前)按照一个固定数目进行偏移后被替换成密文。例如,当偏移量是3的时候,所有的字母A将被替换成D,B变成E,以此类推。

ROT13是凯撒密码的一种变体,即移位数为13。ROT13是它自己本身的逆反,也就是说,要还原ROT13,应用加密同样的算法即可得,故同样的操作可用再加密与解密。

一、变异凯撒

1.打开题目

在这里插入图片描述

2.解题

编写一段python代码来检查其中的对应关系

str1 = "flag{"
str2 = "afZ_r"
for i in range(0,5):
    a = ord(str1[i])-ord(str2[i])
    print(a )

得到:5、6、7、8

因此,我们只需要编写一段python代码,通过ASCII码的运算,来得到flag

def b_kaisa(mstr):
    j = 5
    i = 0
    lmstr = []
    for i in range(len(mstr)):
        m = ord(mstr[i])          # 将密文的第i个字母变为其ascii码值
        m = m + j                 # ascii值+j
        lmstr.append(m)           # 将递进后的ascii值存入列表lmstr[]
        i = i+1
        j = j+1
    return lmstr
 
 
if __name__ == '__main__':
    m_str = 'afZ_r9VYfScOeO_UL^RWUc'    # 密文
    lstr = []
    lstr = b_kaisa(m_str)
    print (lstr)

将ASCII码放入转换器,得到flag{Caesar_variation}

标签:__,lstr,ROT13,lmstr,Sword,职业技能,ord,凯撒,样题
From: https://blog.51cto.com/u_15952481/7061731

相关文章