数字信封原理

article/2025/9/4 22:45:32

数字信封是指发送方使用接收方的公钥来加密对称密钥后所得的数据,其目的是用来确保对称密钥传输的安全性。采用数字信封时,接收方需要使用自己的私钥才能打开数字信封得到对称密钥。

      数字信封的加/解密过程如图所示。甲也要事先获得乙的公钥,具体说明如下(对应图中的数字序号):

数字信封的加解密过程示意图

(1)甲使用对称密钥对明文进行加密,生成密文信息。

(2)甲使用乙的公钥加密对称密钥,生成数字信封。

(3)甲将数字信封和密文信息一起发送给乙。

(4)乙接收到甲的加密信息后,使用自己的私钥打开数字信封,得到对称密钥。

(5)乙使用对称密钥对密文信息进行解密,得到最初的明文。

       从以上加/解密过程中,可以看出,数字信封技术结合了对称密钥加密和公钥加密的优点,解决了对称密钥的发布安全问题,和公钥加密速度慢问题,提高了安全性、扩展性和效率等。但是,数字信封技术还是有一个比较大的问题,那就是无法确保信息是来自真正的对方。

       试想一下如果攻击者拦截甲发给乙的信息,用自己的对称密钥加密一份伪造的信息,并用乙的公钥(攻击者已获知了乙对外公开的公钥)加密攻击者自己的对称密钥,生成数字信封;然后把伪造的加密信息,以及伪造的数字信封一起发送给乙。乙收到加密信息后,用自己的私钥可以成功解密数字信封,再利用还原出的对称密钥(这个是攻击者的对称公钥)即可还原出加密的明文信息了,这样一来乙则始终认为这份本来是攻击者伪造的信息是甲发送的信息。这样的结局可能是损失惨重,如攻击者修改了甲发给乙的投标书的标的。
--------------------- 
转:https://blog.csdn.net/lycb_gz/article/details/78058747 


http://chatgpt.dhexx.cn/article/JHqAOrwd.shtml

相关文章

PKCS7数字信封简述

1、数字信封的概念 数字信封,英文是Digital Envelope,望文生义,就可以知道将需要传递的数据,通过加密的方式包裹起来。 数字信封的准确定义,在《PKCS #7: Cryptographic Message Syntax Standard》标准的第10章中给出,原话是:“加密的内容,以及对内容解密的密钥被加密…

什么是数字信封?

