CRYPTO入门心得
CRYPTO入门心得
因为我是直接刷题入门的,没有专门的去看密码学相关的书籍,所以就分享一下我通过做题得到的一些知识和思维,相当于一个阶段性总结吧。
临时查了一下密码学的题目,好像是分为现代密码学和古典密码学,但是我还没有碰到过几道古典密码题,所以就按照我做过的题型的分类来讲吧
加密方式
先来讲讲一些加密方式吧,有base,ascii,unicode,md5,rsa,aes等等,然后base,ascii,unicode这些主要考的是编码转换(这里可以随便拿一些例子讲讲),这些编码一开始我看到都不敏感的,做的题多了之后看到基本上看到一串东西只要不是太奇怪的编码都能反应出来是哪种编码,而且在后面会有一些很复杂的题目套了很多层的,基本上看到这些编码加密的字符串就已经很接近答案了。
各种编码
MD5加密
找buu那道最简单的md5举个例子就好。
再讲一道丢失的md5
base编码
细讲一下其中的原理
Base64编码
ZmxhZ3tUSEVfRkxBR19PRl9USElTX1NUUklOR30=
转换后为flag{THE_FLAG_OF_THIS_STRING}
这种结尾有个等号的字符串是base系列编码的特征,但是为什么结尾会有这个等号呢,而这个等号是不是一直都会出现的呢,答案是不会的。
拿base64编码举例子,先来讲讲base64编码的定义。
Base64是一种基于64个可打印字符来表示二进制数据的表示方法。由于{\displaystyle \log _{2}64=6},所以每6个比特为一个单元,对应某个可打印字符。3个字节相当于24个比特,对应于4个Base64单元,即3个字节可由4个可打印字符来表示。在Base64中的可打印字符包括字母
A-Z
、a-z
、数字0-9
,这样共有62个字符,此外两个可打印符号在不同的系统中而不同。
然后拿Wikipedia的例子去讲
再举一反三一下base32和16
再讲讲那道base家族
古灵精怪的编码
Rabbit加密
例子:ctfshow crypto6
ook加密
例子:ctfshow crypto7
brainfuck加密
例子:ctfshow crypto8
ook和brainfuck这种编码能够认出来就好了,不要到时候看到这种东西的时候一脸懵逼就好
Quoted-printable编码
例子:ctfshow crypto10
这个也差不多,就是能认出来就好了,感觉没必要去特地研究它,一看到能认出来这个是什么东西就好。
当铺密码
这个是有个脚本用来解密的
例子:ctfshow 萌新_密码5
埃特巴什码
看一下pedia,就是26个字母反过来对照一遍的
例子:ctfshow crypto12
总结
就讲这么多吧,其实还遇到了很多其他奇奇怪怪的编码。
做了这么多道密码题,遇到一些看不懂的东西,先不要着急,可以看看文件名是什么,文件名的名字很可能是编码的方式,我记得上次红帽杯签到题就是下载下来是一个叫做“EBCDIC”的东西,点进去看hex看不出来是什么东西,然后搜索EBCDIC,发现这也是一种编码,转换了一下就拿到flag了
工具
在ctfshow那个群里面找到一个还行的工具叫CTFcrackTools,那个工具有很多功能啊,可以拿来解密凯撒密码,栅栏密码,培根密码,猪圈密码,摩斯密码啊这些古典密码,挺实用的。翻了一下最近比赛的题,感觉挺少古典密码的,所以也没有找古典密码的例题讲(最后讲吧
RSA非对称加密算法
这一部分的原理比较复杂,我到现在也还没有完全理解,就直接讲我理解的吧,先讲讲加密解密过程,参考网站:https://my.oschina.net/u/4302374/blog/3383578;https://blog.csdn.net/u013073067/article/details/86674474
题目
一些RSA题目
从简单到难来讲例题
要用工具那些rsa题目暂时还没有研究透,还不在理解范围内
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· .NET10 - 预览版1新功能体验(一)