现代密码学-数字签名

2024-06-03 20:04

本文主要是介绍现代密码学-数字签名,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

从消息认证码到数字签名

前面讲到,消息认证码无法防止否认,A,B之间共享密钥计算出MAC,A,B都能计算出MAC,对于第三方C来说,他无法证明这个MAC是A计算的还是B计算的。

通过数字签名解决问题。

A,B各自使用不同的密钥-公钥密码,A用私钥生成一个签名,B可以用A公开的公钥进行验证。

签名的生成和验证

数字签名中的两种行为:

        生成消息签名

        验证消息签名

数字签名:将公钥密码反过来用,

私钥公钥
公钥密码接收者解密使用发送者加密使用
数字签名签名者生成签名使用验证者验证签名使用
个人持有公开

数字签名的方法

直接对消息签名

  1. A用私钥对消息进行加密
  2. A将消息和签名发给B
  3. B用A的公钥对收到的签名进行解密
  4. B将解密出来的消息和A发的消息进行对比

直接对消息签名

对消息的散列值签名

A用单向散列函数计算消息的散列值

A用自己的私钥对散列值加密

A将消息和签名发给B

B用A的公钥对收到的签名进行解密

B将解密得到的散列值和A发来的消息的散列值进行比较

对消息的散列值签名

对消息的散列值签名时序图 

使用公钥密码的私钥生成签名,主要是利用了私钥只有特定的人才持有这一特性。签名和消息是具有对应关系的,消息不同,签名内容不同。如果将一份签名提取出来放在另一个消息后面,验证签名的时候会失败。

应用实例

安全信息公告

软件下载

公钥证书

SSL/TLS

对数字签名的攻击

中间人攻击:确认自己得到的公钥是否真的是通信对象的

单向散列函数攻击:散列函数抗碰撞性

利用数字签名攻击公钥密码-不要直接对消息进行签名,对散列值进行签名更安全;公钥密码和数字签名分别使用不同的密钥

数字签名无法解决的问题

数字签名可以识别出篡改和伪装,还可以防止否认。前提条件是用于签名的公钥属于真正的发送者。数字签名用来识别消息篡改、伪装及否认,但我们必须从一个没有被伪装的发送者得到没有被篡改的公钥才行----死循环。

怎样才能确认自己得到的公钥是合法 的 ---使用证书。那么证书又由谁来颁发才安全呢?---公钥基础设施PKI

 

这篇关于现代密码学-数字签名的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1027977

相关文章

Vite和Vue3:Vite是一种新的开发服务器和构建工具,它利用了现代浏览器支持的原生ES模块导入,为开发者提供了极速的冷启动和即时热更新

I. Vite 的概述 Vite的定义和功能   Vite 是一个由 Vue.js 的作者开发的现代前端构建工具,目标是提供一种尽可能快的现代开发体验。"Vite" 在法语中意思是 "快",这也正是其设计的目标之一。   Vite 的功能主要包括:   开发服务器:使用原生的 ES modules 搭建了一个开发服务器,使得开发环境中依赖包的导入变得更加轻巧快速。 构建:Vite 利用 R

探索 webkit 的奥妙,打造高效、兼容的现代网页

探索 webkit 的奥妙,并将其用于打造高效、兼容的现代网页,需要深入了解其内部工作机制、优化策略以及与其他浏览器引擎的兼容性处理。以下是一些关键步骤和考虑因素: 理解 WebKit 的基础: WebKit 是一个开源的浏览器渲染引擎,用于 Safari, Chrome(早期的版本)和其他一些浏览器。它负责解析 HTML、CSS 和 JavaScript,并将其转换为用户可以与之交互的视觉内

新零售解决方案:线上线下融合,驱动现代商业新浪潮-亿发

