密码学基础-对称密码/公钥密码/混合密码系统 详解

news2024/11/30 7:39:35

密码学基础-对称密码/公钥密码

  • 加解密说明
    • 1.加密解密必要因素
    • 加密安全性说明
  • 什么是对称密码
    • 图示说明
    • 对称密码详解
      • 什么是DES?
        • 举例说明
      • 什么是3DES
      • 什么是AES?
    • 公钥密码
      • 什么是RSA?
    • 对称密钥和公钥密码优缺点对比
      • 对称密码
        • 对称密码算法总结
        • 对称密码存在的问题?
      • 公钥密码
        • 公钥密码存在的问题:
    • 混合密码系统
      • 混合密码加密过程
      • 混合密码解密过程

加解密说明

1.加密解密必要因素

1)一个加密/解密的过程,必须包含以下基本因素:

  • 明文文件+加密算法+加密密钥=密文文件
  • 密文文件+加密算法的逆运算+加密密钥=明文文件

2)依据密钥的使用方法,可以将密码分为两种:

  • 对称密码:相同的密钥加解密,别称‘共享密钥密码
  • 公钥密码:不同的密钥加解密,别称‘非对称密码’
  • 混合密码系统,就是将这两种算法的优点提取出来,形成的一个密码算法。

说明:不管对称密码,还是公钥密钥,这两种算法都存在自己的优缺点,

加密安全性说明

1.完整性
为了确保数据包在传输过程中没有被恶意修改,可通过单向散列函数机制来实现完整性检查。
2.认证
基于消息认证码,能够实现认证 认数据包为真实的对等体设备所发送的数据包
3.数字签名
防止抵赖,通过签名证实确实是该设备发送的数据包

什么是对称密码

图示说明

对称密钥即使用相同的密钥进行加密和解密

在这里插入图片描述

对称密码详解

需要掌握的“对称密码’有以下几种

  • DES
  • 3DES
  • AES

什么是DES?

1.DES是数据加密标准,IBM开发于1975年
2.将数据包划分为等长的64比特,从而进行加密的对称密码算法
1)块大小为64比特
2)密钥长度为64比特,实际长度为56比特,8位为校验位(奇偶校验位,用来校验密钥完整性的)
3.DES由于密钥长度原因已不再安全,因为密码长度太短,通过遍历就可以试出密码,以下是之前的一些破解的案例:
1)在1997年,96天破解密钥 明文
2)在1998年,41天破解密钥(98年第一次) 128比
3)在1998年,56小时破解密钥(98年第二次) 特
4)在1999年,22小时破解密钥
那么现在的话,破解是分钟级别的
4.DES仅作为系统学习的知识点,不再使用该算法进行加解密

在这里插入图片描述

举例说明

如图所示,假如一个数据包是128比特,那么DES加密时,会将数据包划分为等长的64比特进行加密,密钥长度为64比特,实际长度为56比特,8位为校验位,最后得到密文128比特

什么是3DES

1.基于DES密钥长度导致的安全问题,IBM在1999年创建了3DES
2.3DES密钥长度放大3倍,为 168bit (56*3)
3.说明
1)当3DES中加解密密钥全部相同,则3DES=DES,3DES兼容DES
-密钥长度为64比特,实际密钥长度为56比特
2)当3DES中有两把密钥不同,3DES=DES-EDE2
-密钥长度为128比特,实际密钥长度为112比特
3) 只有3DES中三把密钥全部不同时,3DES=3DES
4.3DES由于处理速度不高,较少用于新的用途

在这里插入图片描述
如图所示,3DES会做三个加密,每一次的密钥都不一样:加密、解密、加密,分别使用不同密钥,但是效率不高

什么是AES?

1.高级加密标准。NIST于2002年研发
2.将数据包划分为等长的128比特,从而进行加密的对称密码算法

  • 1)块大小为128比特
  • 2)密钥长度有三种:128、192、256比特

3.AES安全,快速,是现在主流的密码算法

说明:
密钥长度有三种:128、192、256比特,密钥长度越长,安全性越强,资源浪费越多

公钥密码

1.不同的密钥进行加密和解密
1)私钥
2)公钥
2.使用公钥/私钥加密,就必须使用私钥/公钥解密
3.需要掌握的“公钥密码’有以下几种:
1)DH
2) RSA

在这里插入图片描述
如图所示:

公钥密钥:会产生一对密钥

  • 使用公钥加密,谁都可以拿到
  • 私钥解密,保留在本地
    用公钥加密数据包,只能用私钥解密

