DES 算法详述

本文详细阐述了DES算法,包括密钥处理和数据加密两部分。首先,64位密钥经过PC-1置换生成56位密钥,再通过循环左移和PC-2置换产生16个48位子密钥。接着,64位明文经过IP置换、多次迭代(每次迭代涉及R和L的异或以及f函数的使用)、最后的IP-1置换,生成64位密文。解密过程与加密类似,只是子密钥使用顺序相反。
摘要由CSDN通过智能技术生成

 DES算法总的说来可以两部分组成:

一、对密钥的处理。这一部分是把我们用的64位密钥(实际用的56位,去掉了8个奇偶校验位)分散成16个48位的子密钥。

二、对数据的加密。通过第一步生成的子密钥来加密我们所要加密的数据,最终生成密文。

下面就通过这两部分分别介绍DES算法的实现原理。

 

一.密钥分散——子密钥的生成

64比特的密钥生成16个48比特的子密钥。其生成过程见图:

64比特的密钥K,经过PC-1后,生成56比特的串。其下标如表所示:

该比特串分为长度相等的比特串C0和D0(分别为28比特)。然后C0和D0分别循环左移1位,得到C1和D1。C1和D1合并起来生成C1D1。C1D1经过PC-2变换后即生成48比特的K1。K1的下标列表为:

C1、D1分别循环左移LS2位,再合并,经过PC-2,生成子密钥K2……依次类推直至生成子密钥K1

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值