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

信息安全之数字信封原理

概述

一般来说对称加密算法的密钥短,加密算法简单,适用于大量数据加密的场合,在现在的技术条件下比较容易破解;相比较而言非对称加密的密钥长,加解密算法复杂,很难破解,比较耗时,不适用于加密大量数据。
但是实际应用中传输大量数据的场景是比较多的,对于对称加密来说,两方进行数据传输最难解决的就是密钥的同步问题。如果一直使用同一个密钥进行加解密,那样被攻击者找到规律很容易被破解;如果定期更换密钥,发送方和接收方就要定期进行密钥同步,一方面比较麻烦,另一方面处理不好就会出现密钥泄露的情况。
数字信封解决了对称密钥传输的问题。结合了对称加密和非对称加密,使用对称加密技术来对大量数据进行加密,使用非对称加密技术将对称密钥进行加密。

原理

本质是使用对称加密加密数据,非对称加密加密对称密钥。
数字信封将数据的传输分为两部分“信”和“信封”,对称加密的密钥信封对此密钥进行非对称加密

过程

假设在此之前B已经收到A通过密钥K加密后的密文,但没有密钥无法获得明文。
发送方A使用B的公钥将对称密钥K进行加密,形成数字信封,并将此数据信封发送给B;B接收到后使用自身私钥将信封解密获得对称密钥K,然后使用对称密钥K将之前收到的密文解密,获得明文数据。

接收方B
发送方A
非对称加密
非对称解密
传输
对称密钥K
信封
信封
对称密钥K

结束

相关文章:

  • 信息安全之信息摘要技术
  • 信息安全技术之数字签名
  • 设置Mysql C API断线自动重连
  • mysql_query()和myql_real_query()的区别
  • mysql_store_result和mysql_use_result的区别
  • linux下实时跟踪文件变化tail指令
  • 解决windeployqt打包QML程序无法启动的问题
  • windows下如何找到占用文件或文件夹的程序
  • 正则表达式的零宽断言
  • 如何在Qt中使用zlib
  • 如何在程序中解析获取word文档(docx格式)的文本内容
  • QFormLayout布局该什么时候使用
  • Qt判断文件类型 QMimeType
  • 在qmake中定义子项目的编译顺序(依赖关系)
  • lua面向对象-----继承的实现
  • [PHP内核探索]PHP中的哈希表
  • 【译】React性能工程(下) -- 深入研究React性能调试
  • 2018以太坊智能合约编程语言solidity的最佳IDEs
  • Create React App 使用
  • django开发-定时任务的使用
  • es6(二):字符串的扩展
  • javascript从右向左截取指定位数字符的3种方法
  • jdbc就是这么简单
  • PAT A1092
  • React 快速上手 - 06 容器组件、展示组件、操作组件
  • scrapy学习之路4(itemloder的使用)
  • Spark RDD学习: aggregate函数
  • 分布式熔断降级平台aegis
  • 工作踩坑系列——https访问遇到“已阻止载入混合活动内容”
  • 深入体验bash on windows,在windows上搭建原生的linux开发环境,酷!
  • 算法-图和图算法
  • 微服务入门【系列视频课程】
  • ​虚拟化系列介绍(十)
  • # Python csv、xlsx、json、二进制(MP3) 文件读写基本使用
  • #mysql 8.0 踩坑日记
  • #使用清华镜像源 安装/更新 指定版本tensorflow
  • %@ page import=%的用法
  • %3cscript放入php,跟bWAPP学WEB安全(PHP代码)--XSS跨站脚本攻击
  • (c语言版)滑动窗口 给定一个字符串,只包含字母和数字,按要求找出字符串中的最长(连续)子串的长度
  • (安全基本功)磁盘MBR,分区表,活动分区,引导扇区。。。详解与区别
  • (二十五)admin-boot项目之集成消息队列Rabbitmq
  • (三十五)大数据实战——Superset可视化平台搭建
  • (十) 初识 Docker file
  • (使用vite搭建vue3项目(vite + vue3 + vue router + pinia + element plus))
  • (译) 理解 Elixir 中的宏 Macro, 第四部分:深入化
  • (转)Linq学习笔记
  • (转)ORM
  • (转)利用ant在Mac 下自动化打包签名Android程序
  • *++p:p先自+,然后*p,最终为3 ++*p:先*p,即arr[0]=1,然后再++,最终为2 *p++:值为arr[0],即1,该语句执行完毕后,p指向arr[1]
  • *1 计算机基础和操作系统基础及几大协议
  • .net core 6 集成和使用 mongodb
  • .NET Core6.0 MVC+layui+SqlSugar 简单增删改查
  • .NET 使用配置文件
  • .net实现客户区延伸至至非客户区
  • /usr/lib/mysql/plugin权限_给数据库增加密码策略遇到的权限问题