什么是RSA?

1.公共密钥加密系统,1979年由Rivest,Shamir,Adelman三人开发
2.支持密钥长度为1024、2048位甚至更长
3.如图,解释了为何RSA被称为“公共密钥加密系统”

在这里插入图片描述

对称密钥和公钥密码优缺点对比

对称密码

对称密码算法总结
  • 优点:加解密速度极快
  • 缺点:需要解决密钥共享问题!
对称密码存在的问题?
  • 1.我们如何安全的将密钥传递给对方?
  • 2.如果有绝对安全的传递方法,还需要加密吗?如果有绝对安全的方法,那使用安全的方法加密数据是不是就可以了,也不需要对称密码了。。。。

在这里插入图片描述

公钥密码

  • 优点:解决了密钥共享的问题
  • 缺点:处理速度远低于对称密码,这意味着公钥密码对大型文件的处理效率较低
公钥密码存在的问题:
  • 如何证明你的“公钥”就是你的‘公钥’?(中间人攻击)

混合密码系统

在这里插入图片描述

混合密码加密过程

1.如图,为混合密码系统加密过程
2.中间的虚线将方框分成左右两个部分:
1)右边使用对称密码加密明文信息
2)左边使用接收者公钥加密会话密钥
会话密钥由伪随机数临时产生,用于加密对称密码
3)最后组合,就成了输出的密文
3.会话密钥是对称密码的密钥,同时也是公钥的明文

在这里插入图片描述
说明:

明文->使用对称密码加密
会话密钥->加密对称密码
接收者公钥->加密会话密钥

最终得到了三部分的加密包,发给接收者

其中会话密钥是使用伪随机函数产生了,这样每一次会话都会产生一个随机数,避免被破解

混合密码解密过程

在这里插入图片描述

解密过程:
使用接收者的私钥,先接触会话密钥,
再使用会话密钥解出对称密码,
根据对称密码最终解出明文

必须经过这三步

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1555871.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

真实工作中的编程,与在校coder有哪些不同?

工作中的编程和学校里最大的不同在于:在完整的流程规范下,同事间协同开发,按时按量交付,并不断测试迭代优化,最终能稳定的用于生产。 有人说这是软件开发,并不是编程啊。对这就是工作编程和学校编程的差异…

pdf在浏览器上无法正常加载的问题

一、背景 觉得很有意思给大家分享一下。事情是这样的,开发给我反馈说,线上环境接口请求展示pdf异常,此时碰巧我前不久正好在ingress前加了一层nginx,恰逢此时内心五谷杂陈,思路第一时间便放在了改动项。捣鼓了好久无果…

字符集 --java学习笔记

字符集 为了将字符存进计算机,所以有了字符集 标准ASCI字符集 ASCl(American standard Code for Information Interchange):美国信息交换标准代码,包括了英文、符号等标准ASCI使用1个字节存储一个字符,首尾是0,总共可表示128个…

Typora结合PicGo + Github搭建个人图床

目录 一 、GitHub仓库设置 1、新建仓库 2、创建Token 并复制保存 二、PicGo客户端配置 1、下载 & 安装 2、配置图床 三、Typora配置 一 、GitHub仓库设置 1、新建仓库 点击主页右上角的 号创建 New repository 填写仓库信息 2、创建Token 并复制保存 点击右上角…

二、Java语法基础

1、Java语言的关键字、标识符及命名规范 1)java关键字 2)标识符 3)JAVA中的命名规范 包名的命名规范:域名.公司名称.项目名称.模块名称 类的命名规范:首字母大写,第二个单词的首字母大写,以此类推。 2、进制间的转换(二进制、十进制) 1)十进制->二进制 采用…

深入探讨Docker in Docker:原理与实战指南

在软件开发和部署中,容器化技术已经成为一个不可或缺的工具。而在使用Docker进行容器化时,有时可能会遇到需要在一个Docker容器中运行另一个Docker容器的情况,这就是所谓的"Docker in Docker"(简称DinD)。本…

新能源充电桩站场视频汇聚系统建设方案及技术特点分析

随着新能源汽车的普及,充电桩作为新能源汽车的基础设施,其安全性和可靠性越来越受到人们的关注。为了更好地保障充电桩的安全运行与站场管理,TSINGSEE青犀&触角云推出了一套新能源汽车充电桩视频汇聚管理与视频监控方案。 方案采用高清摄…

先进电气技术 —— 储能系统技术原理是什么?有哪些技术发展点?