在数字化和智能化的商业环境中,新零售正在迅速改变传统的商业模式。作为新时代的零售解决方案,新零售通过线上线下深度结合,为企业提供了更灵活、高效的运营方式。本文将探讨新零售的四大特征,并详细描述其在中小企业中的应用,以及亿发零售云系统如何助力这一转型。 新零售的四大特征 全渠道整合:通过线上线下的深度融合,打通各大电商平台与实体店,实现会员优惠券的通用,优化订单和库存的分配。不论是线上购物还

全栈人工智能工程师:现代博学者

任何在团队环境中工作过的人都知道,每个成功的团队都有一个得力助手——无论你的问题性质如何,他都能帮助你。在传统的软件开发团队中,这个人是一个专业的程序员,也是另一种技术的专家,可以是像Snowflake这样的数据库技术,也可以是像Springboot这样的重要框架。然而,这个人的特别之处在于,他们对组织基础设施和开发环境中的许多其他技术有相当多的了解。例如,他们熟悉 Kubernetes,了解

现代数字信号处理及其应用-常见结论

现代数字信号处理及其应用-常见结论 本文的结论均摘抄自 何子述、夏威等编著,《现代数字信号处理及其应用》,清华出版社出版。 解析信号=信号预包络;基带信号=信号复包络。BT法(自相关谱估计法):间接法,先求自相关函数(有偏估计和无偏估计)[p-77],再做fft得到功率谱估计。有偏估计的均值有一个三角窗,但是方差是渐进一致估计。无偏估计的均值为0,但是方差大于有偏估计,当采样点远大于m的时候,

流程自动化软件:赋能现代企业的强大工具

本文将介绍流程自动化软件/脚本/助手的应用场景,同时我也做个自我介绍: 🏆 技术专长:专注于自动化脚本、网站、小程序、软件、爬虫及数据采集的定制化开发,为客户提供全方位的数字化解决方案。 💼 行业经验:拥有七年互联网与软件行业的深厚经验,现担任项目总监,带领团队高效完成重要项目10+。 🤝 合作理念:坚信长期合作与共赢的价值,致力于与各方建立稳固的合作关系,共同推动项目成功。 🌱

密码学与信息安全面试题及参考答案(2万字长文)

目录 什么是密码学?它的主要目标是什么? 请解释明文、密文、加密和解密的概念。 密码系统的安全性通常基于哪三种假设? 什么是Kerckhoffs原则?它对现代密码学设计有何意义? 简述密码学中的“混淆”和“扩散”概念。 什么是AES(高级加密标准)?AES有几种常见的密钥长度? DES和3DES加密算法的区别是什么? 何为流密码?与分组密码相比,其优缺点是什么? 什么是AES的“

微服务架构:解构现代应用程序的未来

目录 前言1. 微服务架构的基本概念1.1 什么是微服务架构1.2 微服务与单体架构的对比 2. 微服务架构的优势2.1 灵活性与可扩展性2.2 持续交付与部署2.3 技术多样性2.4 故障隔离 3. 微服务架构的挑战3.1 服务间通信和数据一致性3.2 运维复杂度3.3 安全性3.4 开发团队的协作 4. 微服务架构的实施策略4.1 领域驱动设计(DDD)4.2 API 网关4.3 容器化

cab数字签名制作

制作证书 makecert -$ "individual" -r /sv "Smart360.PVK" /n "CN= www.smart360.cn,E=15011116466-163-com,O=lilingtong " smart360.cer 制作inf cabarc.exe -s 6144 N smart.cab zlib.dll qnviccub.dll bridge

极客时间-实用密码学-10怎么防止数据重放攻击

为什么还要学习 CBC 模式? 不知道你是不是已经有了一个问题:既然 CBC 要退出历史舞台了,我们还学习它干什么呢? 第一个原因,CBC 的退出进程可能需要十数年才能完成。你现在工作的项目种,可能还存在 CBC 模式的大量使用。我们学习了 CBC 模式,有助于你解决现存项目的安全问题。 第二个原因,学习针对 CBC 的攻击方案, 是我们深入理解加密算法安全问题的最好的切入点。了解这些安全缺