数字签名标准(DSS)
0x01 数字签名标准
数字签名标准 (DSS) 是美国国家安全局开发的一种数字签名算法,作为电子文档的身份验证手段。
DSS 创建后,于 1994 年由美国国家标准与技术研究院出版,此后成为美国政府认证电子文档的标准。
DSS 还被指定为联邦信息处理标准 ( FIPS ) 186 中经过验证的身份验证方式。
目前的几个参考文献标准
“FIPS PUB 186-1:数字签名标准 (DSS),1998-12-15” (PDF)。csrc.nist.gov。于 2013 年 12 月 26日从原始 文件 (PDF)存档。
“FIPS PUB 186-2:数字签名标准 (DSS),2000-01-27” (PDF)。csrc.nist.gov。
“FIPS PUB 186-3:数字签名标准 (DSS),2009 年 6 月” (PDF)。csrc.nist.gov。
“FIPS PUB 186-4:数字签名标准(DSS),2013-07-19” (PDF)。csrc.nist.gov。
0x02 数字签名标准运作
数字签名标准包含椭圆曲线数字签名算法 (DSA),以及基于公钥加密标准 #1和美国国家标准协会 X9.31的Rivest-Shamir-Adleman签名定义。
数字签名标准运作过程
- 生成密钥,包括公钥和私钥
- 消息来源创建数字签名
- 接收方验证数字签名
DSS 只为我们提供数字签名功能,不提供任何加密或密钥交换策略。签名是结合使用私钥生成的,验证私钥是参照相应的公钥进行的。
DSS 不同于 RSA 算法使用公钥、私钥和散列函数,而 DSS 使用公钥、私钥、散列函数、随机数和全局公钥。
发送方
在 DSS 方法中,将消息通过数字签名算法,通过消息生成哈希码,并将输入提供给签名函数:
- 哈希码(哈希码从消息中生成,并作为发送方签名函数的输入。)
- 为该特定签名生成的随机数“k”
- 发送者的私钥PR(a)
- 全局公钥PU(g)
接收方
在接收端,对发送者进行验证,验证用于验证发送方发送的消息和签名,生成发送消息的哈希码,通过以下的输入进行验证:
- 接收方生成的哈希码(发送消息的哈希码由接收方通过应用哈希函数生成)
- 签名组件
- 发件人的公钥
- 全局公钥
最后将签名函数与验证函数的输出进行比较,如果两个值匹配,则签名有效。
References: https://www.geeksforgeeks.org/digital-signature-standard-dss/ https://usemynotes.com/what-is-digital-signature-standard/
数字签名标准(DSS)相关推荐
- 数字签名标准(DSS)工作原理指南
正如我们所研究的, 签名是一种验证来自受信任个人的数据的方法.同样, 电子签名是一种对来自可信来源的数字数据进行身份验证的方法. 数字签名标准(DSS)是联邦信息处理标准(FIPS), 它定义了用于在 ...
- 密码学---数字签名和认证协议---数字签名标准
数字签名标准 DSS的基本方式 RSA签名过程 DSS签名过程 数字签名算法DSA 全局公钥 用户私钥x 用户公钥y 用户为待签消息选取的秘密数k 签名过程 验证过程 数字签名标准(Digital S ...
- dss数字签名技术java_DSS数字签名标准
DSS数字签名标准 签名过程: graph TD; id2 -.Signature.-> id12 subgraph Signature Generation; id0(Message/Data ...
- 数字签名标准算法——DSA
数字签名标准算法--DSA 1. 算法简述 2.模型分析 3. 代码实现 3.1 算法实现 3.2 测试代码 3.3 运行结果 1. 算法简述 RSA为经典数字签名算法 数字签名标准(Digital ...
- 数字签名(RSA签名、ElGamal签名、Schnorr签名、DSS、DSA、离散对数签名、特殊性质的签名算法、Chaum盲签名、Chaum-Antwerpen不可否认签名、群签名、MUO代理签名)
数字签名基本概念 数字签名的必要性: 消息认证能够使通信双方对接收到的信息来源及完整性进行验证,防止第三方的攻击,然而却不能防止通信双方中的一方对另一方的欺诈. 这种欺诈有多种形式,例如通信双方(发送 ...
- 密码学基础知识(八)略说数字签名
简略说说数字签名体制DSS: 怎么说呢,咱们之前在公钥密码那大致说了说,现在结合之前的DSA,ElGamal 等说一说. 首先,数字签名不能伪造,不能复制,不能篡改,不能抵赖,可验证. 那签名是啥呢, ...
- 密码学系列之七:数字签名
数字签名 1. 概述 1.1 基本概念 1.2 签名原理 1.2.1 形式化定义 1.2.2 签名过程 2 基于RSA的签名方案 2.1 实现过程 2.2 安全性分析 3 基于离散对数的签名方案 3. ...
- 信息安全——消息认证与数字签名
消息认证和数字签名是为防止以下情况: (1)伪造:从假冒信源向网络插入消息. (2)内容修改:消息内容被插入.删除.变换等. (3)顺序修改:重组消息序列. (4)时间修改:消息延迟或重放. (5)否 ...
- 【graceup系列】--基于Java带数字签名的邮件收发系统
公钥和私钥就是俗称的不对称加密方式,使用公钥与私钥的目的就是实现安全的电子邮件,必须实现如下目的: 1.我发送给你的内容必须加密,在邮件的传输过程中不能被别人看到. 2.必须保证是我发送的邮件,不是别 ...
最新文章
- 收藏!工作中Git使用实践和常用命令流程合集
- eclipse如何连接mysql_Python如何连接 MySQL?
- C 工具库3:固定大小的 obj pool
- 华为故事,李一男,任正非
- 曼哈顿距离和欧拉距离
- 星跃计划 | 新项目持续招募中!MSR Asia-MSR Redmond 联合科研计划邀你申请!
- matplotlib color可选
- java 日期处理_JAVA 日期处理大全
- Dubbo的SPI实现
- python3基础(九)内置函数
- CentreonMonitoringEvent Logs没有结果的解决方法
- 医院绩效考核系统设计方案
- matlab画图画点画直线
- 路由器无线模式与信道检测
- html+移动端图片点击放大,移动端点击图片放大特效PhotoSwipe.js插件实现
- 2.CPU体系架构-寄存器
- Excel:一个Excel自动计算公式,一个Excel手动计算?多进程
- Wallpaper 双屏单独显示壁纸
- 2021年终总结暨2022年计划安排
- java 动态添加字段 以及 动态新增字段注解