加密算法识别经验小结

见一个搞懂一个,仅供自用,具体看这篇

https://bbs.kanxue.com/thread-265939.htm#msg_header_h1_5

本文仅仅是写个人理解,以供下次findcrypt和gpt用不了的时候,保留自己判断的能力(:з」∠)

base64

首先可以从边界检查看看,检测=号作为边界的
而且 43<被编码值<123 才合法,这样大致就能推测一下,往这方面想 image.png

有时候会遇到变表的BASE64,可能FindCrypt识别不出,可以去看这时候的表,这块暂时没遇到,略

MD5

IV正反字符串1234567890abcdef,四分,
轮函数F(x,y,z) = (x & y) | (~x & z)
image.png

SHA系列

初始散列,
正反字符串1234567890abcdef,四分
C3D2E1F0,一分
轮函数:Ch(x,y,z) = (x & y) ^ (~x & z)
image.png

RC4

首先是有个密钥调度算法(KSA),生成一个256长度的S盒
然后,用这个S盒进行流加密,S[i] S[j]独立更新,会有swap交互, 并且伴随大量mod 256,最后,xor一次S[S[i]+S[j]]

TEA/XTEA/XXTEA

会有feistel组件(交换,然后单侧xor加密结果,(加密明文为另一侧,以密码流),循环往复)

特征常量delta是由黄金分割点得来的,delta = 0x9E377989,【TEA系列的固定常数】,
而详细是哪个变种还得看:
TEA,四等分密钥,以8字节(64位bit)为一组,并且其利用秘钥过程长得像这样,左四右五
image.png

XTEA,左四右五,还有个三
image.png

XXTEA,没啥对称,显得有点复杂,52+34
image.png

DES

会有feistel组件(交换,然后单侧xor加密结果,(加密明文为另一侧,以密码流),循环往复)
主要还是8个置换盒(Substitution-Box),包固定的
image.png

AES

这个靠其S盒识别即可,包固定的,密钥长度:128比特、192比特和256比特(16字节,24字节,32字节)
image.png

国密SM4

SM4是一个分组算法,分组长度为128比特,密钥长度为128比特
同样,还是依据S-box,包固定的
image.png

ChaCha20(带poly-1305是有优化的版本,区分开)

https://github.com/souzomain/Shaco/blob/e1bad37dda6f5995dc0a7f22df6496221818f8b4/Common/Chacha20.c#L27
“20”表示该算法有20轮的加密计算。
ChaCha20有一个初始矩阵,矩阵的输入为一个256位的密钥(key[x])、64位随机数(nonce)、64位计数器值(counter)以及4×32位的常数,其中的常数可以作为识别依据(???不可以的,比如https://blog.xlab.qianxin.com/rimasuta-new-variant-switches-to-chacha20-encryption-cn/,每个僵尸网络都会变这里)
image.png
以上内容按小端存储转为ASCII字符是”expand 32-byte k”,但我很怀疑会不会变种,还是记下之后的过程吧

取表特征

最关键细节特征还是,对这个表格,进行4字节4字节地取用,一共取16次,当然,有些nonce不同长度,或者没有counter
image.png

可以参考一下反汇编代码,差不多
image.png

轮特征过程

然后,chacha20有这么一个较少用到的定义的
image.png

其算法如下,但好像识别还是主要靠上面那种
image.png
image.png
其轮的特征会是这样,0,4,8,12…什么的,代码实现如下,可以看到,quarterround每轮次的数字分布上是比较明显的,
当然,也可以从quarterround本身去识别一些东西
image.png

image.png

而带poly-1305是有优化的版本,在 ChaCha20 基础上增加了密钥派生和 Poly1305 认证逻辑,确保数据完整性和真实性。
其会派生两个子密钥:加密密钥和 Poly1305 认证密钥

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇
粤ICP备20015830号