Data Encryption Standard
密钥长度为 64bit
明文加密可采用 ECB、CBC、CFB
key_perm_table
: 从 8 字节的 key 中选择 56bit,并拆分成左右两半 (28bit+28bit)key_rol_steps
,两个 28bit 分别循环左移key_56bit_to_48bit_table
: 从 56bit 中选出 48 个 bitchar S[8][64]
8*(a1a2a3a4a5a6) = 8*S[a1a6][a2a3a4a5]
(48bit->32bit)
c = E(D(E(p,k1), k2), k3)
p = D(E(D(c,k3), k2), k1)