TEA
分组加密算法,明文以8字节一组,密钥以16字节一组( (明文以8字节分组最后一组不够时填充)
密钥分为四个子密钥进行加密解密
加密过程
delta = 0x9e3779b9
for i in range(32): # 加密轮数(一般是32轮)
sum += delta
l += ((r<<4)+k0)^(r+sum)^((r>>5)+k1)
r += ((l<<4)+k2)^(l+sum)^((l>>5)+k3)
v[0] = l
v[1] = r
解密过程
for i in range(32): # 对应加密的轮数
v1 -= ((v0<<4)+k2)^(v0+sum)^(v0>>5)+k3)
v0 -= ((v1<<4)+k0)^(v1+sum)^(v1>>5)+k1)
sum -= delta
v[0] = v0
v[1] = v1
除了TEA算法还有XTEA(tean),XXTEA算法,统称为TEA系列;
该系列的特征是delta = 0x9e3779b9
由于是分组密码,一般CTF的Crypto方向一般不会有(网上能搜到的TEA系列代码实现几乎都是C语言,这就意味着一般是作为RE方向考察的)
系列代码实现几乎都是C语言,这就意味着一般是作为RE方向考察的)