CTF CRYPTO 密码学-1

news2024/11/28 10:32:31

题目名称:enc

题目描述:

压缩包中含两个文件:一个秘钥d.dec,一个密文flag.enc

在这里插入图片描述

在这里插入图片描述

解题过程:

Step1:这题是一个解密他题目,尝试openssl去ras解密

在这里插入图片描述

工具简介

在Kali Linux系统中,openssl 是一个强大的命令行工具,用于处理SSL/TLS协议。openssl pkeyutl 是 openssl 工具集中的一个命令,用于处理私钥文件。

参数解释

openssl pkeyutl:这是执行私钥操作的命令。
-decrypt:这个选项告诉 openssl 执行解密操作。
-inkey d.dec:指定用于解密的私钥文件。这里的 d.dec 是私钥文件的名称。
-in flag.enc:指定包含加密数据的文件。这里的 flag.enc 是加密数据文件的名称。
-out 1:这个参数指定了输出文件的名称。在这里,输出文件被命名为 1。

Step2:解出来后有一串乱码,所以用Mousepad打开修改编码,再次查看

在这里插入图片描述

Mousepad简介

Mousepad 是一个简单且轻量级的文本编辑器,它通常预装在 Kali Linux 和其他基于 Debian 的 Linux 发行版中。Mousepad 旨在提供基本的文本编辑功能,没有过多的复杂性,非常适合快速编辑或查看文本文件

Step3:在Python中计算二进制字符串是否为8的倍数

在这里插入图片描述

分析

计算后得出是7的倍数,所以需要再每7位二进制数前加上0,补足8位后再转换为ASCII码

知识点补充
  • ASCII(美国标准信息交换码)是一种用于表示文本的编码系统,它为每个字符(包括字母、数字、标点符号等)分配了一个唯一的数字代码。ASCII 码表中,每个字符对应一个7位的二进制数(实际上,ASCII 码表只用到了前128个位置,所以每个字符只需要7位,但为了与后来的扩展ASCII兼容,通常使用8位表示,即一个字节)。

  • 二进制是一种数制系统,它只使用两个数字:0和1。在计算机中,所有的数据,包括文本、图像、音频等,最终都会被转换成二进制形式,因为计算机的基本存储和处理单元是二进制位(bit)。

  • ASCII和二进制的关系在于,ASCII 码表中的每个字符都是用二进制数来表示的。例如,ASCII 码表中的大写字母 ‘A’ 对应的二进制数是 01000001。这个二进制数可以被计算机直接读取和处理。

Step4:编写一个脚本,目的是补足8位二进制,每7位前面补足0

在这里插入图片描述

# 补足8位二进制
s = "11001101101100110000111001111111011011001001100111000000010001101101001100100111010010001011011001100011011100101110100100001010001111110011110011101000011111101"
result = [chr(int("0" + s[i:i+7],2))  for i in range(0, len(s), 7)]  
print(result)

在这里插入图片描述

# 将数组转换为字符串
s=['f', 'l', 'a', 'g', '{', '2', '3', '@', '#', '4', 'd', 't', 'E', 'Y', 'F', 'r', 't', 'B', 'G', 's', 'g', '!', '}']
>>> r=''.join(s)
>>> print(r)

相关资源

链接:https://pan.baidu.com/s/1FHvPaeMjMMWfRwf0vlefUA
提取码:200y

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1392690.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

交友系统程序开发,前后端源码交付,允许二开,UI配色新颖,APP小程序H5随心搭配!

在开发设计与测试阶段,主要包括了程序开发、测试和上线运营等环节。根据产品经理确定的功能需求,开发团队开始进行具体的编程和开发工作。这个过程中需要考虑到不同设备、不同系统和不同版本的需求,确保软件可以在不同平台上稳定运行。 测试是…

通过指令反向翻译进行自我对齐

1、写作动机: 对齐大型语言模型以执行指导性任务通常需要在大量人工标注的指令或偏好信息上进行微调,然而,使用此类高质量数据对指令遵循任务进行标注是难以扩展的。 2、贡献: 提出了一种可扩展的方法,通过自动标注…

【问题记录】使用命令语句从kaggle中下载数据集

从Kaggle中下载Tusimple数据集 1.服务器环境中安装kaggle 使用命令:pip install kaggle 2.复制下载API 具体命令如下: kaggle datasets download -d manideep1108/tusimple3.配置kaggle.json文件 如果直接使用命令会报错: root:~# kagg…

使用dbever连接 hsqldb

完整的url为 jdbc:hsqldb:hsql://ip:端口/别名 注意,hsqldb跟随应用启动和停止,所以当应用断点时,hsqldb也会连接不上导致查询数据失败,可以断点前进一步

IOS-相机权限申请-Swift

配置描述 在Info.plist文件中,新建一个键值对Privacy - Camera Usage Description(或者NSCameraUsageDescription),值为申请描述说明,自定义的 申请 然后在需要申请的文件中导入AVFoundation import AVFoundation…

时间序列预测 — BiLSTM-Attention实现单变量负荷预测(Tensorflow)

专栏链接:https://blog.csdn.net/qq_41921826/category_12495091.html 专栏内容 ​ 所有文章提供源代码、数据集、效果可视化 ​ 文章多次上领域内容榜、每日必看榜单、全站综合热榜 ​ ​ ​ ​ ​ ​ ​ 时间序列预测存在的问题 ​ 现有的大量方法没有真正的预测未…

高校学生选课系统源码开发方案

