DES加密的流程:

注解:
- 解密过程,就是将密文再加密一次。
- 非对称加密算法,只有一个密钥加解密。
- 一次加密只对64位数据处理(也就是8个字节)。
- 第一次置换只是为了乱序,第二次是为了换回来。
子密钥生成:

注:
- 置换PC-1后,要去掉8位奇偶校验位,分别为第8、16、24、32、40、......、64位。
- 循环左移时,如果是1、2、9、16轮就左移1位,否则就左移2位。
- PC-2置换,从56位中选取48位作为子密钥。
F变换过程:

注:
- 将32位的输入扩展为48位
- S盒有8个,将48位数据分成每份6位输入到S盒中。第1位和第6位作为两位二进制数X,其他作为4位二进制数Y。每个S盒都是4行16列,根据(X,Y)选中S盒中对应的整数,把该整数以4位二进制数的形式输出。
DES加密学习
原文:https://www.cnblogs.com/glodears/p/13112153.html