加密算法------DES加密算法详解

一、加密算法的分类

1.对称加解密算法

a.通信双方同时掌握一个密钥,加密解密都是由一个密钥完成的(即加密密钥等于解密密钥,加解密密钥可以相互推倒出来)。

b.双方通信前共同拟定一个密钥,不对第三方公开。

c.不具有个体原子性,一个密钥被共享,泄漏几率增大

2.公私钥加解密算法

a.通信双方掌握不同的密钥,不同方向的加解密由不同的密钥完成。

二、对称加密算法的代表----DES加密算法

原理:该算法是一个利用56+8奇偶校验位(第8,16,24,32,40,48,56,64)=64位的密钥对以64位为单位的块数据进行加解密。

具体过程:

    有明文M(64位) = 0123456789ABCDEF

        即M(64位) = 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111

            L(32位) = 0000 0001 0010 0011 0100 0101 0110 0111

            R(32位) = 1000 1001 1010 1011 1100 1101 1110 1111

    有密钥64位:133457799BBCDFF1

        即K(64位) = 00010011 00110100 01010111 01111001 10011011 10111100 11011111 11110001

            注:其中红色为奇偶校验位,即实际密钥为56位

第一步:按照下表中的规则对各个位进行交换,生成16个子钥(48位)

交换规则表(8*7):57      49       41        33        25         17          9

                              1          58       50       42        34          26         18

                               10        2         59       51        43         35          27

                                19        11        3        60        52         44          36

                                 63        55       47       39         31         23          15

                                  7          62       54       46         38         30           22

                                  14          6         61      53          45        37            29

                                  21          13        5        28         20         12             4

交换方法:第一行第一列的数为57,那么就将K中第一位上的数换成K中第57位上的数(将0换为了57位上的1),依次类推。

那么原K(64位) = 00010011 00110100 01010111 01111001 10011011 10111100 11011111 11110001

去掉奇偶校验位,再经过上表的转换就变为了:

     K + (56位) =  1111000  0110011  0010101  0101111  0101010   1011001    1001111  0001111

因此:C0(28位) = 1111000  0110011  0010101  0101111

          D0(28位) = 0101010   1011001    1001111  0001111

下来依次是C1,D1为C0,D0左移一位,C2,D2为C1,D1左移一位,C3,D3为C2,D2左移两位.......


评论 38
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值