一、什么是数字信封 数字信封是公钥密码体制在实际中的一个应用,是用加密技术来保证只有规定的特定收信人才能阅读通信的内容。 在数字信封中,信息发送方采用对称密钥来加密信息内容,然后将此对称密钥用接收方的公开密钥来加密(这…

数据来源渠道及采集工具_几款简单好用的爬虫抓取数据采集工具

新朋友点上方蓝字“Office交流网”快速关注 1. 火车头采集器 火车采集器我们也一直在用,是老牌的采集工具了。它不仅可做抓取工具,也可以做数据清洗、分析、挖掘已经可视化等工作。数据源可来源于网页,网页中能看到的内容和不可看到都可以通过…

爬虫抓取新浪微博数据

工具:云采爬虫 目标:抓取某个博主的全部微博 分析网页结构: 我们抓取的思路是模拟浏览器自动访问页面抓取。 我们来看一下页面结构,首先每个微博列表,必须进行三四次的下拉加载,如果底部有个翻页的按钮…

python3 爬虫抓取股市数据

python3 爬虫抓取股市数据 爬虫抓取数据的一般步骤代码运行结果小结注意事项 爬虫抓取数据的一般步骤 1、确定需要抓取的网站2、分析url,找到url的的变化规律3、分析页面的数据4、获取页面数据5、提取需要爬取的数据6、写入数据库或写入文件代码 import requests i…

Python_爬虫数据存入数据库(超详细过程

目录 一、新建项目 二、程序的编写 三、数据的爬取 一、新建项目 1.在cmd窗口输入scrapy startproject [项目名称] 创建爬虫项目 接着创建爬虫文件,scrapy genspider [爬虫名字] [爬虫域名] 打开pycharm项目,就可以看到生成的cblog.py文件 二、程序的…

爬虫抓取分页数据的简单实现

爬虫抓取分页数据的简单实现 昨天,我们已经利用Jsoup技术实现了一个简单的爬虫,原理很简单,主要是要先分析页面,拿到条件,然后就去匹配url,采用dome解析的方式循环抓取我们需要的数据,从而即可轻…

PHP爬虫抓取网页数据

2019年我接触到PHP爬虫的时候,我最开始是懵的。还有人用php来写爬虫? 一个月之后,嗯~全世界最好的语言写全世界最好的爬虫,真香!而在7月15这一个日常加班的晚上,做完手头的活,我寻思着写会儿php…

网络爬虫的基本结构是什么?如何建立网络爬虫抓取数据?

摘要:互联网上有很多丰富的信息可以被抓取并转换成有价值的数据集,然后用于不同的行业。比如企业用户利用电商平台数据进行商业分析,学校的师生利用网络数据进行科研分析等等。那么,除了一些公司提供的一些官方公开数据集之外&…

利用EXCEL进行数据爬虫

说到爬虫,相信大家出现在脑海中的一定是python。python在最近几年确实热火朝天,对于不会编程人员来说,利用好EXCEL一样也可以爬取一些简单的数据,并且方式非常简单。 1.爬取东方财富网上基金信息。网址为:基金收益排行…

利用Excel数据爬虫

1、在Excel里数据里打开自网站。 2、选择高级部分 URL部分和URL预览填写为目标(需要爬取数据的网址)的URL地址 命令超时选择1分钟即可。 HTTP请求标头参数 第一步点击网络 第二部点击消息头部 第三部找到User-Agent的value复制 3、最后点击加载 就…

爬虫抓取网络数据时经常遇到的六种问题

随着互联网时代的不断发展,爬虫采集已经成为了目前最为主流的数据获取方式。使用爬虫软件自动从网站中提取数据可以节省大量的时间和精力。接下来就一起来看看爬虫抓取网络数据时经常遇到的六种问题吧: 1.IP阻止 IP阻止是指网站所有者主动阻止用户的IP地…

Jsoup实现网络爬虫抓取数据

Jsoup实现网络爬虫抓取数据 在编写一个软件,例如关于教务软件的时候,需要获取学校官网的一些新闻信息来充实自己的软件,而又不会专门提供相关的api接口,此时就需要我们自己动手来抓取感兴趣的信息。有人会问抓取网站的信息是否会…

Java爬虫,数据采集经验分享

公司要求我采集网页中的某些数据,以下是我采集的步骤和思路,比较基础。 一.首先我是通过抓取网页源代码的方式,根据源代码,获取各种标签中的数据 public class GetData {//数据抓取核心类// 获取网页数据/** param url:目标网址…

Python爬虫抓取数据时怎么防止ip被封

大数据公司在做数据分析的时候,对目标网站频繁访问很容易触发网站的反爬机制,因此如果想要突破限制只能使用动态ip频繁切换地址模拟真实客户访问网站才能起到防封效果。比如在做数据抓取的时候报错403等限制访问,大概率是因为ip被限。本文总结…

爬虫入门——数据抓取

学习爬虫, 最初的操作便是模拟浏览器向服务器发出请求。使用一下库实现此请求 1.urllib库的使用 urllib 库是Python 内置的HTTP 请求库,包含以下四个模块: 1.request:http请求模块 2.error:异常处理模块 3.parse&#…

ts全局变量定义

参照已有全局变量定义 src/global.d.ts /** Author: hongbin* Date: 2022-10-21 08:49:42* LastEditors: hongbin* LastEditTime: 2022-10-21 09:09:08* Description:全局类型,变量,常量*/ //全局变量 declare let Hong: string; declare const BIN: s…

C++中的全局变量声明和定义

1.全局变量 全局变量在整个源文件的作用域都是有效的,只需要在一个源文件中定义全局变量,在其他不包含全局变量定义的源文件中用extern关键字再次声明这个全局变量即可。 也可以在一个源文件中定义这个全局变量,在头文件中用extern关键字再…

c语言全局变量(c语言全局变量怎么定义)

菜鸟提问:GCCE编译环境下,汇编函数如何使用C全局变量汇编化了 首先要在C程序中用extern申明该变量为全局变量,再在汇编程序中用extern "变量名"来导入,注意,汇编中如果直接使用"mov eax,变量名"表示的是将该变…

C++全局变量的声明和定义

参考: http://wrchen.blog.sohu.com/71617539.html (1)编译单元(模块) 在VC或VS上编写完代码,点击编译按钮准备生成exe文件时,编译器做了两步工作: 第一步,将每个.cpp(.c…