一、储能系统基本原理 储能系统是一种能够存储电能并在需要时释放电能的技术装置。在电力系统、可再生能源利用、电力供需调节等领域,储能系统扮演着至关重要的角色。其工作原理主要包括以下几个步骤: 1. **充电阶段**: - 当电力供应充足…

通义千问7B大模型微调

阿里云机器学习试用 登录阿里云,搜索PAI和NAS申请试用即可,都是三个月 工作空间创建好了之后再来创建实例,所谓的实例也即我们运行的云服务器的节点。由于云服务器通常基于虚拟化容器部署,所以会被称为实例,简单…

黑马程序员 Java 入门 笔记

一、基础概念 注释和关键字字面量:告诉程序员数据在程序中书写格式 分类:整数、小数、字符、字符串、布尔、空 特殊字面量:制表符 ‘\t’ 空null(加" "才能输出) 变量 加减法数据存储 数据类型 基本数据类型 整数浮点数字符布尔…

硬件17、PCB在机械层确定板子大小和形状以及后续拓宽板子

确定板子的形状和大小 (1)在机械层用线画出板子的形状和大小,然后全选中线,然后设计-》板子形状-》按照选择对象定义 这就是确定板子的原点 板子的形状大小规划一定是在机械层 在机械层使用直线画出想要的板子形状 设置这段线为2cm,也就…

如何在极狐GitLab 配置 邮件功能

本文作者:徐晓伟 GitLab 是一个全球知名的一体化 DevOps 平台,很多人都通过私有化部署 GitLab 来进行源代码托管。极狐GitLab 是 GitLab 在中国的发行版,专门为中国程序员服务。可以一键式部署极狐GitLab。 本文主要讲述了在极狐GitLab 用户…

redis集群配置(精华版):主从复制模式

主从复制模式 概念:作用:为什么使用集群:动手实操1、环境准备2、配置redis.conf配置文件3、再次查看主从节点信息4、验证主从模式 概念: ​ 主从复制,是指将一台Redis服务器的数据,复制到其他的Redis服务器…

Java基础语法(三)| 循环语句

前言 Hello,大家好!很开心与你们在这里相遇,我是一个喜欢文字、喜欢有趣的灵魂、喜欢探索一切有趣事物的女孩,想与你们共同学习、探索关于IT的相关知识,希望我们可以一路陪伴~ 1. if语句 1.1 格式一 if (关系表达式) …

Halcon3D表面平面度检测-平面差值法

//倾斜平面矫正 https://blog.csdn.net/m0_51559565/article/details/137146179 //平面度和平面缺陷检测,平面矫正法 https://blog.csdn.net/m0_51559565/article/details/137163729前言 通常我们对表面平面度进行检测时,通常使用2种方式。1&#xff1a…

【目录整理】(五)

​​​​​Git 基础 Git 详细安装教程文章浏览阅读10w次,点赞9.6k次,收藏1.7w次。Git 是个免费的开源分布式版本控制系统,下载地址为git-scm.com 或者 gitforwindows.org,本文介绍 Git-2.40.0-64-bit.exe 版本的安装方法&#x…

Linux网络配置(超详细)

Linux网络配置大全 Linux网络配置一.网络地址配置网络地址查看–ifconfig使用网络配置命令设置网络接口参数-ifconfig禁用(临时)或者重新激活网卡设置虚拟网络接口 修改网络配置文件网络接口配置文件 IP命令详解OPTIONS选项OBJECT对象 ip link 二、获取和修改主机名hostname查看…

如何在OceanBase的OCP多节点上获取日志

背景 在使用OceanBase的OCP的过程中,因各种因素,我们可能需要对当前页面进行跟踪。在单一ocp节点环境下,我们自然可以直接在该节点上查找所需的日志。然而,当我们的环境中部署了多个ocp节点时,在排查问题时就会变得相…

QA:绑定ROS机器人控制板PCB设备ID

前言 一般情况下,主控板(树莓派、Jetson等)会同时和多个串口进行通信,这时,我们希望,用一个固定名称代表特定串口,比如用serial_motor_drive绑定电机驱动控制板,使ROS2的配置、编程和运行更加方便。 下面是…

图扑数字孪生智慧城市,综合治理一屏统览

现代城市作为一个复杂系统,牵一发而动全身,城市化进程中产生新的矛盾和社会问题都会影响整个城市系统的正常运转。智慧城市是应对这些问题的策略之一。领导曾在中央城市工作会议上指出,城市工作要树立系统思维,从构成城市诸多要素…