数字证书和密钥加密的理解

2023-11-06

1.密钥

    密钥分为公钥私钥,私钥只有一把,一般归内容发布者所有,而公钥有很多吧,有内容发布者发布给内容接受者,内容接受者用公钥来解密内容发布者用私钥加密的内容。

2.密钥加密解密过程

    首先,内容发布者会对内容进行hash处理,生成内容的摘要,然后使用私钥对摘要机型加密形成数字签名,最后将内容和数字签名一同发给内容接受者。
    内容接受者收到内容和数字签名后,首先对内容也进行hash处理,获取一份摘要,然后使用公钥对数字签名进行解密,获取原始的摘要,最后比对两份摘要来判断内容在发送过程中是否又被修改。

3.风险

    会不会有这种情况存在,即内容接受者这边的公钥被人恶意替换掉,换成未知者的公钥,那么该人就可以劫持内容发布者发送的内容和数字证书,使用内容发布者同样的手段,用自己的私钥对内容的摘要进行加密后形成新的数字证书替换掉原来的数字证书,发布给内容接受者,这样的话,原来的内容就可以被随意修改并且发送而不被察觉(因为公钥也被恶意换掉了)。

4.CA的存在意义

    CA是证书中心或者证书权威的意思(Certificate Authority),他有两个特点:
1.他能保证他的私钥绝对不会泄露出去
2.他能提供公钥加密的业务,即使用自己的私钥加密别人的公钥,加密后的公钥就是CA颁发给内容发布者的数字证书
3.向所有内容接受者发布公钥(即根证书)
    而内容发布者仍然使用自己的私钥对内容摘要进行加密形成数字签名,但是发布的时候除了内容和数字签名,另外带上数字证书。
    内容接受者收到内容,数字签名和数字证书后,首先判断数字证书(即加密过的发布者公钥)是否是由CA颁发的,怎么验证?就是首先保存一份CA自己的公钥,然后使用这份公钥解密数字证书,获取到内容发布者的公钥,然后的流程就和之前一样了,解密数字签名获取摘要,然后和内容的摘要比对,判断是否内容有发生变化。
    有了CA以后,内容接受者就不需要保存每一个内容发布者的公钥了,只要保存CA的公钥,即根证书,就可以检验内容发布的时候携带的数字证书,获取发布者的公钥,从而校验数字签名。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

