美文网首页
DES加密总结

DES加密总结

作者: Sper | 来源:发表于2018-07-28 10:10 被阅读0次

我是IT修真院的散修学员,正在学习java任务五,下面是我对DES加密的总结

加密解密过程

DES算法的入口参数有三个:Key、Data、Mode。其中Key为8个字节共64位,是DES算法的工作密钥;Data也为8个字节64位,是要被加密或被解密的数据;Mode为DES的工作方式,有两种:加密或解密。DES算法是这样工作的:

如Mode为加密,则用Key去把数据Data进行加密,生成Data的密码形式(64位)作为DES的输出结果;

如Mode为解密,则用Key去把密码形式的数据Data解密,还原为Data的明码形式(64位)作为DES的输出结果。

总体过程

明文64位->初始置换IP->16轮加密变换->逆初始置换IP-1->密文。

子密钥生成

子密钥生成示意图

1.   PC-1为选择置换,可以去掉奇偶校验位。经过PC-1,把输入的64位密钥转换成56位。并把将这56位分成两块C0(28位)和D0(28位);

2.    LSi是表示对Ci-1和Di-1进行循环左移变换,其中LS1,LS2,LS9,LS16是循环左移1位,其余为2位。

3.   C1和D1在次经过循环左移变换,生成C2和D2,然后C2和D2合并,通过选择置换PC-2生成密钥K2(48位);PC-2也是选择置换,它是用于从Ci和Di中选取48位作为密钥Ki。

加密函数原理

加密原理示意图

1.  E是把32比特(即上面所提到的64比特分为俩个32比特。)的输入扩展为48比特。

2.  将E置换后的结果与48位的Ki异或,结果当然依然是48位

3.  把异或48位结果平均分为8组B1,B2…B8,每组就是6比特。每组Bi用Si盒处理。s盒处理结束后,进去的是48位,出来的是32位。具体过程如下

    a.  Si盒共16行4列,注意行号是0-15,列号是0-3

    b.  Bi组共6bit

            i.  取出第一和第六bit共2bit ,把它转换成十进制,表示范围就是0-3

            ii.  取出第二到五bit共4bit ,把它转换成十进制,表示范围就是0-15

       c.  把Bi中取得的两个数字分别作为行号和列号,去Bi对应的Si的对应行和列读取数值。读到的数值是十进制0-15范围内的数字,把这个数字转换成二进制就是4bit范围内的数值

        d.  这样共8个B ,也就最终从8个对应的S盒中共取出8X4bit=32bit的内容。总结一下就是传进来的是48bit ,经过S盒处理后出来的就是32bit

4.  P为32位置换函数,把S盒处理结果的32位输入进去,得到32位的处理结果。

这样最终从输入32位,经过内部一系列操作,又输出了32位。

实际应用思路

在通信网络的两端,双方约定一致的Key,在通信的源点用Key对核心数据进行DES加密,然后以密码形式在公共通信网(如电话网)中传输到通信网络的终点,数据到达目的地后,用同样的Key对密码数据进行解密,便再现了明码形式的核心数据。这样,便保证了核心数据(如PIN、MAC等)在公共通信网中传输的安全性和可靠性。

通过定期在通信网络的源端和目的端同时改用新的Key,便能更进一步提高数据的保密性,这正是现在金融交易网络的流行做法。

关于IT修真院

欢迎到IT修真院学习IT技术,成千上万的师兄在这里找到了自己的学习路线,学习透明化,成长可见化,师兄一对一可见指导。快来与我一起学习吧http://www.jnshu.com,我真的获益良多!

还有,那啥,虽然跟修真院老大未曾谋面,但他既然把夸他很帅列在了修真任务中,而我一路学习下来感觉其他任务都非常靠谱,那这个任务的质量肯定也不差,所以老大很帅!

相关文章

  • Android Des/3DES加解密

    1、3DES加解密 DES加密分为 单DES和 3DES加密 单DES加密是8个字节长度加密 3DES加密分为:双...

  • Des

    常用加密算法的Java实现总结 对称加密算法DES、3DES和AES 算法原理DES算法把64位的明文输入块变为6...

  • DES加密总结

    我是IT修真院的散修学员,正在学习java任务五,下面是我对DES加密的总结 加密解密过程 DES算法的入口参数有...

  • iOS常用加解密方式

    AES128 AES128加密 AES128解密 3DES 3DES加密 3DES解密 DES DES加密 DES解密

  • iOS 笔记之_时间戳 + DES 加密

    iOS 时间戳 + DES 加密 时间戳 DES 加密解密 加密内容:helloWorldDES加密成功加密结果:...

  • android 3DES加密和MD5加密

    经常使用加密算法:DES、3DES、RC4、AES,RSA等;对称加密:des,3des,aes非对称加密:rsa...

  • Android 加密解密的几种方式总结

    经常使用加密算法:DES、3DES、RC4、AES,RSA等; 对称加密:des,3des,aes 非对称加密:r...

  • 对称加密与非对称加密

    一.对称加密 常用的对称加密DES、AES,DES也有衍生的3DES等加密方式 对称加密用到的加密模式有ECB、C...

  • Java AES/DES加密&解密

    DES DES加密&解密代码如下: AES AES加密&解密代码如下:

  • PHP中如何使用DES和AES加密

    1、DES加密实例 //DES加密 public static function encrypt($input, ...

网友评论

      本文标题:DES加密总结

      本文链接:https://www.haomeiwen.com/subject/bfznmftx.html