buuctf crypto 【变异恺撒】解题记录

1.打开文件发现字符串

2.按照恺撒密码的加密方式尝试了所有数字,都不行,看了别人的wp才发现端倪(BUUCTF(misc)变异凯撒 --二_变异凯撒2_半岛铁盒@的博客-优快云博客

与恺撒不同的是移位的位数不是一直相同的,而是不断递增的,没有点脑洞还真不一定能想到我说

,知道了如何加密直接编写脚本就好了

3.运行一下得到flag

"buuctf Crypto 变异凯撒"似乎是一个特定的网络安全挑战题目,其中提到的“Crypto”通常指加密,而“变异凯撒”是一种简单的密码学技术,源自古罗马时代的一种字母替换加密法。在这个变种中,原始字母表中的每个字符按照固定的偏移量(比如3位)向后移动来形成密文。 Python中实现这种变异凯撒加密的步骤一般包括以下几个部分: 1. 定义偏移量:例如你可以让用户输入一个数字作为偏移值。 2. 创建字母映射:将字母表分为大写和小写字母两部分,分别做偏移处理。 3. 加密函数:接收明文字符串和偏移量,然后逐个字符进行加密并返回加密后的密文。 4. 解密同样原理,只是反向操作偏移。 下面是一个简单的Python示例,演示如何实现这个加密过程: ```python def caesar_cipher_encrypt(text, shift): encrypted_text = "" for char in text: if char.isalpha(): shifted = ord(char) + shift if char.islower(): encrypted_text += chr((shifted - ord('a')) % 26 + ord('a')) else: encrypted_text += chr((shifted - ord('A')) % 26 + ord('A')) else: encrypted_text += char return encrypted_text def caesar_cipher_decrypt(encrypted_text, shift): return caesar_cipher_encrypt(encrypted_text, -shift) # 示例用法 plaintext = "Hello, World!" shift = 3 encrypted = caesar_cipher_encrypt(plaintext, shift) decrypted = caesar_cipher_decrypt(encrypted, shift) print("原文:", plaintext) print("加密:", encrypted) print("解密:", decrypted) ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值