数字证书和密钥加密的理解 的相关文章

  • 数据集下载OTB,VOT,UAV,鸢尾花

    OTB数据集下载百度网盘链接 链接 https pan baidu com s 1snsJF 7Sw EbKtzdvLO1nw 提取码 ls23 VOT数据集下载百度网盘链接 链接 https pan baidu com s 1UiTG1z
  • 水文数据产品的网站

    主要记录在平常用到的水文数据产品的网站 包括水库 湖泊 河流等 1 hydroweb 官网 https www theia land fr en hydroweb 界面 下载后的数据是txt格式 如需转成csv 可这样批量操作 import
  • 原理图中的电阻旁边有个”NC“,什么意思?

    NC表示此处空贴 即此处不贴任何电子器件 如果安装的话 电路会有另外的功能 或许在性能上会有变化 常用于电路板贴装技术中 电路板贴装是回流焊中的一种工艺流程 回流焊也叫再流焊 是伴随微型化电子产品的出现而发展起来的焊接技术 主要应用于各类表
  • flink大数据处理流式计算详解

    flink大数据处理 文章目录 flink大数据处理 二 WebUI可视化界面 测试用 三 Flink部署 3 1 JobManager 3 2 TaskManager 3 3 并行度的调整配置 3 4 区分 TaskSolt和parall
  • 解决-画图程序无法读取-无效的位图文件

    辛苦画的图 今天一打开就看到这个 心情是呵呵的 搜了一下大概是图太大了 右击win10自带的图片 给裁剪小了就OK了
  • 危化安全生产信息化平台在煤化领域的应用

    一 背景介绍 煤化工行业是一个集煤炭 石油 化工等多种产业于一体的综合性行业 其特点是工艺流程复杂 设备繁多 安全隐患大 近年来 随着煤化工行业的快速发展 安全生产问题日益凸显 为了有效提高危化安全生产水平 某煤化工企业引入了信息化技术 搭
  • node版本管理工具nvm

    1 标题卸载nvm和node js 系统变量中删除nvm添加变量 NVM HOME和NVM SYMLINK 环境变量中 path 删除nvm自动添加的变量 Path NVM HOME NVM SYMLINK 删除自身安装node环境 参考图
  • Flutter踩坑笔记一——环境搭建的坑

    Flutter的环境搭建其实还是很简单的 当你把AndroidStudio升级安装3 5版本的时候 他已经默认为你安装了Dart和Flutter插件 可见Google对flutter的重视 所以也省了我们不少事儿 首先 打开 官方文档 获取
  • IDEA去除掉虚线,波浪线,和下划线实线的方法

    推荐一下个人的公众号 终码一生 专注于Java技术学习 开源项目分享和常见问题解决等 喜欢的小伙伴可以关注下 感谢大家的支持 初次安装使用IDEA 总是能看到导入代码后 出现很多的波浪线 下划线和虚线 这是IDEA给我们的一些提示和警告 但
  • DHCP的配置(以华为eNSP为例)

    如有错误 敬请谅解 此文章仅为本人学习笔记 仅供参考 如有冒犯 请联系作者删除 基础知识介绍 络组建步骤 1 拓扑设计 2 IP地址规划 按照拓扑中划分的 络范围 规划 络位不同的IP地址 3 配置 1 配置各个节点的IP地址 2 路由 全
  • js 调用 new ActiveXObject('WScript.Shell')报错

    当在网页中点击打印时 会报错 无法打印 解决方法如下 在浏览器中找到 Internet选项 在弹出的对话框中进行设置 Internet选项 gt 安全 gt 本地Intranet gt 自定义级别 gt ActiveX控件和插件 gt 对未
  • 碎碎念之工作②

  • 【Android Studio】Design editor is unavailable until next gradle sync.如何解决?

    Design editor is unavailable until next gradle sync 如何解决 打开一个网上开源的下载文件 在查看安卓页面布局 也就是控件布局时 会出现一个bug Design editor is unav
  • 【电机学】直流电机

    直流电机 什么是直流电机 直流电机的工作原理 直流发电机的工作原理 直流电动机的工作原理 可逆性原理 直流电机的主要结构部件 直流电机的电枢绕组 基本特点 并联支路对数 电刷的放置 一些概念 直流电机的磁场 直流电机的空载磁场 电枢电流Ia
  • 通过python程序调取摄像头画面

    目录 1 方法 2 演示代码 3 总结 1 方法 想要调取摄像头画面有这么几个前提 需要使用网络摄像头并且支持RTSP协议 摄像头要和你的电脑在同一个局域网下 需要知道摄像头的账号 密码 IP地址 RTSP协议是一种网络传输协议 不同的摄像
  • Freertos 在contexM0芯片上的移植

    1 freertos源码 官网下载地址 https www freertos org 下载LTS长期支持版本 2 在工程目录下新建FreeRTOS文件夹 将FreeRTOS 的源码添加到这个文件夹中 portable 文件夹中只需要复制 k
  • FL Studio2024水果编曲软件21.2.0中文版本下载更新

    FL Studio2024是功能强大的音乐制作解决方案 使用旨在为用户提供一个友好完整的音乐创建环境 让您能够轻松创建 管理 编辑 混合具有专业品质的音乐 一切的一切都集中在一个软件中 只要您想 只要您需要 它总能满足您的音乐需求 工具方面
  • 销售人员一定要知道的6种获取电话号码的方法

    对于销售来说 电话销售是必须要知道的销售方法 也是销售生涯中的必经之路 最开始我们并不清楚这么电话是从哪里来的 也不清楚是通过哪些方法渠道获取 那么今天就来分享给各位销售人员获取客户电话号码的方法 1 打印自己的名片 在工作当中少不了接触其
  • CSDN找到“仅我可见”内容

    有时候自己做一些笔记参考了他人的内容 所以想将文章转为 仅自己可见 仅作自用 记录一下CSDN找私密文章的方式 今天摸了好一会儿才找到哈哈哈 1 点击导航栏处的创作中心进入 2 查看更多 3 点击浏览就可以查看啦 来源 CSDN找到 仅我可
  • 在win10和Linux上配置SSH 无密码登录

    文章目录 一 用途 二 在本地机器上使用ssh keygen产生公钥私钥对 1 在Linux 或macOS 上产生SSH公私钥的方法 2 在win10上产生SSH公私钥的方法 a 检查windows 本地是否安装有ssh b 在本地生成SS

