BUUCTF 传统知识+古典密码 1

本文涉及的产品
密钥管理服务KMS,1000个密钥,100个凭据,1个月
简介: BUUCTF 传统知识+古典密码 1

题目描述:

小明某一天收到一封密信,信中写了几个不同的年份

辛卯,癸巳,丙戌,辛未,庚辰,癸酉,己卯,癸巳。

信的背面还写有“+甲子”,请解出这段密文。

key值:CTF{XXX}

解题思路:

1、理解题目,出现“辛卯,癸巳,丙戌,辛未,庚辰,癸酉,己卯,癸巳。”这样的传统年份,同时,题目中出现“+甲子”的信息(古代人认为六十年为一个甲子),“+甲子”意味着+60,猜测与ASCII码有关。

古典密码学主要有两大基本方法:

①置换密码(又称易位密码):明文的字母保持相同,但顺序被打乱了。栏栅密码

②代替密码:就是将明文的字符替换为密文中的另一种的字符,接收者只要对密文做反向替换就可以恢复出明文。凯撒密码

2、将“辛卯,癸巳,丙戌,辛未,庚辰,癸酉,己卯,癸巳。”与1、2、3、4…进行对照,得到“28,30,23,8,17,10,16,30,8”一串数字,加上一甲子,给数字+60,得到“88,90,83,68,77,70,76,90”,对照ASCII码表,得到“XZSDMFLZ”的字符串。

3、接下来进行古典加密,对得到的字符串进行栏栅加密,分别进行2和4的解密。

栏栅密码加密解密

4、得到密文“XMZFSLDZ”,进行凯撒加密,执行下列Python代码(进行小写转换,便于识别有效结果)。

def decrypt(ciphertext, shift):
    """移位解密函数"""
    plaintext = ''
    for char in ciphertext:
        if char.isalpha(): # 如果是字母,进行移位解密
            if char.isupper():
                plaintext += chr((ord(char) - shift - 65) % 26 + 65) # 大写字母移位解密
            else:
                plaintext += chr((ord(char) - shift - 97) % 26 + 97) # 小写字母移位解密
        else: # 如果不是字母,直接输出
            plaintext += char
    return plaintext
# 加密密文和移位数
ciphertext = 'XMZFSLDZ'
shift = 3
ciphertext = ciphertext.lower()
# 小写易于观察
# 枚举所有可能的移位数,输出所有解密结果
for i in range(26):
    plaintext = decrypt(ciphertext, i)
    print("%d %s"% (i, plaintext))

5、偏移量为5的字符串“shuangyu”,为有效结果,还原大写字母,作为结果。

flag:

SHUANGYU
目录
相关文章
|
17天前
|
算法 数据库
“快速胜利”IT项目的隐忧与破解之道
“快速胜利”IT项目的隐忧与破解之道
|
7月前
|
安全 数据安全/隐私保护 Python
【震撼揭秘】:密码大战公钥!解锁信息安全认证技术的惊天秘密与实战应用,带你领略数字世界的终极防线!
【8月更文挑战第20天】信息安全中,认证技术确保用户身份真实,本文对比基于口令认证与基于公钥基础设施(PKI)认证。前者简便但易受攻击,常需配合多因素认证加强安全性;后者利用数字证书及公/私钥机制,提供更高安全保障。随着技术演进,未来认证手段将更趋多元高效。
94 2
|
9月前
|
Java 开发者
震惊!Java命名规范背后的惊天秘密,你真的了解吗?
【6月更文挑战第15天】Java命名规范提升代码可读性。标识符须以字母、下划线或$开头,避免数字开头。变量用camelCase,如`myVariable`;类与方法用PascalCase,如`MyClass`和`myMethod`。常量全大写加下划线,如`MAX_VALUE`。避免关键字冲突,确保可维护性。
66 10
|
10月前
|
网络协议 数据安全/隐私保护
BUUCTF 基础破解 1
BUUCTF 基础破解 1
319 0
|
数据安全/隐私保护 Python
BUUCTF 大帝的密码武器 1
BUUCTF 大帝的密码武器 1
204 0
如何用简单的方式获取C端用户,实力派王素杰说要从B端做起|靠才华
在线教育作为o2o的巨大分支,一个曾经非常显著的优势是提供了新的传播途径。一根网线连接名师和用户,使得老师的个人能力不再局限于地域,用户的学习方式也不再局限于传统课堂。
481 0
|
机器学习/深度学习 人工智能 算法
“精灵鼠小弟”成真!AI破解小鼠表情密码,证明150年前达尔文之问
日前,Science刊登了来自马普神经生物学研究所科学家的新研究:首次利用机器学习算法破译了小鼠的面部表情。不仅成功区分小鼠高兴、恐惧、恶心、疼痛等表情,还测量出对应情绪的强度。这项研究对精确定位人脑中表达特定情绪的神经元有着重要意义。
|
算法 数据安全/隐私保护
|
安全 区块链 数据安全/隐私保护
世界为何对区块链狂热?是因为一个“财富密码”
未来,金融的归金融,技术的归技术。
1496 0