CTF之crypto做题总结

本文总结了CTF挑战中涉及的基础加密解密类型,包括签到题、Base64编码、凯撒密码、摩斯密码、MD5以及URL编码的解密方法,通过实例解析了解如何解密获取flag。

前言

这几天做了几道十分简单的签到题和密码题,今天来总结一下。

一、签到

先来说两道签到题。看到下面这道签到题,人家直接把flag给我们了,我们直接提交这个flag就可以了。
在这里插入图片描述
接下来这道签到题也是同样道理,看题目描述,人家给我们了example : flag{th1s_!s_a_d4m0_4la9}
不用怀疑,这个例子就是flag,我们直接提交就好了。在这里插入图片描述

二、base64

Base64是最常见的用于传输8Bit字节码的编码方式之一,是一种基于64个可打印字符来表示二进制数据的方法。Base64编码是从二进制到字符的过程,可用于在HTTP环境下传递较长的标识信息。Base64编码具有不可读性,需要解码后才能阅读。
一眼就解密
拿到这道题之后,看到下面这一串字符串,应该想到用base64来解密,我们使用base64解码工具来进行解密,把字符串粘贴上去然后点击图片右下角的base64解密就可以得到flag了。
在这里插入图片描述
base64
题目以经告诉我们这是一道base64的题目,那么我们只需要打开base64解密工具进行解密就可以得到flag了。
在这里插入图片描述

三、凯撒密码

在密码学中,凯撒密码(英语:Caesar cipher),是一种最简单且最广为人知的加密技术。它是一种替换加密的技术,明文中的所有字母都在字母表上向后(或向前)按照一个固定数目进行偏移后被替换成密文。例如,当偏移量是3的时候,所有的字母A将被替换成D,B变成E,以此类推。

Caesar
这道题也是题目已经告诉我们是凯撒密码,我们只需要打开凯撒密码解密工具,把密文粘贴上去设置偏移量进行解密就可以拿到flag了。
在这里插入图片描述
看我回旋踢
题目告诉我们得到的 flag 请包上 flag{} 提交,我们再来看密文,第一个字母是s,所以这道题的偏移量我们可以设置为13,然后进行解密就ok了。
在这里插入图片描述

四、摩斯密码

摩尔斯电码(又译为摩斯密码,Morse code)是一种时通时断的信号代码,通过不同的排列顺序来表达不同的英文字母、数字和标点符号。它不同于现代只使用零和一两种状态的二进制代码,它的代码包括五种: 点、划、点和划之间的停顿、每个字符之间短的停顿、每个词之间中等的停顿以及句子之间长的停顿。
摩丝
同样,这道题题目就是摩丝,再看密码,确实是摩斯密码,我们打开摩斯密码翻译器,把摩斯密码粘贴上去然后翻译至字母就得到答案了。
在这里插入图片描述
Morse
这道题题目也直接告诉我们是摩斯密码,那我们就打开摩斯密码翻译器就好了,这里要注意的一点是数字之间的空格用“/”来代替,然后按下解码键进行解码就成功了。
在这里插入图片描述

五、MD5密码

MD5信息摘要算法(英语:MD5 Message-Digest Algorithm),一种被广泛使用的密码散列函数,可以产生出一个128位(16字节)的散列值(hash value),用于确保信息传输完整一致。MD5算法因其普遍、稳定、快速的特点,广泛应用于普通数据的加密保护领域。
MD5
题目告诉我们是MD5密码,那么我们去搜索MD5解密工具就可以了,在解密工具的密文里粘贴上我们的题目再点击查询就得到答案啦。
在这里插入图片描述

六、Url编码

url编码是一种浏览器用来打包表单输入的格式。浏览器从表单中获取所有的name和其中的值 ,将它们以name/value参数编码(移去那些不能传送的字符,将数据排行等等)作为URL的一部分或者分离地发给服务器。
Url编码
同样是题目告诉我们的Url编码,我们去搜索Url编码解码工具,然后把我们的题目放上去,点击下边的UrlDecode解码按钮就可以成功拿到flag了。
在这里插入图片描述

总结

现在的水平太低了,只做了一点这种简单的题,以后慢慢学习,慢慢进步,不断提升自己,加油!!!

### CTF竞赛中的加密解密题目解析 #### 加密与解密基础概念 在CTF(Capture The Flag)竞赛中,加密解密类题目旨在测试参赛者对于各种加密技术的理解以及破解这些加密机制的能力。文本加密能够将正常的可读文本转换成看似随机的字符序列,从而保护原始信息不被未授权访问[^1]。 ```python def simple_xor_cipher(text, key): encrypted = ''.join([chr(ord(c) ^ ord(key)) for c in text]) return encrypted ``` 此代码展示了简单的异或(XOR)加密方法,这是一种常见的对称加密方式,在某些初级CTF挑战里可能会遇到类似的实现逻辑。 #### RSA算法简介及其应用 RSA作为一种重要的非对称加密算法,在许多高级别的CTF赛事中有广泛应用。该算法由Rivest、Shamir和Adleman三位学者于1977年发明,并以其名字首字母命名。其安全性依赖于大整数难以因式分解这一数学难题;具体来说就是当给出一个极大数值n时,找到构成它的两个质数因子p和q是非常困难的任务,除非拥有特殊的方法或是超强算力支持[^2]。 ```python from Crypto.PublicKey import RSA from Crypto.Cipher import PKCS1_OAEP key_pair = RSA.generate(bits=2048) public_key = key_pair.publickey() cipher_rsa = PKCS1_OAEP.new(public_key) encrypted_message = cipher_rsa.encrypt(b'Flag is here') print(f"Encrypted message: {encrypted_message}") ``` 上述Python脚本利用`pycryptodome`库实现了基于PKCS#1标准下的OAEP填充模式来完成一次完整的RSA公钥加密过程。 #### 寻找资源建议 为了更好地准备涉及加密解密部分的比赛项目,可以从以下几个方面着手: - **官方文档学习**:深入研究像OpenSSL这样的开源工具所提供的API接口说明。 - **在线平台练习**:参与如CryptoHack等专注于密码学实践的学习网站。 - **书籍阅读**:《Understanding Cryptography》是一本非常适合入门到精通的好书。 - **社区交流**:加入Reddit上的r/crypto论坛或其他相关QQ群组获取最新资讯和技术分享。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值