随机推荐

  • Python解释器与Python编辑器的详细下载与安装过程

    在编写Python代码之前 你还有两件事情必须要做 第一件事情就是安装Python解释器 因为机器是没办法直接读懂我们编写的Python代码的 而是需要一个解释器作为中间的翻译 把代码转换为字节码后执行 Python的运行过程就是翻译一行执
  • opencv—python录制视频、保存视频

    使用opencv python录制视频 直接上源码 import numpy as np import cv2 cap cv2 VideoCapture 0 fourcc cv2 VideoWriter fourcc XVID out cv
  • 数据分析及可视化——京东上销量最高的鞋子

    个人简介 作者简介 大家好 我是W chuanqi 一个编程爱好者 个人主页 W chaunqi 支持我 点赞 收藏 留言 愿你我共勉 若身在泥潭 心也在泥潭 则满眼望去均是泥潭 若身在泥潭 而心系鲲鹏 则能见九万里天地 文章目录 一 数据
  • 树的数据结构与C++实现及其操作

    树的数据结构与C 实现及其操作 在计算机科学中 树是一种非常重要且常用的数据结构 它以分层的方式组织数据 并且在很多实际问题中都有广泛的应用 在本文中 我们将学习如何使用C 实现树的基本结构和操作 树的定义 树是一种由节点 node 组成的
  • 机器人用的是什么编程语言

    机器人用的是什么编程语言 家长在培养孩子的学习的时候 会给孩子选择一些能够有利于孩子成长的课程 就拿现在很多的家长想要孩子去学习机器人编程的课程来说 有的家长对于机器人用的是什么编程语言并不是很清楚 今天我们就一起来了解一下机器人用的是什么
  • 心理学的166个现象---之四

    61 霍桑效应 在美国芝加哥市郊外的霍桑工厂是一个制造电话交换机的工厂 具有较完善的娱乐设施 医疗制度和养老金制度等 但工人们仍愤愤不平 生产状况也很不理想 为探求原因 1924年11月 美国国家研究委员会组织了一个由心理学家等多方面专家参
  • 闲来没事,翻译的PyCharm Tip of Day(非专业)

    翻译链接 在有道云笔记上写的 点击可以查看应该 欢迎评论指正
  • ElasticSearch01-Linux下的ES与Kibana与ES的三大核心概念介绍

    安装 ES与Kibana 传统方式安装 下载安装包 环境备注 Linux Centos7等 安装jdk11 0 并配置环境 如果当前是jdk8 也不用卸载 因为ES的安装中以及默认有JDK版本了 进入官方下载 网址 安装ES不用使用root
  • OpenMv串口通信多次接收数据减小误差

    目录 1 串口通信概述 2 多个数据采样减小误差 3 代码实现 3 1 串口初始化 3 2 多次数据采样 3 3 数据处理 4 结果验证 1 串口通信概述 串口通信是多数嵌入式系统常用的通信方式 通过串口可以实现与其他串口设备的通信 如GP
  • 把图片用字节流方式 保存到数据库中

    如何将图片保存到SqlServer Oracle Access数据库中 首先 我们要明白图片是以二进制的形式保存在数据库中的 那么把图片保存到数据库中的步骤大体上有这几步 1 将图片转换为二进制数组 byte 2 把转换后的二进制数组 by
  • JdbcTemplate的四种批处理的用法

    JdbcTemplate批量写入方法详解 再做详解之前 我们先来了解一下JdbcTemplate批量操作的5个API接口 一 使用提供的SQL语句执行批处理 这个方法相对来说比较简单 不做详细解析 该方法主要是将提供的sql列表作为一个ba
  • KEIL 软件学习魔法棒

    Device 芯片选型 Target 晶振设置 Output 选择中间文件的生成路径 Objects 创建文件夹之后再选择 创建hex文件 Listing 创建文件夹之后再选择 USER 改变生成的 hex 文件路径 C C 宏定义 和 路
  • 由SOAP说开去 - - 谈谈WebServices、RMI、RPC、SOA、REST、XML、JSON

    引子 关于SOAP其实我一直模模糊糊不太理解 这种模模糊糊的感觉表述起来是这样 在使用web服务时 功能接口 本来我就可以通过安卓中固有的http类 使用http协议 来发送http请求 并且解析返回的数据 一般是xml或者json 得到我
  • python简单代码恶搞-python—做一个恶搞程序

    python 做一个恶搞程序 very easy print You can t win this game 你不可能赢这个游戏 n int input Between 1 and 10 type a number integer 在1到1
  • xcode 命令行编译iOS原生工程

    xcode 命令行编译iOS原生工程 xcodebuild简介 xcodebuild 用于编译xcode中的projects和workspaces xcodebuild命令官方说明 https www jianshu com p 4f4d1
  • 一级指针和二级指针的区别与应用

    一级指针 就是指针 即一个指向一块内存的地址 有了这个地址 我们就可以对这块内存进行读写操作 二级指针 指针的指针 也就是指向一块内存的指针的地址 因为指针本身也有自己的存储地址 有了指针的地址 我们就可以对这个指针进行操作 比如改变它的指
  • 【数据库学习笔记】基础篇

    文章目录 MySQL概述 数据库相关概念 主流的关系型数据库管理系统 MySQL图形化界面 MySQL的下载与配置 数据模型 SQL SQL通用语法 SQL分类 DDL数据定义语言 DDL总结 DML数据操作语言 DQL数据查询语言 基本查
  • 2022.04.13 力扣55,45,122

    学习 贪心算法 follow 代码随想录 55 跳跃游戏 题目描述 给定一个非负整数数组 nums 你最初位于数组的 第一个下标 数组中的每个元素代表你在该位置可以跳跃的最大长度 判断你是否能够到达最后一个下标 解析 方法一 暴力求解 从最
  • 用万能密码诠释SQL注入

    一 web程序的三层架构 要理解sql注入的原理 那么就先要了解web程序的三层架构 即客户端 服务器和数据库服务器之间的工作机制 逻辑关系大致如下图 1 表示层 UI 在Eclipse中是jsp 主要是指与用户交互的界面 浏览器 用于接收
  • 数字证书和密钥加密的理解

    1 密钥 密钥分为公钥和私钥 私钥只有一把 一般归内容发布者所有 而公钥有很多吧 有内容发布者发布给内容接受者 内容接受者用公钥来解密内容发布者用私钥加密的内容 2 密钥加密解密过程 首先 内容发布者会对内容进行hash处理 生成内容的摘要