栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

DES算法详解及实现(C语言)

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

DES算法详解及实现(C语言)

其他现代密码学算法详解及实现见专栏合集~

DES算法原理
  • 加密过程

(i)算法结构

**概述:**将明文分为64位的分组,首先对64位码做初始IP置换,再进行16论迭代变换,其中包括ESP三种运算,最后进行逆初始置换。

1.初始置换IP

将64个明文位的位置进行置换,得到一个乱序的64位明文组,然后分成左右两端,每段位32位,左边用L0表示,右边用R0表示,并将R0送入迭代变换。

2. 迭代变换F

I**.选择扩展运算E**

(为了和48位的密钥运算而扩展)

四字节一组,组前位=上组最后一位,组后位=下组的第一位。

II**.密钥加密运算**

将子密钥产生器产生的48位子密钥k与选择扩展运算E输出的48位数据按位做异或运算。

III**.选择压缩运算S(S盒)**

(实现非线性混淆,增加明文空间复杂度,因为密文需要是64位,所以必须压缩回32位)

将加密过后的48位数据自左向右分成8组,每组6位。然后并行送入8个S盒,每个S盒为一个非线性代换网络。6进4出,头尾两位的二进制->行数,中间四位的二进制->列数&#

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/947833.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号