当前位置: 首页 > news >正文

信息安全复习五:数据加密标准(DES)

一、本章梗概

1.主要内容:分组密码、分组密码用到的关键技术和结构、对称密钥密码典型算法DES
2.思考问题:
①按照明文被处理的形式,DES属于标准的分组密码
②根据密钥的使用数量,DES属于标准的对称密码
3.内容回顾:
①什么是对称密钥密码模型
②流密码与分组密码的区别
相同点:都是对称密码模型
不同点:分组密码主要用于商业密码,流密码主要用于军用密码;分组密码主要是进行替代和置换,流密码主要是用于异或运算。

二、分组密码

2.1 分组密码的加密方式

分组密码的加密方式:首先将明文序列以固定长度进行分组,每组明文用相同的密钥和算法进行变换,得到一组密文。

分组密码是以块为单位,在密钥的控制下进行一系列线性和非线性交换而得到密文的。

2.2 分组密码的特点

分组密码的加/解密运算目的:输出块中的每一比特位是由 输入+密钥 每一比特位决定的。

加密算法中使用的方法:乘积密码 (包含替代、置换)、XOR(异或)

这个设计思想就是Shannono 1949年发现的隐藏信息的两种技术:混淆和扩散。(可以避免统计方法的密码分析

2.3 混淆和扩散

分组密码(一) --密码学复习(四)

混淆:
不同的输入,导致相同的输出
就是改变数据块,使输出位与输入位之间没有明显的统计关系(替代技术实现)
使密文和密钥之间的统计关系变得尽可能复杂,以使敌手无法得到密钥

扩散:
输入数据中1bit的变化,将导致输出结果中的多bit变化
就是通过密钥位转移到密文的其它位上(置换技术实现)
将明文的统计特性分布到密文中去
使明文和密文之间的统计关系变得尽可能复杂,以使敌手无法得到密钥。

处理长明文块时,需要多个替代模块,各个替代模块之间没有关联。

实现方式是使得明文的每一位影响密文中多位的值,等价于说密文中每一位均受明文中多位影响。这时明文的统计特性将被散布到密文中。

分组密码的特点:良好的扩散性;对插入信息的敏感性,较强的适应性;加/解密速度慢;差错的扩散和传播;

2.4 替代与置换

1.替代

在这里插入图片描述

在这里插入图片描述

2.置换:交换各数据位的位置

在这里插入图片描述

通过对包含密钥的数据进行替代和置换,可以获得混杂的数据,可以当作密钥流,加密明文数据。

2.5 Feistel结构

基于Shannon理论(混淆和扩散)的大多数对称分组密码的基本结构–Feistel网络结构。

Feistel 的优点在于:由于它是对称的密码结构,所以对信息的加密和解密的过程就极为相似,甚至完全一样。这就使得在实施的过程中,对编码量和线路传输的要求就减少了几乎一半。

Feistel结构的简单理解:
1.给明文分组(L,R)
2.对R进行加密
3.密文=加密后的R+L(即LR的位置交换)

构造过程:
在这里插入图片描述
在这里插入图片描述

解密过程:
在这里插入图片描述
Feistel密码结构

三、DES算法

3.1.简单介绍

DES算法原理及实现

1.常见的加密算法
对称密钥/私钥密钥:DES、RC6、AES(Rijndael)
非对称秘钥/公钥密钥:RSA
单向散列函数:MD5、SHA

2.几个重要的历史时间
1973年NBS向社会公开征集加密算法,以制定加密算法标准
1974年第二次征集
1975年选中IBM的算法,并公布征求意见
1977年1月15日正式颁布
1998年底以后停用
1999年颁布3DES为新标准

3.DES的设计目的
1.用于加密保护政府机构和商业部门的非机密的敏感数据。
2.用于加密保护静态存储和传输信道中的数据。
3.安全使用10~15年。

4.DES概况
应用:
1.许多国际组织采用位标准。
2.在全世界范围得到广泛应用。
3.产品形式:软件(嵌入式,应用软件),硬件(单片,插片)

结论:
用于其设计目标是安全的。
设计精巧,实现容易,使用方便,堪称典范。
为国际信息安全发挥了重要作用。

5.DES 是一种 对称密钥 的 块加密 算法。

谓之 “对称密钥”,是因为加密、解密用的密钥是一样的。

谓之 “块加密”,是因为这种算法把明文划分为很多个等长的块(block),对每个块进行加密,最后以某种手段拼在一起。“块加密” 亦称 “分组加密”。

6.DES算法入口参数

DES 算法的入口参数有三个:Key、Data、Mode。

其中,Key 为 7 个字节共 56 位,是 DES 算法的工作 密钥;
Data 为 8 个字节 64 位,是要被加密或被解密的 数据;
Mode 为 DES 的 工作方式,有两种:加密或解密。

3.2 DES的整体特点

1.分组密码:明文、密文和密钥的分组长度都是64位。
2.面向二进制的密码算法:因而能够加解密任何形式的计算机数据。
3.对合运算:因而加密和解密共用同一算法,使工程实现的工作量减半。
4.综合运用了置换、代替、代数等多种密码技术。
5.基本结构属于Feistel结构。

3.3 DES算法框图和加密过程

DES 算法是在 Feistel network (费斯妥网络)的基础上执行的。以下是 DES 算法的流程图:
在这里插入图片描述
可以看到整个算法分为两大部分——迭代加密(左边的 16 轮迭代操作),以及 子密钥生成(右边生成子密钥的算法)。

3.4 DES子密钥的产生

【密码学】DES 介绍

3.5 初始置换和逆置换的保密意义

保密作用不大,在IP和IP^(-1)公开的条件下,其保密意义不大

3.6 DES解密过程

DES的运算是对合运算,加解密可共用同一个运算。

不同点:子密钥使用的顺序不同。

第一次解密迭代使用子密钥K16,第二次解密迭代使用子密钥K15,第十六次解密迭代使用子密钥K1。

3.7 加密函数f

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3.8 DES的安全性

1.攻击:穷举攻击(目前最有效的方法),差分攻击,线性攻击。

2.安全弱点:密钥太短,存在弱密钥,存在互补对称性。
在这里插入图片描述

3.9 3重DES

1.美国NIST在1999年发布了一个新版本的DES标准
DES只用于遗留系统
3DES取代DES成为新标准
国际组织和我国都接受3DES

2.3DES的优势

3密钥的3DES:密钥长度是168位。
2密钥的3DES:密钥长度是112位。
安全:密钥足够长,经过最充分的分析和实践检验。
兼容性好。

3.3DES的弱势
速度慢

4.DES的历史回顾

DES的出现标志着商业密码需求的增加。
DES体现香农的密码设计理论。
体现了公开设计原则,开创公开算法的先例。
DES代表当时商业密码的最高水平。

5.DES给我们的启示

商业密码应当坚持公开设计原则;
商业密码标准的设计应有广大用户的参与,商业密码标准应当公布算法。

附加1:
在密码学中,加密算法分为双向加密和单向加密。
单向加密包括MD5、SHA等摘要算法,它们是不可逆的。(哈希函数可逆)
双向加密包括对称加密和非对称加密,对称加密包括AES加密、DES加密等。双向加密是可逆的,存在密文的密钥。

附加2:
什么是AES加密?详解AES加密算法原理流程

相关文章:

信息安全复习五:数据加密标准(DES)

一、本章梗概 1.主要内容:分组密码、分组密码用到的关键技术和结构、对称密钥密码典型算法DES 2.思考问题: ①按照明文被处理的形式,DES属于标准的分组密码 ②根据密钥的使用数量,DES属于标准的对称密码 3.内容回顾: …...

Java ---包装类

(一)包装类概念 官方说法: Java是面向对象的语言,但是为了便于开发者的使用,Java中却沿用了C语言的基本数据类型,在进行基本的数据计算时,开发者可以直接使用基础类。但是当需要和Java其他对象…...

Baumer工业相机中偏振相机如何使用Baumer堡盟GAPI SDK来进行偏振数据的计算转换输出(C#)

项目场景 Baumer工业相机堡盟相机是一种高性能、高质量的工业相机,可用于各种应用场景,如物体检测、计数和识别、运动分析和图像处理。 Baumer的万兆网相机拥有出色的图像处理性能,可以实时传输高分辨率图像。此外,该相机还具…...

MSVC(Microsoft Visual C++) 中运行库的链接方式MD和MT的区别

问题描述 MSVC(Microsoft Visual C) 中运行库的链接方式MD和MT的区别 问题解答 在MSVC编译器中,运行库(Runtime Library)有两种链接方式:MD(Multithread-DLL)和MT(Multithread)。这两种链接方式的主要区…...

设计模式之解释器模式(C++)

作者:翟天保Steven 版权声明:著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处 一、解释器模式是什么? 解释器模式是一种行为型的软件设计模式,定义了一个解释器,来解释给定语…...

基于MATLAB编程的粒子群算法优化BP神经网络风电功率预测,基于PSO-BP的风电功率预测

目录 摘要 BP神经网络的原理 BP神经网络的定义 BP神经网络的基本结构 BP神经网络的神经元 BP神经网络的激活函数, BP神经网络的传递函数 粒子群算法的原理及步骤 基于粒子群算法改进优化BP神经网络的风电功率 matlab代码 代写下载链接:https://download.csdn.net/download/a…...

开心档之C++ 字符串

C 字符串 目录 C 字符串 C 风格字符串 实例 实例 C 中的 String 类 实例 C 提供了以下两种类型的字符串表示形式: C 风格字符串C 引入的 string 类类型 C 风格字符串 C 风格的字符串起源于 C 语言,并在 C 中继续得到支持。字符串实际上是使用 …...

Java Collection源码分析(JDk corretto 11)

文章目录 Collection 系列源码分析 (JDK Amazon corretto 11)Collection接口Iterable接口 子接口 QueueQueue的子接口 Deque双端队列 子接口ListArrayList 实现类序列化与反序列化(后续解决)获取Calss对象的方式 主要有三种:Arrays工具类System类 LinkedList实现类t…...

13种权重的计算方法

权重计算方法有很多种,不同的方法有不同的特点和适用情况。AHP层次分析法和熵值法在权重计算中属于比较常用的方法。除此之外,还有一些与权重计算相关的方法,今天一文总结了13种与权重计算相关的方法,大家可以对比选择使用。 一、…...

Devops和Gitops区别

一. 什么是devops DevOps 是一种开发(Dev)和运维(Ops)之间协作和沟通的文化、流程和工具的实践方法。它强调迭代、快速交付和持续集成/持续交付,旨在加速软件交付的速度、质量和稳定性。 DevOps 的核心目标是通过自动…...

拿下多家车企定点!4D毫米波雷达「域」系统首发出道

从1R、2R、3R到整车360感知方案,毫米波雷达的前装市场需求量依然保持着快速增长的态势。 高工智能汽车研究院监测数据显示,2022年中国市场(不含进出口)前装标配搭载ADAS毫米波雷达(前向后向盲区)交付1795.…...

【FATE联邦学习】FATE联邦学习使用GPU、指定cuda下标

问题 FATE框架1.x支持GPU训练吗? 寻找 先看了官网,搜官网,发现还是有的。 打开第一个后,里面可以用training param指定各个client的训练GPU,但是好像都是在large language model的。 而在文档中搜寻到的gpu&#xf…...

英文数字表达

1基数词 0 nought;zero;O 1 one 2 two 3 three 4 four 5 five 6 six 7 seven 8 eight 9 nine 10 ten 11 eleven 12 twelve 13 thirteen 14 fourteen 15 fifteen 16 sixteen 17 seventeen 18 eighteen 19 nineteen 20 twenty21 twenty-one 22 twenty-two 23 twenty-three 30 th…...

第11届蓝桥杯省赛真题剖析-2020年6月21日Scratch编程初中级组

[导读]:超平老师的《Scratch蓝桥杯真题解析100讲》已经全部完成,后续会不定期解读蓝桥杯真题,这是Scratch蓝桥杯真题解析第125讲。 第11届蓝桥杯省赛,这是2020年6月21日举办的省赛Scratch考试真题,原定于2020年3月7日…...

部署LVS-NAT群集实验

一、 实验准备 负载调度器:内网关 ens33:192.168.109.12,外网关 ens37:12.0.0.1外网 Web节点服务器1:192.168.109.13 Web节点服务器2:192.168.109.14 NFS服务器:192.168.109.11 客户端&#xf…...

对待工作的九个级别

只要是职场人,每天都要开展本职工作,有的人在职场上混得风生水起、平步青云,有的人却总是在原地踏步踏,总有一种怀才不遇的感叹,为什么呢?其实,差距就在于对待工作的态度上。 今天我们一起与各位…...

第四章 存储结构与管理硬盘

第四章 存储结构与管理硬盘 一、一切从“/”开始 1、Linux系统中常见的目录名称以及相应内容 目录名称应放置文件的内容/boot开机所需文件——内核、开机菜单以及所需配置文件等/dev以文件形式存放任何设备与接口/etc配置文件/home用户主目录/bin存放单用户模式下还可以操作…...

【腾讯云-2】极简搭建边缘集群

1 创建 流程和https://blog.csdn.net/qq_47058489/article/details/130347795差不多,可参考 查看基本信息: 创建边缘集群的过程中会初始化master,说明包含一个托管master节点 但是没有其他节点 2 开启节点远程登录 通过 SSH 的方式远…...

在springboot中给mybatis加拦截器

拦截器的作用就是我们可以拦截某些方法的调用,在目标方法前后加上我们自己逻辑 Mybatis拦截器设计的一个初衷是为了供用户在某些时候可以实现自己的逻辑而不必去动Mybatis固有的逻辑。 mybatis 自定义拦截器 1、实现Interceptor 接口,并添加拦截注解 I…...

[oeasy]python0139_尝试捕获异常_ try_except_traceback

尝试捕获异常 回忆上次内容 变量相加 整型数字变量可以相加字符串变量也可以拼接 但是 字符串 和 整型数字整型数字 和 字符串不能相加 怎么办? 转格式int(“1”)str(2) 可是 如果输入的苹果数量是 字符串"abc" int(“abc”)会发生什么?&…...

推荐8款AI辅助论文写作工具(如爱毕业aibiye)与入门使用教程

人工智能技术在学术研究中的深度整合,显著优化了学术论文的创作效能与成果质量。通过文献智能分析、语义生成引擎和语言优化算法等核心技术,8款前沿工具系统覆盖了知识图谱构建、学术内容生成、多维度文本增强等核心研究场景。这些智能化平台基于深度学习…...

【实战指南】解决Qt平台插件加载失败:从环境变量到PyQt5重装的完整方案

1. 遇到Qt平台插件加载失败?别慌,先看懂报错信息 最近在Windows上跑labelimg标注工具时,突然弹出一个让人头疼的错误: qt.qpa.plugin: Could not load the Qt platform plugin "windows" in "" even though…...

LogonTracer核心功能深度解析:4624、4625等关键事件ID的实战应用

LogonTracer核心功能深度解析:4624、4625等关键事件ID的实战应用 【免费下载链接】LogonTracer Investigate malicious Windows logon by visualizing and analyzing Windows event log 项目地址: https://gitcode.com/gh_mirrors/lo/LogonTracer LogonTrace…...

Beyond Compare 5密钥生成终极指南:轻松解决评估模式错误

Beyond Compare 5密钥生成终极指南:轻松解决评估模式错误 【免费下载链接】BCompare_Keygen Keygen for BCompare 5 项目地址: https://gitcode.com/gh_mirrors/bc/BCompare_Keygen 你是否曾遇到Beyond Compare 5弹出"评估模式错误"的困扰&#xf…...

Netty实战:从零搭建一个高性能聊天室(附完整源码)

Netty实战:从零构建高性能聊天室的架构设计与实现 引言:为什么选择Netty构建实时通讯系统? 当我们需要开发一个支持高并发的实时聊天应用时,传统IO模型往往会遇到性能瓶颈。我曾参与过一个在线教育平台的即时通讯模块开发&#xf…...

TL494电源芯片避坑指南:常见设计误区与调试技巧

TL494电源芯片避坑指南:常见设计误区与调试技巧 在电源设计领域,TL494作为一款经典PWM控制芯片,凭借其稳定性和灵活性赢得了工程师的青睐。但就像任何工具一样,只有真正理解它的特性才能发挥最大价值。本文将带您深入TL494的设计细…...

如何让你的论文表达直接提升一个等级

在科研写作的道路上,许多科研人员常陷入一种难以言说的困境:明明实验数据详实,研究过程严谨,但落笔成文后,语言却显得平淡无力。文章往往停留在“描述事实”的层面,仅仅机械地陈述“做了什么”和“发现了什…...

MetaTube插件:智能元数据整合引擎的技术架构深度解析

MetaTube插件:智能元数据整合引擎的技术架构深度解析 【免费下载链接】jellyfin-plugin-metatube MetaTube Plugin for Jellyfin/Emby 项目地址: https://gitcode.com/gh_mirrors/je/jellyfin-plugin-metatube 在Jellyfin/Emby媒体服务器生态系统中&#xff…...

Pixel Aurora Engine效果展示:青蓝+明黄配色系像素画作视觉冲击力解析

Pixel Aurora Engine效果展示:青蓝明黄配色系像素画作视觉冲击力解析 1. 视觉震撼力解析 Pixel Aurora Engine通过精心设计的青蓝明黄配色方案,创造出极具视觉冲击力的像素艺术作品。这种色彩组合源自经典16位游戏的美学理念,但通过现代AI技…...

2026实测不踩坑!6款成品PPT网站客观测评

2026实测不踩坑!6款成品PPT网站客观测评作为常年深耕AI工具测评的博主,日常需应对各类PPT创作需求,也经常收到粉丝咨询相关工具选择。经过实测多款成品PPT网站后,整理出6款适配性较强的平台,涵盖不同需求场景&#xff…...