DES加密流程
DES解密过程与加密过程完全相似,只不过将16次迭代的子密钥顺序倒过来,即
DES算法由于块的大小及密钥的长度十分容易被暴力破解,已不能满足现在的安全需求了,因此出现了3DES。
(二)3DES
3DES是三重数据加密算法块密码的通称。它相当于是对每个数据块应用三次DES加密算法。块的长度依旧是64bits,密钥则扩展到2*56bits、3*56bits,比起原来的DES更为安全一些。
举个密钥为3*56bits的例子,其具体实现如下:
设Ek()和Dk()代表DES算法的加密和解密过程,k代表DES算法使用的密钥,m代表明文,c代表密文:
3DES加解密
(三)AES(高级加密标准)
AES加密算法分组长度为128bits,密钥长度为128/192/256 bits。该算法能有效抵抗目前已知的攻击算法,如线性攻击、差分攻击等,对它的基本要求是比3DES快,至少与3DES一样安全。AES将是未来最主要最常用的对称密钥算法。其加密过程有很多轮的重复和变换,大致步骤如下:
1、密钥扩展(KeyExpansion)
2、初始轮(Initial Round)
3、重复轮(Rounds),每一轮又包括:SubBytes、ShiftRows、MixColumns、AddRoundKey
4、最终轮(Final Round),最终轮没有MixColumns