NSSCTF-Crypto入门题 练习记录贴 ‘‘一‘‘

news/2024/5/19 21:56:25 标签: CTF, Crypto, 学习, python, 密码学

文章目录

  • 前言
  • 001[鹤城杯 2021]easy_crypto
  • 002[强网拟态 2021]拟态签到题
  • 003[SWPUCTF 2021 新生赛]crypto8
  • 004[SWPUCTF 2021 新生赛]crypto7
  • 005[SWPUCTF 2021 新生赛]crypto6
  • 006[SWPUCTF 2021 新生赛]ez_caesar
  • 007[SWPUCTF 2021 新生赛]crypto10
  • 008[鹤城杯 2021]A_CRYPTO
  • 009[SWPUCTF 2021 新生赛]pigpig
  • 010[SWPUCTF 2021 新生赛]ez_rsa


前言

十题记录一次。001-010.

001[鹤城杯 2021]easy_crypto

在这里插入图片描述

核心价值观编码,工具解。


002[强网拟态 2021]拟态签到题

在这里插入图片描述
有等号,base64解码


CTF_2021_crypto8_20">003[SWPUCTF 2021 新生赛]crypto8

在这里插入图片描述

UUencode编码。工具解


CTF_2021_crypto7_27">004[SWPUCTF 2021 新生赛]crypto7

在这里插入图片描述

试了hex编码之类的,最后发现密文长度为32位,md5解密试试。


CTF_2021_crypto6_34">005[SWPUCTF 2021 新生赛]crypto6

在这里插入图片描述

先base16,base32最后base64.。 base16就是hex编码。


CTF_2021_ez_caesar_42">006[SWPUCTF 2021 新生赛]ez_caesar

在这里插入图片描述

一开始试了将str做凯撒,但是之后base64出不来,于是先对str做base64得到flag,在对flag进行凯撒移位。移位直接把原代码的+5改为-5就好。


CTF_2021_crypto10_52">007[SWPUCTF 2021 新生赛]crypto10

在这里插入图片描述

一个rot13,这题用维吉尼亚密码也能解出一个前缀NSSCTF的flag,错的。


008[鹤城杯 2021]A_CRYPTO

在这里插入图片描述

先ROT13,hex,base32,base64,最后base85. 但是解密base85会报错,用python解一下,

python">import base64

def base85_decode(encoded_string):
    try:
        # 解码Base85
        decoded_data = base64.b85decode(encoded_string.encode())
        # 将字节数据转换为字符串
        decoded_text = decoded_data.decode('utf-8')
        return decoded_text
    except Exception as e:
        print(f"解码失败:{e}")
        return None

# 你的Base85编码字符串
encoded_string = "W^7?+dsi@bUwJTfUt=_GUvgz(F)?{xWo~0IWHD}MA$<"

# 解码
decoded_text = base85_decode(encoded_string)

# 打印解码结果
if decoded_text:
    print("解码结果:", decoded_text)

不知道,为什么有这种题,乱七八糟的加密过程,之前写过三四次加密的题,但是每解一次都会有个小hint。

看了1说这个可以用ciphey自动化解密,但是啊啊啊啊啊啊啊啊啊啊来来回回折腾了一天就是安装不了,无语死了。


CTF_2021_pigpig_99">009[SWPUCTF 2021 新生赛]pigpig

在这里插入图片描述

在这里插入图片描述

猪圈密码,工具解。


CTF_2021_ez_rsa_109">010[SWPUCTF 2021 新生赛]ez_rsa

python">import hashlib
p = 1325465431
q = 152317153
e = 65537
n = p * q
d = pow(e, -1, (p - 1) * (q - 1))  # 计算私钥指数 d
def md5_encrypt(data):
    md5 = hashlib.md5()
    # 将数字转换为字符串再进行编码
    md5.update(str(data).encode('utf-8'))
    encrypted_data = md5.hexdigest()
    return encrypted_data


plaintext = 43476042047970113
encrypted_data = md5_encrypt(plaintext)
print(f"MD5: {encrypted_data}")

http://www.niftyadmin.cn/n/5173089.html

相关文章

【华为OD机试AB高分必刷题目】小华的数字排序(C++-Timsort 算法实现)

🚀你的旅程将在这里启航!本专栏所有题目均包含优质解题思路,高质量解题代码,详细代码讲解,助你深入学习,高分通过! 文章目录 【华为OD机试AB高分必刷题目】小华的数字排序(C++-Timsort 算法实现)题目描述解题思路C++题解代码代码OJ评判结果代码讲解寄语【华为OD机试A…

怎么改变容易紧张的性格?

容易紧张的性格是比较通俗的说法&#xff0c;在艾森克人格测试中&#xff0c;容易紧张的性格就属于神经症人格&#xff0c;神经质不是神-经-病&#xff0c;而是一种人格特征&#xff0c;这种特征包括&#xff1a;敏感&#xff0c;情绪不稳定&#xff0c;易焦虑和紧张。有兴趣的…

FM9918R系列-副边同步整流芯片

产品描述&#xff1a; FM9918R 系列是集成了 MOSFET 的同步整流二极管&#xff0c;用于替换反激式转换器的整流二极管&#xff0c;能够显著减少发热&#xff0c;提升系统的转换效率。IC 通过检测集成 MOSFET 的源漏电压来决定其开关状态。 FM9918R 系列能够兼容连续模式、非连续…

编程艺术之源:深入了解设计模式和设计原则

深入了解设计模式和设计原则 一、认识设计模式1.1、设计模式是什么&#xff1f;1.2、设计模式是怎么来的&#xff1f;1.3、设计模式解决了什么问题&#xff1f; 二、设计模式的基础2.1、面向对象思想2.2、设计原则 三、如何学习设计模式3.1、明确目的3.2、学习步骤 总结 一、认…

建筑能源管理(9)——公共建筑能源管理技术

现阶段&#xff0c;在我国经济高速发展的同时&#xff0c;也面临着资源有限、能源消费急剧增长、能源供给与需求之间的矛盾日益突出等问题。数据显示&#xff0c;现阶段我国单位GDP的能耗水平是发达国家的3倍左右&#xff0c;这正是能源总体利用率较低所造成的。建筑能耗作为我…

xcode-工程设置

build settings Deployment Postprocessing 用于指定是否在构建完成后进行一些部署相关的处理。 当你在 Xcode 中构建你的应用程序时&#xff0c;构建设置决定了一些行为&#xff0c;其中一项是是否启用 Deployment Postprocessing。这个选项的主要作用是在构建完成后&#…

如何在 Windows 11 上恢复丢失的文件?(4种方法)

在 Windows 11 设备上丢失重要文件感觉就像一场噩梦。这是您希望时光倒流并撤消意外删除或避免那些意外的系统故障的时刻之一。这种情况带来的挫败感和焦虑感简直难以承受。但是&#xff0c;嘿&#xff0c;不要绝望&#xff01;我们随时为您提供帮助。 在这本真诚的指南中&…

前端 BUG 总结

文章目录 CSS 样式1、Chrome 89 版本期不再支持 /deep/&#xff0c;请勿使用嵌套 /deep/2、圆角按钮 button 点击后出现矩形框线3、怪异模式4、border 1 像素在手机上显示问题5、文本溢出问题 JavaScript 脚本1、移动端点击穿透2、使用parseInt时必须补全第二个参数 radix3、有…