以下信息来自网摘,整理学习下
安全中的非对称密钥主要有两个用途:
1.加密防止监听攻击:数据发送者的使用数据接收者的公钥对发送给目的的数据进行加密,接收者使用自己的私钥进行解密,由于私钥永远不会在对等体之间共享,保证了只有目的端能够对源发送的加密数据进行解密;
2.设备之间的验证:源使用自己的私钥对自己的身份信息进行加密生成签名,把为加密的身份信息和签名一同发送给目的,目的使用源的公钥对预源生成的签名进行解密,然后将解密的数据和源发送过来的未加密身份信息进行比较,如果相同通过身份验证,由于只有最初的源拥有私钥,即使其他人获取到明文的身份信息,由于缺少源的私钥也就无法生成相应的数字签名,导致适用源公钥解密的身份信息和明文不匹配,验证失败。
--------------------------------------------------------------------------------------------------
较为形象的举例说明(想起以前电子商务课老师也举过类似的例子,当时没有仔细听,现在补习下)
1. 公钥加密
假设一下,我找两个数字,一个是1,一个是2,将2保留起来作为私钥(只有我知道),然后告诉大家,1是我的公钥。
我有一个文件,不能让别人看,所以就用1加密。当别人找到这个文件,但是他不知道2就是解密的私钥,所以他无法获得该文件的解密内容,我却可以使用2(私钥)来解密,从而达到一定的保护数据
我的一好友X用我的公钥1加密字符a,加密后变成字符b,如果其他人获得这个文件,但是这个人不知道2是我的私钥,从而无法进行解密,而我可以用2进行解密,这样我与X之间就能传送加密的数据
2. 私钥签名
如果我用私钥加密一段数据(只有我知道2是我的私钥),结果所有人(针对我已公布公钥为1的人,并非是任何人)看到这份内容,因为他们知道我提供的公钥是1,这种的加密有什么用处?
我的好友X说有人冒充我给他发信,如何对身份验证?我把我要发的信息,内容是c,用我的私钥2加密,加密后的内容是d,发给X,再告诉他解密看看是不是c,他用的的公钥1解密,发现是c。这个时候,他如果能够使用我的公钥解密数据,必然是用我的私钥加密处理过的,而只有我知道私钥,因为他可以确认该信息是我发的。这样我们就确认发送方的身份,这个过程叫做数字签名,用私钥来加密数据,用途是数字签名。
分享到:
相关推荐
1.版本:matlab2014/2019a/2024a 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。
铅酸电池失效仿真comsol
Java小程序项目源码,该项目包含完整的前后端代码、数据库脚本和相关工具,简单部署即可运行。功能完善、界面美观、操作简单,具有很高的实际应用价值,非常适合作为Java毕业设计或Java课程设计使用。 所有项目均经过严格调试,确保可运行!下载后即可快速部署和使用。 1 适用场景: 毕业设计 期末大作业 课程设计 2 项目特点: 代码完整:详细代码注释,适合新手学习和使用 功能强大:涵盖常见的核心功能,满足大部分课程设计需求 部署简单:有基础的人,只需按照教程操作,轻松完成本地或服务器部署 高质量代码:经过严格测试,确保无错误,稳定运行 3 技术栈和工具 前端:小程序 后端框架:SSM/SpringBoot 开发环境:IntelliJ IDEA 数据库:MySQL(建议使用 5.7 版本,更稳定) 数据库可视化工具:Navicat 部署环境:Tomcat(推荐 7.x 或 8.x 版本),Maven
Java小程序项目源码,该项目包含完整的前后端代码、数据库脚本和相关工具,简单部署即可运行。功能完善、界面美观、操作简单,具有很高的实际应用价值,非常适合作为Java毕业设计或Java课程设计使用。 所有项目均经过严格调试,确保可运行!下载后即可快速部署和使用。 1 适用场景: 毕业设计 期末大作业 课程设计 2 项目特点: 代码完整:详细代码注释,适合新手学习和使用 功能强大:涵盖常见的核心功能,满足大部分课程设计需求 部署简单:有基础的人,只需按照教程操作,轻松完成本地或服务器部署 高质量代码:经过严格测试,确保无错误,稳定运行 3 技术栈和工具 前端:小程序 后端框架:SSM/SpringBoot 开发环境:IntelliJ IDEA 数据库:MySQL(建议使用 5.7 版本,更稳定) 数据库可视化工具:Navicat 部署环境:Tomcat(推荐 7.x 或 8.x 版本),Maven
springboot124中药实验管理系统设计与实现,含有完整的源码和报告文档
解除劳动合同协议书
快速过滤图像融合Matlab代码.rar
强调图像中内核形状(例如直线)的过滤器Matlab代码.rar
在内网linux服务器安装redis 在Linux环境中离线安装Redis是常见的需求,尤其是在内网服务器上,由于无法直接访问公网,我们需要提前下载Redis的源码包并手动安装。下面将详细解释如何进行这一过程。
1.版本:matlab2014/2019a/2024a 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。
微信小程序StartKitw_xapp-startkit
座位选择微信小程序版本
机械臂代码_Mechanical_arm
图像分割测试视频river-light.mp4
前端分析-2023071100789
labview源码参考示例,可供参考学习使用
MPC跟踪轨迹圆形(以后轴为基准)
MATLAB代码:基于主从博弈的智能小区代理商定价策略及电动汽车充电管理 关键词:电动汽车 主从博弈 动态定价 智能小区 充放电优化 参考文档:《基于主从博弈的智能小区代理商定价策略及电动汽车充电管理》基本复现 仿真平台:MATLAB+CPLEX gurobi平台 优势:代码具有一定的深度和创新性,注释清晰,非烂大街的代码,非常精品 主要内容:代码主要做的是一个电动汽车充电管理和智能小区代理商动态定价的问题,将代理商和车主各自追求利益最大化建模为主从博弈,上层以代理商的充电电价作为优化变量,下层以电动汽车的充电策略作为优化变量,通过优化得出最优电价策略以及动态充电策略,代码出图效果非常好,店主已经对代码进行了深入的加工和处理,出图效果非常好,代码质量非常高,保姆级的注释以及人性化的模块子程序,所有数据均有可靠来源,联系后会直接发您资料,保证您学得会,用的起来,简直是萌新福利
springboot154基于Spring Boot智能无人仓库管理,含有完整的源码和报告文档
Matlab领域上传的视频是由对应的完整代码运行得来的,完整代码皆可运行,亲测可用,适合小白; 1、从视频里可见完整代码的内容 主函数:main.m; 调用函数:其他m文件;无需运行 运行结果效果图; 2、代码运行版本 Matlab 2019b;若运行有误,根据提示修改;若不会,私信博主; 3、运行操作步骤 步骤一:将所有文件放到Matlab的当前文件夹中; 步骤二:双击打开main.m文件; 步骤三:点击运行,等程序运行完得到结果; 4、仿真咨询 如需其他服务,可私信博主; 4.1 博客或资源的完整代码提供 4.2 期刊或参考文献复现 4.3 Matlab程序定制 4.4 科研合作