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

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

  • 加解密说明
    • 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.会话密钥是对称密码的密钥,同时也是公钥的明文

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

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

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

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

混合密码解密过程

在这里插入图片描述

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

必须经过这三步

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

30.Python从入门到精通—Python3 命名空间和作用域 命名空间 作用域

30.从入门到精通:Python3 命名空间和作用域 命名空间 作用域 Python3 标准库概览 操作系统接口 文件通配符 命令行参数 错误输出重定向和程序终止 字符串正则匹配 访问 互联网 日期和 个人简介Python3 命名空间和作用域命名空间作用域 Python3 标准库概览操作系统接…

【OpenGL】使用 python + Qt + OpenGL 的现代渲染

伴随资源 目录 一、说明二、 关于PyQt6.x2.1 QOpenGLWidget详细说明2.2 绘画技巧 三、PyOpenGL四、OpenGL 管线五、Python集成开发环境5.1 Emacs配置5.2 pycharm环境 六、你好,OpenGL!七、QGL控件八、平截头体.svg九、定义几何9.1 立即模式与保留模式9…

消息队列的七种经典应用场景

在笔者心中,消息队列,缓存,分库分表是高并发解决方案三剑客。 在职业生涯中,笔者曾经使用过 ActiveMQ 、RabbitMQ 、Kafka 、RocketMQ 这些知名的消息队列 。 这篇文章,笔者结合自己的真实经历,和大家分享…

SEH异常之编译器原理探究(1)

_try_except原理 调用_except_handle3这个异常处理函数,这里并不是每个编译器的异常处理函数都是相同的,然后存入结构体,将esp的值赋给fs:[0],再就是提升堆栈的操作 每个使用 _try _except的函数,不管其内部嵌套或反复…

大模型预测,下一个token何必是文字?

太快了太快了… 大模型的生成技能,已经到了普通人看不懂的境界! 它可以根据用户过去5年的体检报告,生成未来第1年、第2年、第3年的体检报告。 你看,这个生成的过程,是不是像极了ChatGPT,根据历史单词预测…

vue-v-for遍历index与id

一.遍历列表key的作用(index作为key) 虚拟DOM上有key,是虚拟的,但是真实DOM上没有,key是Vue内部的 当使用index作为key的时候,Vue会根据初识数据生成一个初始的虚DOM, 然后在页面上映射出真实DOM 如果向数据…

Webpack生成企业站静态页面 - 项目搭建

现在Web前端流行的三大框架有Angular、React、Vue,很多项目经过这几年的洗礼,已经都 转型使用这三大框架进行开发,那为什么还要写纯静态页面呢?比如Vue中除了SPA单页面开发,也可以使用nuxt.js实现SSR服务端渲染&#x…

CrossOver2024最新免费版虚拟机软件 Mac和Linux系统上运行Windows 应用/游戏 CrossOver是什么软件

CrossOver是一款由CodeWeavers公司开发的,运行在Mac和Linux操作系统下,能够模拟Windows系统应用运行环境的软件。它不需要用户单独安装Windows操作系统,就能让Windows平台上的应用程序在Mac和Linux上顺畅运行。CrossOver在技术上使用了Wine&a…

module ‘numpy‘ has no attribute ‘int‘

在 NumPy 中,如果遇到了错误提示 "module numpy has no attribute int",这通常意味着正在尝试以错误的方式使用 NumPy 的整数类型。从 NumPy 1.20 版本开始,numpy.int 已经不再是一个有效的属性,因为 NumPy 不再推荐使用…

五、基于KubeAdm搭建多节点K8S集群

如需查阅上一步骤,请点击下面链接:四、戴尔R630本地服务器Linux Centos7.9系统安装docker-ce-20.10.10-3.el7版本-CSDN博客文章浏览阅读727次,点赞12次,收藏13次。1、准备工作3、Linux Centos7.9系统的iDRAC远程管理、网络设置、SecureCRT远程登录终端、企业级静态ip地址配…

20240329-科技咨询:比亚迪第五代DMi;央视AI《周处除三害》;带屏幕苹果耳机爆火

一、比亚迪5月份即将推出第五代DMi技术 近日,比亚迪举行了2023年财报投资人沟通会。会议纪要显示,比亚迪董事长王传福在会上透露,今年5月将推出第五代DMI混动技术,预计馈电油耗将降至2.9升/百公里,而满油满电续航将达…

第十四届蓝桥杯省赛C++ C组所有题目以及题解(C++)【编程题均通过100%测试数据】

第一题《求和》【简单模拟】 【问题描述】 求1(含)至20230408(含)中每个数的和。 【答案提交】 这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一个整数,在提交答案时只填写这个整数&…

“地干天知”干旱监测与预警技术研讨及系统产品发布

3月28日,由国家气候中心气象灾害风险管理室、北京慧天卓特科技有限公司主办的“地干天知”干旱监测与预警技术研讨及系统产品发布活动在北京市海淀区中关村壹号隆重举办。活动旨在面向公众讲解干旱监测与预警技术原理,展示监测范围和预警能力。来自国家气…

protobuf学习笔记(二):结合grpc生成客户端和服务端

上一篇文章大概讲了如何将自定义的protobuf类型的message转换成相应的go文件,这次就结合grpc写一个比较认真的客户端和服务器端例子 一、项目结构 client存放rpc服务的客户端文件 server存放rpc服务的服务端文件 protobuf存放自定义的proto文件 grpc存放生成的g…

【LeetCode: 面试题 16.05. 阶乘尾数 + 阶乘】

🚀 算法题 🚀 🌲 算法刷题专栏 | 面试必备算法 | 面试高频算法 🍀 🌲 越难的东西,越要努力坚持,因为它具有很高的价值,算法就是这样✨ 🌲 作者简介:硕风和炜,…

ThreadPool-线程池使用及原理

1. 线程池使用方式 示例代码: // 一池N线程 Executors.newFixedThreadPool(int) // 一个任务一个任务执行,一池一线程 Executors.newSingleThreadExecutorO // 线程池根据需求创建线程,可扩容,遇强则强 Executors.newCachedThre…

谷歌seo站内优化需要做什么?

说一个比较重要的点,那就是页面的标签优化,网站的title标签跟Descriptions标签的重要性不言而喻,但其他页面的标签也是同样重要,毕竟客户看见在谷歌搜索引擎里看见的就是你的页面标题以及描述 所以页面的标题以及描述是很重要的&a…

电机试验平台的结构

电机试验平台的结构通常包括以下部分: 1.电机:试验平台主要是为了对电机进行各种试验,因此电机是平台的核心组成部分。电机通常由定子和转子组成,根据试验需要可以是直流电机、交流电机或者是特殊类型的电机。 2.控制系统&#…

一次性了解C语言中文件和文件操作

P. S.:以下代码均在VS2019环境下测试,不代表所有编译器均可通过。 P. S.:测试代码均未展示头文件stdio.h的声明,使用时请自行添加。 文件及文件操作 前言1. 文件分类1.1 文本文件1.2 二进制文件1.3 文本文件和二进制文件的区别 2…

Linux:程序地址空间详解

目录 一、堆、栈、环境参数所在位置 二、进程地址空间底层实现原理 ​编辑 三、什么是地址空间 四、为什么要有进程地址空间 五、细谈写实拷贝的实现及意义 在C/C学习中,都学习过如上图所示的一套存储结构,我们大致知道一般存储空间分为堆区&#…