一、项目背景与目标 (一)项目背景 随着高校教育的发展,学生选课系统成为了高校管理中不可或缺的一部分。传统的手工选课方式存在着效率低下、易出错等问题,因此需要开发一款高效、便捷的高校学生选课系统。 (二&…

C++make_pair,你真的懂了吗?

其实写这篇文章我还是很忐忑的,因为用C也写了快一年了,平时代码量个人认为还可以,但是最近两天频繁犯错,下面先说说我写的错误吧! 我们都知道make_pair返回的是一个pair类型的函数,而pair这个键值对它又是…

MATLAB中simulink中scope同时显示两个输入信号

在使用scope时,需要两个输入信号的设置方法 1.点开scope图标 2 点击设置按钮, 然后弹出configuration properties:scope配置图,在Main选项下,在Number of input ports:1这里面更改数字,需要几…

【AI绘画】Midjourney到底是什么?看完就懂了!!!

手把手教你入门绘图超强的AI绘画,用户只需要输入一段图片的文字描述,即可生成精美的绘画。给大家带来了全新保姆级教程资料包 (文末可获取) 一、Midjourney 的原理 由 2022 年 3 月,美国一家工作室首次推出一款 AI 制…

Unity关于新手引导中实现遮罩镂空效果

在新手引导每一步中实现可以遮掉其他部分而显示当前需要点击的部分,只需要在每一步引导的时候设置对应的镂空区域的RectTransform.效果如下图: 代码: public class SelfMaskSet : MaskableGraphic, ICanvasRaycastFilter {[SerializeField]p…

服务器变矿机,该如何应对?

开始 恶意的挖矿程序会导致服务器cpu的异常占用&#xff0c;很让人讨厌。起初&#xff0c;我只是使用top命令显示出占用cpu不正常的进程&#xff0c;发现其中一个进程占用了百分之九十九点几&#xff0c;然后通过kill -9 <PID>命令干掉它。但总是过不了几天&#xff0c;…

Linux下安装Mysql【CentOS7 】

Linux下安装Mysql 一、Linux下安装Mysql-5.7.41【tar包下载安装】1.1.首先检查是否已经安装过mysql1.2.下载Linux版本的Mysql-5.71.3.解压缩1.4.安装执行 rpm 安装包需要先下载 openssl-devel 插件1.5.安装 Mysql5.7 执行 rpm 安装包1.6.Mysql相关操作命令1.7.查看Mysql-5.7 临…

2024年【危险化学品生产单位主要负责人】免费试题及危险化学品生产单位主要负责人实操考试视频

题库来源&#xff1a;安全生产模拟考试一点通公众号小程序 危险化学品生产单位主要负责人免费试题考前必练&#xff01;安全生产模拟考试一点通每个月更新危险化学品生产单位主要负责人实操考试视频题目及答案&#xff01;多做几遍&#xff0c;其实通过危险化学品生产单位主要…

在ubuntu上交叉编译NVIDIA Jetson的arm64应用程序

在使用orin的时候,由于orin上的cpu编译速度较慢还有其他一些原因没有在自己电脑ubuntu上的x86上直接编译方便。直接在x86上编译出来的程序由于平台不同是不能在arm平台上运行的,要在x86上编译出arm平台的程序需要使用交叉编译工具。 1.在nvidia官网Jetson Linux Archive | N…

直流继电器 JT3-22/5 线圈电压DC220V电磁式 柜内固定安装 JOSEF约瑟

JT3系列直流继电器 系列型号 JT3-42/3电磁继电器;JT3A-40/3电磁继电器 JT3-11/3电磁继电器;JT3A-03/3电磁继电器 JT3-30/3电磁继电器;JT3A-20/3电磁继电器 JT3-02/3电磁继电器;JT3A-12/3电磁继电器 JT3-22/1电磁继电器;JT3A-24/1电磁继电器 JT3-42/1电磁继电器;JT3A-31/1电磁…

【已解决】c语言const/指针学习笔记

本博文源于笔者正在复习const在左与在右&#xff0c;指针优先级、a,&a,*a的区别。 1、const在左与在右 int const *p const int *p int * const p int const * const p const int * const p* 在const右边&#xff0c;指向的数据不可以改变&#xff0c;可以改变地址 * 在c…

二叉树【Java】

文章目录 一、树型结构二、二叉树2.1概念2.2两种特殊的二叉树2.3二叉树的性质2.4二叉树的遍历 三、二叉树的基本操作3.1获取树中节点的个数3.2获取叶子节点的个数3.3获取第K层节点的个数3.4获取二叉树的高度3.5检测值为value的元素是否存在 一、树型结构 树是一种非线性的数据…

Rust 错误处理(下)

目录 1、用 Result 处理可恢复的错误 1.1 传播错误的简写&#xff1a;? 运算符 1.2 哪里可以使用 ? 运算符 2、要不要 panic! 2.1 示例、代码原型和测试都非常适合 panic 2.2 当我们比编译器知道更多的情况 2.3 错误处理指导原则 2.4 创建自定义类型进行有效性验证 …

欧盟玩具CE认证标准EN71详细介绍

玩具EN71认证简介 EN71是欧盟市场玩具类产品的规范标准。许多国家都就这些产品建立了自己的安全规章&#xff0c;生产公司必须保证其产品在该地区销售前符合相关标准。制造商必须对因生产缺陷、不良设计或不适当材料的使用而导致的事故负责。由此在欧洲推出玩具EN71认证法令&am…