密码技术-数字签名

article/2025/9/18 18:20:31

一、数字签名

用私钥生成数字签名,用公钥验证签名

数字签名的方法
① 直接对消息签名(很少用这个)
(1)Alice 用自己的私钥对消息进行加密
(2)Alice 将消息和签名发送给 Bob
(3)Bob 用 Alice 的公钥对收到的签名进行解密
(4)Bob 将签名解密后得到的消息与 Alice 直接发送的消息进行对比
对比一致,签名验证成功,不一致,签名验证失败
② 对消息的散列值签名(通常用这个)
为什么实际中不直接对消息本身进行数字签名呢?这是因为公钥密码算法本来就非常慢,还要对消息全文进行加解密,因此如果能够有一个很短的数据替代消息本身是再好不过的了,而单项散列函数就很适合
(1)Alice 用单项散列函数计算消息的散列值
(2)Alice 用自己的私钥对散列值进行加密
(3)Alice 将消息和前面发送给 Bob
(4)Bob 用 Alice 对收到的签名进行解密
(5)Bob 将签名解密后得到的散列值与 Alice 直接发送的消息的散列值进行对比
数字签名流程

二、对数字签名的疑问

1.密文为什么能够作为签名使用,意义在哪
数字签名的操作是使用私钥对消息进行加密,但这里的加密并非是为了保密,而是用于生成一种只有持有该密钥的人才能够生成的信息(即私钥本身是保密的,那么私钥加密生成信息自然保证了唯一性)

2.能否同时修改消息和签名,使得验证签名能够成功
这是做不到的,不管是直接对消息签名的方式还是对消息的散列值签名的方式,对发送的消息进行修改后,在不知道密钥的情况下需要对修改后的消息进行修改,使得签名可以被验签,这是不可能的

3.签名不能否认,那如何使之作废
重新创建一份文书,让对方在文书上加上数字签名,或者一开始就在消息中写明有效期,然后再进行数字签名

4.如何防止否认
防止否认和谁持有密钥密切相关,就是说能够生成签名的密钥只有密钥持有者持有,因此谁持有密钥就是谁的签名,因此无法否认

三、数字签名的应用

1.网站公告
网站消息目的是让更多人看到,所以不需要加密,但是需要保证消息不被篡改,对明文消息进行数字签名,利用数字签名完成对消息的认证

2.软件下载
数字签名只能保证软件内容是否被篡改,无法判断软件是否是恶意软件

3.公钥证书
为了保证公钥的合法性,不是伪造的(防止中间人攻击),一般需要权威的第三方对公钥进行数字签名,签名后得到的就是公钥证书,再使用权威的第三方的公钥对公钥证书进行数字验签就能确定公钥的合法性

那么问题来了,权威的第三方的公钥就一定是真的?如果被纂改了怎么办?只要存在密钥发送,那么一定存在被纂改的可能,一级一级向上进行的验签,到顶的话就是操作系统预装的根证书

四、对数字签名的攻击

1.中间人攻击
通过伪装身份,对发送者伪装成接收者,对接收者伪装成发送者,就可以在不知道签名密钥的前提下完成攻击,可以使用公钥证书对公钥进行认证(公钥证书中可以写明目标网站,只要后续验证证书合法,就表明公钥合法,就确定了要访问的目标网站本身,别人就不可能再仿冒)

2.单向散列函数攻击
数字签名中使用的单向散列函数必须具有抗碰撞性(碰撞率低),如果存在很多不同的输入有相同的输出(碰撞率高),攻击者就可以生成一个不同的消息,但是消息的散列值和签名绑定的消息的散列值相同

单向散列函数

  • 消息完整性:有一个输入和一个输出,输入称为消息,输出称为散列值,根据消息的内容可以计算出散列值,不同的消息对应不同的散列值,因此可以用散列值检查消息的完整性(也称一致性)
  • 不可逆:任意长度的消息计算得到的散列值的长度都是固定的,如 SHA-256 单向散列函数计算出的散列值的长度永远是 32 字节,且是不可逆的(不能由输出得到输入)

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

相关文章

总结数字签名实现身份验证

消息篡改和不可抵赖性 TCP协议确保数据能够正确发送到通信双方,加上数据加密算法保证数据安全传输,但是在HTTP应用中通信双方通常不清楚发送方的身份,尤其在客户端服务器通信下,通常一个服务器会处理多个客户端连接,结…

rsa签名算法c语言,数字签名算法rsa

数字签名算法消息传递模型 由消息发送方构建密钥对,这里由甲方完成。 由消息发送方公布公钥至消息接收方,这里由甲方将公钥公布给乙方。 注意如加密算法区别,这里甲方使用私钥对数据签名,数据与签名形成一则消息发送给乙方,私钥仅用于签名,公钥仅用于验证。 RSA RSA数字签…

数字签名原理简述

本文结合下面两个问题来讲解数字签名的基本原理。结合图片希望能给大家一个清晰简单明了的分析和讲解。 1. 问题描述: (1)用户A向远方的用户B发送一个消息,用户B如何确认所收到的消息在传输的过程中没被篡改过? (2)用户B收到了消息之后,如何防止A随之否认这个消息是…

密码学系列之七:数字签名

