BUUCTF CRYPTO(2)

解密工具网站

在线工具 - Bugku CTF平台

Quoted-printable

密码学的一道题目

Quoted-printable是一种编码方式,它用于MIME头部和某些类型的电子邮件正文。这种编码方式允许非ASCII字符以一种可以被大多数邮件系统安全传输的方式发送。Quoted-printable编码使用ASCII字符集,并且将非ASCII字符转换为一个等号(=)后跟两位十六进制数的形式。

Quoted-printable编码的目的是确保邮件内容在传输过程中不会因为某些字符而出现问题,比如空格和等号在某些情况下需要被转义。在Quoted-printable编码中,空格通常被替换为加号(+),而等号(=)则用于表示字节值的开始。

例如,一个简单的英文句子可能不需要任何编码,但如果句子中包含非ASCII字符,比如德语中的“ü”,那么它可能需要被编码。在Quoted-printable编码中,“ü”可能会被编码为“=FC”。

Quoted-printable编码的一般规则如下:

  1. 可打印的ASCII字符(33-60和62-126)不需要编码。
  2. 空格字符(32)被编码为加号(+)。
  3. 非可打印的ASCII字符(0-31和127)以及等号(=)被编码为“=”后跟两位十六进制数。
  4. 行的结束符(CRLF)被保留,以确保邮件格式的正确。

Quoted-printable编码是Base64编码的一个变种,但两者在用途和编码方式上有所不同。Base64编码通常用于编码二进制数据,而Quoted-printable编码则用于文本数据。

写代码解码密文

import quopri
str = "=E9=82=A3=E4=BD=A0=E4=B9=9F=E5=BE=88=E6=A3=92=E5=93=A6"
decode_str = quopri.decodestring(str).decode('utf-8')
print(decode_str)

flag{那你也很棒哦}

篱笆墙的影子

栅栏密码(Rail Fence Cipher)是一种古典的密码学方法,属于置换密码的一种。它的加密方式是将明文按照一定的规则(通常是将明文分成若干组,每组字符数相等)分成多行,然后按照“Z”字形(或“N”字形)的路径读取这些字符,从而形成密文。

加密过程如下:

  1. 将明文按照一定的字数(通常是2、3、4等)分成多个组。
  2. 将这些组按照“Z”字形排列,例如两栏的栅栏密码,第一行写第一个字符,第二行写第二个字符,然后回到第一行写第三个字符,以此类推。
  3. 按照“Z”字形的路径读取所有字符,形成密文。

解密过程则是加密过程的逆过程:

  1. 将密文按照加密时的栏数分成多行。
  2. 按照“Z”字形的路径将字符重新排列,恢复成原来的分组。
  3. 将排列好的字符组合起来,得到明文。

例如,对于明文“栅栏密码加密规则示例”,如果使用5栏的栅栏密码加密,加密过程如下:

栅栏密码加
密规则示例

按照“Z”字形排列:

栅密
栏规
密码
规则
示例
加例

然后按照路径读取字符,得到密文“栅密栏规密则码示加例”。

栅栏密码的安全性较低,因为它很容易被频率分析等密码分析技术破解。但在某些情况下,它仍然可以用于简单的信息隐藏或作为教学示例。在实际应用中,通常会结合其他加密方法来提高安全性。

我们可以看到flag对应8个字符,{}内部对应16个字符

我们可以猜测为栅栏密码2分组

借用工具可以得到flag

Rabbit

Rabbit加密是一种基于对称密钥的加密算法,它以高效和安全著称。Rabbit加密算法的核心组件是一个位流生成器,该流生成器每次迭代都会加密128个消息位。它使用一个128位密钥和一个64位初始化向量(IV)。这种加密算法的设计目的是为了提供高效的加密速度和安全性,适用于需要高速加密的场景,如数据传输和网络通信等。

Rabbit加密算法的加密过程包括初始化、加密和解密三个步骤:

  1. 初始化:设定加密密钥和初始向量,初始向量用于确保加密过程的随机性,提高加密强度。
  2. 加密:根据加密密钥和初始向量,对明文进行加密,将明文转化为比特串,然后利用加密密钥和初始向量对比特串进行加密。
  3. 解密:利用相同的加密密钥和初始向量,对加密后的比特串进行解密,恢复出原始明文。

Rabbit加密算法的实现可以分为两个主要部分:加密算法和密钥管理。加密算法负责实现比特串的加密和解密,而密钥管理则负责生成、分发和管理加密密钥和初始向量。

Rabbit加密算法可应用于各类通信场景,如电子邮件、即时通讯和语音通话等,以保障通信过程中的信息安全。它也可以用于数据存储和传输过程中,有效防止数据泄露,确保数据安全。此外,Rabbit加密技术还可应用于云计算环境,保护用户数据隐私,提高云计算平台的安全性。

如果你需要进行Rabbit加密或解密,可以使用在线工具,如“在线Rabbit加密 | Rabbit解密- 在线工具”

和“NoxToolbox在线工具箱” 提供的Rabbit加解密工具。这些工具允许用户输入加密的文本,并提供即时解密服务,支持自定义密钥,实现Rabbit在线加密和解密。

借助工具

Rabbit加解密(ES JSON在线工具)

丢失的MD5

看题目意思应该是有代码缺失,并且此代码是python2 如果用的python3 还要自己修改一下输入输出

运行一下看看报错

在进行哈希(hashing)操作之前,Unicode对象必须先被编码。

运行得到flag

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

antique toy

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值