CTF(鶸)密码学

这篇博客详细介绍了CTF挑战中常见的几种密码学技术,包括摩斯密码、栅栏密码、Rot13、凯撒密码、猪圈密码、当铺密码、培根密码、希尔密码和维吉尼亚密码。每种密码都有其独特的特点和解密思路,例如摩斯密码的ASCII转换,栅栏密码的分栏破解,以及维吉尼亚密码的映射转换等。

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

一、摩斯密码

1、特点
题面只有三个值
2、解题思路
转换成ascii,出现flag标识符即结束,否则根据转后的数据进行下一步处理

二、栅栏密码

1、特点
密文字符串出间隔性的出现flag的标识符
2、解题思路
分栏破译

def inputData():
    string = input("请输入栅栏加密的文字:")
    code = input("请输入分栏:(0代表从2到6逐个分栏):")
    code = int(code)
    return string,code

def code2(string):
    string_temp = []
    string_temp.append(string[0::2])
    string_temp.append(string[1::2])
    print("分成2栏的结果是:%s" % (''.join(string_temp)))

def code3(string):
    string_temp = []
    string_temp.append(string[0::3])
    string_temp.append(string[1::3])
    string_temp.append(string[2::3])
    print("分成3栏的结果是:%s" % (''.join(string_temp)))

def code4(string):
    string_temp = []
    string_temp.append(string[0::4])
    string_temp.append(string[1::4])
    string_temp.append(string[2::4])
    string_temp.append(string[3::4])
    print("分成4栏的结果是:%s" % (''.join(string_temp)))

def code5(string):
    string_temp = []
    string_temp.append(string[0::5])
    string_temp.append(string[1::5])
    string_temp.append(string[2::5])
    string_temp.append(string[3::5])
    string_temp.append(string[4::5])
    print("分成5栏的结果是:%s" % (''.join(string_temp)))

def code6(string):
    string_temp = []
    string_temp.append(string[0::6])
    string_temp.append(string[1::6])
    string_temp.append(string[2::6])
    string_temp.append(string[3::6])
    string_temp.append(string[4::6])
    string_temp.append(string[5::6])
    print("分成6栏的结果是:%s" % (''.join(string_temp)))

def main():
    stri
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值