数字签名 1. 概述1.1 基本概念1.2 签名原理1.2.1 形式化定义1.2.2 签名过程 2 基于RSA的签名方案2.1 实现过程2.2 安全性分析 3 基于离散对数的签名方案3.1 ElGamal签名体制3.1.1 实现过程3.1.2 安全性分析 3.2 Schnorr签名体制3.2.1 实现过程3.2.2 安全性分析 3.3 DSA签名体制…

数字签名算法类别及用途

0x01 数字签名算法的类别 数字签名(digital signature)是一种电子签名,也可以表示为一种数学算法,通常用于验证消息(例如,电子邮件、信用卡交易或数字文档)的真实性和完整性。 在“数字签名论述…

数字签名-原理

数字签名 1. 从消息认证到数字签名1.1. 消息认证码的局限性1.2. 通过数字签名解决问题 2. 签名的生成和验证3. 数字签名的方法3.1 签名步骤3.2 过程图解 4. 数字签名无法解决的问题 “数字签名 — 消息到底是谁写的” 数字签名是一种将相当于现实世界中的盖章、签字的功能在计算…

什么是数字签名?

数字签名 数字签名 数字签名一、介绍二、功能三、流程四、数字证书 一、介绍 数字签名(又称公钥数字签名)是只有信息的发送者才能产生的别人无法伪造的一段数字串,这段数字串同时也是对信息的发送者发送信息真实性的一个有效证明。数字签名通…

一文彻底搞懂加密、数字签名和数字证书,看不懂你打我!

前言 这本是 2020 年一个平平无奇的周末,小北在家里刷着 B 站,看着喜欢的 up 主视频。 在一旁玩手机的女朋友突然问”你知道数字证书是来干啥的不,为啥浏览器提示证书不可信?” 你要说这个,那我可来劲了&#xff0c…

cisco 路由器 无线配置

配置环境:Cisco Packet Tracer 6.0 AP设备型号:1841 PC设备:Linksys-WPC300N模块的虚拟pc 第一步:配置接口ip R3(config)#interface Dot11Radio0/1/0 R3(config-if)#ip address 172.16.10.1 255.255.255.0 第二步:配置…

实验一 CISCO路由器的基本配置

要求: 1. 初始化配置; 2. 设置接口IP地址; ( F0/0 S1/0 ) 3. 测试; ( ping 、 telnet ) 4. 设置密码; ( console口、VTY接口和特权 ) 5. 查看。 &…

CISCO路由器基础配置和静态路由配置

学习Cisco的基础网络配置下载可以用Cisco公司开发的模拟器:Cisco packet tracer。本文的配置也都是用此模拟器配置的。 路由器 路由器的功能主要有以下几点: 1.实现网络互连,路由器支持各种局域网和广域网接口,主要用于互连局域…

cisco交换机配置方法

PS: 1.如代码能缩写尽量缩写节省时间 命令唯一才可以使用缩写方式 比如:config terminal 缩写为 conf t 即可 2.查看配置信息,只能在特权模式下查看 3.如果代码只记得前几位,直接按tab键补全,或者?查找一下 4…

一、思科路由器的基本配置

实验项目:路由器的基本配置 实验器材:Router2621XM一台、PC两台、交叉线两根。 实验目的:学习思科路由器的直连路由配置。 实验拓扑: 实验步骤: PC的配置 1.PC0配置IP、网关 IP:192.168.6.2 网关&am…

Cisco路由器配置命令

伟人对我毫无意义,我只欣赏自己理想中的明星。——尼采《善恶的彼岸》 Cisco工作模式 思科的工作模式有四种 用户模式:这一级别权限很低,只能查看路由器的基本状态,无法进行设置。 一般是Router> 特权模式:这一…

Cisco 路由器SSH配置

SSH1又分为1.3和 1.5两个版本。SSH1采用DES、3DES、Blowfish和RC4等对称加密算法保护数据安全传输,而对称加密算法的密钥是通过非对称加密算法(RSA)来完成交换的。SSH1使用循环冗余校验码(CRC)来保证数据的完整性&…

Cisco 路由器配置管理

大多数网络中断的最常见原因是错误的配置更改。对网络设备配置的每一次更改都伴随着造成网络中断、安全问题甚至性能下降的风险。计划外更改使网络容易受到意外中断的影响。 Network Configuration Manager 网络更改和配置管理 (NCCM)解决方案&#xff…

CISCO路由基本配置命令

进入EXEC特权模式:enable 进入全局配置模式:config terminal (confTab键回车回车) 修改设备名称:hostname (设备名) 禁用DNS查找:no ip domain-lookup 特权模式加密密码:enable secret (密码…

CISCO路由器基础配置及配置静态路由

学习Cisco的基础网络配置下载可以用Cisco公司开发的模拟器:Cisco packet tracer。本文的配置也都是用此模拟器配置的。 路由器 路由器的功能主要有以下几点: 1.实现网络互连,路由器支持各种局域网和广域网接口,主要用于互连局域…

Cisco(思科)路由器端口的配置

Cisco(思科)路由器端口的配置 小编都是喜欢借助实验写博客 一、拓扑图 结合图可以知道我们一共有四个网段(四个vlan) 1.vlan 1 ip:192.168.1.0网段 自带的vlan不需要在交换机添加的 2.vlan 2 ip:192.168.…

路由交换实验一——CISCO路由器的基本配置

CISCO路由器的基本配置 实验要求开始实验1.初始化配置:2.搭建网络:3.测试网络:4.配置密码:5.查看信息: 实验要求 初始化相关配置;设置接口IP地址; ( F0/0 S1/0 )测试&…