CTF 实验吧 变异凯撒 writeup

本文介绍了CTF中一个名为'变异凯撒'的挑战,涉及一种基于ASCII码变化的加密方法。通过分析加密密文afZ_r9VYfScOeO_UL^RWUc,发现加密规律是字母在ASCII码上的位移,移动步长分别为5, 6, 7, 8。利用这个规律解密并成功得到了flag。这是一个对初学者友好的加密解密实践。" 123043269,9268410,手写JavaScript call方法解析,"['前端开发', 'javascript', 'ES6', '程序人生', '面试']

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

变异凯撒          分值:10

加密密文:afZ_r9VYfScOeO_UL^RWUc
格式:flag{ }

解:

由题目中得知,这个密文密文的加密与凯撒解密有关,

于是我将密文放入解密工具

并没有看到有合适的结果,而我们知道凯撒加密的原理为:

凯撒加密法,或称恺撒加密、恺撒变换、变换加密,是一种最简单且最广为人知的加密技术。它是一种替换加密的技术,明文中的所有字母都在字母表上向后(或向前)按照一个固定数目进行偏移后被替换成密文。

上面的结果中没有答案,这时我们再去看题目,变异的凯撒,凯撒加密与移动位数相关,那么变异可能就变在移动上了。而密文中有“_”,这个符号在字母表中是没有的,所以想到,可能是ASCII码值得变动。

看下面的表,

密文:afZ_r9VYfScOeO_UL^RWUc,看看能否与ctf 或者flag 对应上,

此时发现 a:97    f:102    Z:106     _:95                                                                                                                           

而            c:99    t:116     f:102      {:123

                f:102   l:108   a:97      g:103

a→f: 移动了5   f→l:移动了6, 后面依次移动了7、8。此时按照这种移动规律,去写代码

 

#!/usr/bin/env python
# coding:utf-8


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转换器得到

输入答案,通过!

注:小白一枚~~~~~

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值