当前位置: 首页 > 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”)会发生什么?&…...

华为云AI开发平台ModelArts

华为云ModelArts:重塑AI开发流程的“智能引擎”与“创新加速器”! 在人工智能浪潮席卷全球的2025年,企业拥抱AI的意愿空前高涨,但技术门槛高、流程复杂、资源投入巨大的现实,却让许多创新构想止步于实验室。数据科学家…...

shell脚本--常见案例

1、自动备份文件或目录 2、批量重命名文件 3、查找并删除指定名称的文件: 4、批量删除文件 5、查找并替换文件内容 6、批量创建文件 7、创建文件夹并移动文件 8、在文件夹中查找文件...

Qt Widget类解析与代码注释

#include "widget.h" #include "ui_widget.h"Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget) {ui->setupUi(this); }Widget::~Widget() {delete ui; }//解释这串代码,写上注释 当然可以!这段代码是 Qt …...

智能在线客服平台:数字化时代企业连接用户的 AI 中枢

随着互联网技术的飞速发展,消费者期望能够随时随地与企业进行交流。在线客服平台作为连接企业与客户的重要桥梁,不仅优化了客户体验,还提升了企业的服务效率和市场竞争力。本文将探讨在线客服平台的重要性、技术进展、实际应用,并…...

macOS多出来了:Google云端硬盘、YouTube、表格、幻灯片、Gmail、Google文档等应用

文章目录 问题现象问题原因解决办法 问题现象 macOS启动台(Launchpad)多出来了:Google云端硬盘、YouTube、表格、幻灯片、Gmail、Google文档等应用。 问题原因 很明显,都是Google家的办公全家桶。这些应用并不是通过独立安装的…...

【算法训练营Day07】字符串part1

文章目录 反转字符串反转字符串II替换数字 反转字符串 题目链接&#xff1a;344. 反转字符串 双指针法&#xff0c;两个指针的元素直接调转即可 class Solution {public void reverseString(char[] s) {int head 0;int end s.length - 1;while(head < end) {char temp …...

spring:实例工厂方法获取bean

spring处理使用静态工厂方法获取bean实例&#xff0c;也可以通过实例工厂方法获取bean实例。 实例工厂方法步骤如下&#xff1a; 定义实例工厂类&#xff08;Java代码&#xff09;&#xff0c;定义实例工厂&#xff08;xml&#xff09;&#xff0c;定义调用实例工厂&#xff…...

C++.OpenGL (10/64)基础光照(Basic Lighting)

基础光照(Basic Lighting) 冯氏光照模型(Phong Lighting Model) #mermaid-svg-GLdskXwWINxNGHso {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-GLdskXwWINxNGHso .error-icon{fill:#552222;}#mermaid-svg-GLd…...

BCS 2025|百度副总裁陈洋:智能体在安全领域的应用实践

6月5日&#xff0c;2025全球数字经济大会数字安全主论坛暨北京网络安全大会在国家会议中心隆重开幕。百度副总裁陈洋受邀出席&#xff0c;并作《智能体在安全领域的应用实践》主题演讲&#xff0c;分享了在智能体在安全领域的突破性实践。他指出&#xff0c;百度通过将安全能力…...

【python异步多线程】异步多线程爬虫代码示例

claude生成的python多线程、异步代码示例&#xff0c;模拟20个网页的爬取&#xff0c;每个网页假设要0.5-2秒完成。 代码 Python多线程爬虫教程 核心概念 多线程&#xff1a;允许程序同时执行多个任务&#xff0c;提高IO密集型任务&#xff08;如网络请求&#xff09;的效率…...