CTF CRYPTO 密码学-1

CTF CRYPTO 密码学-1

题目名称: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)

相关推荐

  1. [密码][ecc]secp256k1

    2024-01-16 11:54:06       64 阅读
  2. 密码系列1-安全规约

    2024-01-16 11:54:06       28 阅读
  3. 密码基础古典密码

    2024-01-16 11:54:06       37 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-01-16 11:54:06       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-01-16 11:54:06       100 阅读
  3. 在Django里面运行非项目文件

    2024-01-16 11:54:06       82 阅读
  4. Python语言-面向对象

    2024-01-16 11:54:06       91 阅读

热门阅读

  1. Linux中的numactl命令使用详解

    2024-01-16 11:54:06       52 阅读
  2. (程序员专用简历助手)Prompt提示词

    2024-01-16 11:54:06       55 阅读
  3. Linux 安装 Mysql5.7(glibc版)

    2024-01-16 11:54:06       51 阅读
  4. apache排障

    2024-01-16 11:54:06       57 阅读
  5. Github Copilot 的使用方法和快捷键

    2024-01-16 11:54:06       80 阅读
  6. ARCGIS PRO SDK 地图图层单一符号化_____线图层

    2024-01-16 11:54:06       57 阅读