参考文章:https://bbs.pediy.com/thread-265939.htm#msg_header_h1_3和Nu1L的从0到1

常量

算法 特征值 备注
TEA 9e3779b9 Delta值
AES 63 7c 77 7b f2 6b 6f c5 S盒
AES 52 09 6a d5 30 36 a5 38 逆S盒
DES 3a 32 2a 22 1a 12 0a 02 置换表
DES 39 31 29 21 19 11 09 01 变换数组PC1
DES 0e 11 0b 18 01 05 03 1c 变换数组PC2
DES 0e 04 0d 01 02 0f 0b 08 S函数表格1
BlowFish 243f6a88 85a305d3 13198a2e 03707344 P数组
MD5 67452301 efcdab89 98badcfe 10325476 寄存器初始值
MD5 d76aa478 e8c7b756 242070db c1bdceee Ti数组常量
sha1 67452301 efcdab89 98badcfe 10325476 寄存器初始值
sha256 6a09e667 bb67ae85 3c6ef372 a54ff53a
510e527f 9b05688c 1f83d9ab 5be0cd19
寄存器初始值
sha384 cbbb9d5dc1059ed8 …8个16位 寄存器初始值
sha512 6a09e66713bcc908 …8个16位 寄存器初始值
crc32 00000000 77073096 ee0e612c 990951ba CRC表
base64 ‘A-Za-z0-9+/’ 字符集
chacha20 0x61707865 0x3320646e 0x79622d32 0x6b206574
小端ascii为expand 32-byte k
寄存器初始值

特征算法

算法 特征运算 作用
RC4 %256;swap
base64 b1 = c1 >> 2
b2 = ((c1 &0x3) << 4 ) | (c2 >> 4)
b3 = ((c2 & 0xf) << 4) | (c3 >> 6)
b4 = c3 & 0x3f
tea ((x << 4) + kx) ^ (y + sum) ^ ((y >> 5) + ky) 轮函数
md5 (x & y) | ((~x) & z) F函数
md5 (x & z) | (y & (~z)) G函数
md5 x ^ y ^ z H函数
md5 y ^ (x | (~z)) I函数
aes x[j] = s[i][(j+i) %4]
循环4次
s[i][j]=x[j]
循环4次
整体循环4次
行移位
des L = R
R = F(R,K) ^ L
feistel结构