CTF常见编码和加密特征

前言

玩CTF的过程中,会遇见各种各样的编码和加密方式,特别在MISC和Reverse中出现次数最多。如果不知道哪种编码或加密方式,做题的过程会很吃力,本文就结合作者自身经历谈谈一些编码的特征。
先分享几个加解密网站
1 http://www.zjslove.com/3.decode/
2 https://www.qqxiuzi.cn/daohang.htm
3 http://web.chacuo.net/charsetuuencode

ASCII编码

0~31及127(共33个)是控制字符或通信专用字符,其余的为可显示字符。
32~126(共95个)是字符(32是空格),其中48~57为0到9十个阿拉伯数字。
65~90为26个大写英文字母,97~122号为26个小写英文字母,其余为一些标点符号、运算符号
在这里插入图片描述

Base32/64/58

做Reverse题分析加密方式时,先找编码表。

base32的编码表是由(A-Z、2-7)32个可见字符构成,“=”符号用作后缀填充。
base64的编码表是由(A-Z、a-z、0-9、+、/)64个可见字符构成,“=”符号用作后缀填充。
base58的编码表相比base64少了数字0,大写字母I,O,小写字母 l (这个是L),以及符号‘+’和‘/’

举个例子:
base32(1234567)= GEZDGNBVGY3Q====

特征:大写字母和数字,不满5的倍数,用‘=’补齐。

base64(1234567)= MTIzNDU2Nw==

特征:大小写字母和数字,不满3的倍数,用‘=’补齐。

base58(1234567)= 2s8YYFs4Vc
在这里插入图片描述

在这里插入图片描述

rot5/13/18/47

rot的加密过程很明显,下面是作者遇到的rot13加密的算法(IDA打开的)。
在这里插入图片描述
ROT5:只对数字进行编码,用当前数字往前数的第5个数字替换当前数字,
ROT13:只对字母进行编码,用当前字母往前数的第13个字母替换当前字母,
ROT18:这是一个异类,本来没有,它是将ROT5和ROT13组合在一起,将其命名为ROT18。
ROT47:对数字、字母、常用符号进行编码,按照它们的ASCII值进行位置替换,用当前字符ASCII值往前数的第47位对应字符替换当前字符,用于ROT47编码的字符其ASCII值范围是33-126。

UUencode/XXencode

UUencode的加密方式和base64很相似。但他的编码表有很多是特殊字符:”!”#¥%&‘()*+=’” 等等。
XXencode的加密方式也和base64相似。跟base64打印字符相比,就是UUencode多一个“-” 字符,少一个”/” 字符。
举个例子
UUencode(1234567)= (,3(S-#4V-PH`
特征:看着特别奇怪
XXencode(1234567)= 6AH6nB1IqBkc+
特征:与base64相似
在这里插入图片描述
在这里插入图片描述

SHA 1/224/256/384/512

安全散列算法(英语:Secure Hash Algorithm)是一种能计算出一个数字消息所对应到的,长度固定的字符串(又称消息摘要)的算法。且若输入的消息不同,它们对应到不同字符串的机率很高;而SHA是FIPS所认证的五种安全散列算法。
SHA家族的五个算法,分别是SHA-1、SHA-224、SHA-256、SHA-384,和SHA-512,由美国国家安全局(NSA)所设计,并由美国国家标准与技术研究院(NIST)发布;是美国的政府标准。后四者有时并称为SHA-2。SHA-1在许多安全协议中广为使用,包括TLS和SSL、PGP、SSH、S/MIME和IPsec,曾被视为是MD5(更早之前被广为使用的散列函数)的后继者。但SHA-1的安全性如今被密码学家严重质疑;虽然至今尚未出现对SHA-2有效的攻击,它的算法跟SHA-1基本上仍然相似;因此有些人开始发展其他替代的散列算法。

举个例子:
SHA-1(1234567)= 20eabe5d64b0e216796e834f52d61fd0b70332fc
SHA-224(1234567)=bb3fc349dd256a38df3f9345c81855cdebc9db2096b48ad3618674f6
SHA-256(1234567)=8bb0cf6eb9b17d0f7d22b456f121257dc1254e1f01665370476383ea776df414
转载:https://blog.csdn.net/nocbtm/article/details/90242650

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值