0x01 数字签名算法的类别

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

在“数字签名论述及生成与优点分析”终将输了数字签名算法的生成及数字签名算法的优点,这节讲一下数字签名算法的分类及用途。

存在三种不同类别的数字签名证书 (DSC):

  • 第一类:不能用于合法的商业文件,因为它们仅根据电子邮件 ID 和用户名进行验证。
    签名提供基本级别的安全性,用于数据泄露风险较低的环境。
  • 第二类:通常用于税务文件的电子归档 ( e-filing ),包括所得税申报表和商品及服务税 (GST) 申报表。
    数字签名根据预先验证的数据库验证签名者的身份。
  • 第三类:最高级别的数字签名,签名要求个人或组织在签名前出现在认证机构面前以证明其身份。
    用于电子拍卖、电子招标、电子票务、法庭文件以及其他对数据的威胁或安全故障后果较高的环境。

0x02 数字签名用途

使用数字签名的行业包括:

  • 政府:全球政府出于多种原因使用数字签名,包括处理纳税申报表、验证企业对政府 (B2G) 交易、批准法律和管理合同。

大多数政府实体在使用数字签名时必须遵守严格的法律、法规和标准。许多政府和公司也使用智能卡来识别其公民和雇员。这些是带有数字签名的实体卡,可用于让持卡人访问机构的系统或实体建筑物。

  • 卫生保健:用于医疗行业,数字签名可以提高治疗和管理流程的效率,加强数据安全。在医疗保健中使用数字签名必须符合 1996 年的《健康保险流通与责任法案》(HIPAA)。

  • 制造业:制造业企业使用数字签名来加快流程,包括产品设计、质量保证 (QA)、制造改进、营销和销售。

制造中数字签名的使用受国际标准化组织 (ISO) 和美国国家标准与技术研究院 (NIST) 数字制造证书 (DMC) 的约束。

  • 金融服务:美国金融部门将数字签名用于合同、无纸化银行业务、贷款处理、保险文件、抵押贷款等。
  • 加密货币:数字签名也用于比特币和其他加密货币来验证区块链,它们还用于管理与加密货币相关的交易数据,并作为用户显示货币所有权或他们参与交易的一种方式。

0x03 数字签名细节

数字签名可以为信息的传输提供安全性,减少了传输公钥带来的潜在安全问题。当签名者对文档进行电子签名时,签名是使用签名者的私钥进行的,数学算法像密码一样工作,生成与签名文档匹配的哈希数据并对其进行加密。

数字签名不能与电子签名对等,因为电子签名是表示接受协议或记录的任何电子过程的广义术语。
数字签名是指使用数字证书生成并使用公钥基础设施 (PKI) 加密绑定到文档的更安全的电子签名。

数字签名算法中用的术语

  • 散列函数:
    Hash算法可以将一个数据转换为一个标志,这个标志和源数据的每一个字节都有十分紧密的关系。Hash算法还具有一个特点,就是很难找到逆向规律。任意大小的文件,输出为固定长度的数字或字符串。

  • 公钥加密
    公钥加密技术也称为非对称加密,是一种使用密钥对系统加密的方法。一个称为公钥的密钥对数据进行加密。另一个密钥称为私钥,用于解密数据。
    公钥密码学可以使用多种方式来确保机密性、完整性和真实性。通过这样做,对消息的一点更改,都会重新生成差异很大的哈希值。
    通过使用收件人的公钥加密整个消息来确保机密性。这意味着只有拥有相应私钥的接收者才能阅读该消息。

  • 公钥基础设施 (PKI)
    PKI 由政策、标准、人员和系统组成,这些政策、标准、人员和系统支持公钥分发以及具有数字证书和证书颁发机构的个人或实体的身份验证。

  • 证书颁发机构 (CA)
    CA 是受信任的第三方,它验证一个人的身份,并代表他们生成一个公钥/私钥对,或者将该人提供的现有公钥与该人相关联。一旦 CA 验证了某人的身份,他们就会颁发由 CA 进行数字签名的数字证书。

  • 数字证书
    数字证书包含个人或组织的公钥,并由 CA 进行数字签名,有关组织、个人和 CA 的其他信息也可以包含在证书中。

References:
https://informerguru.com/concept-of-digital-signature/
cisa.gov/uscert/ncas/tips/ST04-018
https://en.wikipedia.org/

数字签名算法类别及用途相关推荐

  1. .NET Core加解密实战系列之——消息摘要与数字签名算法

    简介 加解密现状,编写此系列文章的背景: 需要考虑系统环境兼容性问题(Linux.Windows) 语言互通问题(如C#.Java等)(加解密本质上没有语言之分,所以原则上不存在互通性问题) 网上资料 ...

  2. 商用密码应用与安全性评估要点笔记(SM9数字签名算法)

    1.SM9标识密码算法简介 首先有几个概念需要弄清楚: (1)标识identity,可以唯一确定一个实体身份的信息,且实体无法否认.比如身份证号.手机号.邮箱等. (2)主密钥master key M ...

  3. java rsa数字签名_RSA 数字签名算法(Java版)

    数字签名算法Java版 还是上代码吧 public static final String SIGN_ALGORITHMS = "SHA1WithRSA"; /** * RSA签名 ...

  4. [以太坊源代码分析] IV. 椭圆曲线密码学和以太坊中的椭圆曲线数字签名算法应用

    数字签名算法在Ethereum中的应用不少,目前已知至少有两处:一是在生成每个交易(Transaction, tx)对象时,对整个tx对象进行数字签名:二是在共识算法的Clique算法实现中,在针对新 ...

  5. RSA 数字签名算法(Java版)

    数字签名算法Java版 还是上代码吧 public static final String SIGN_ALGORITHMS = "SHA1WithRSA";/*** RSA签名* ...

  6. GMSSL :SM2椭圆曲线公钥密码算法——数字签名算法4

    2021SC@SDUSC 目录 一.ECDSA介绍 二.代码分析 一.ECDSA介绍 ECDSA的全名是Elliptic Curve DSA,即椭圆曲线DSA.它是Digital Signature ...

  7. dsa数字签名算法_密码学中的数字签名算法(DSA)

    dsa数字签名算法 Digital Signature Algorithm (DSA) is one of the Federal Information Processing Standard fo ...

  8. dsa数字签名c语言编程,实验三DSA数字签名算法

    <实验三DSA数字签名算法>由会员分享,可在线阅读,更多相关<实验三DSA数字签名算法(8页珍藏版)>请在人人文库网上搜索. 1.实验三 DSA数字签名算法姓 名: 学 号: ...

  9. 信息安全实验六:RSA数字签名算法 2019.06.01

    实验六:RSA数字签名算法 一.实验目的 理解.掌握RAS数字签名算法的基本过程. 二.实验内容 熟悉MPIR大整数运算库函数的调用. 熟悉MD5散列的调用. 利用MPIR大整数运算库函数,实现RSA ...

最新文章

  1. centos7 安装java和tomcat9
  2. python(48):re.split 多分隔符
  3. 关于LINUX权限的一个题目
  4. 微信开发,自定义菜单不生效怎么办?重新关注也无效
  5. 《统计学习方法》读书笔记
  6. cad字体安装_CAD字体大全下载【软件下载】
  7. 74HC595在【8x8LED点阵】中的运用
  8. 计算机械效率的简便公式,机械效率公式
  9. YY创始人携手极客公园调坎QQ企鹅
  10. K8S学习之污点容忍
  11. 在线测试php代码,Php代码 - 在线打字测试(dazi.kukuw.com)
  12. UE4之打开虚拟键盘
  13. ARFoundation之路-环境配置(iOS)之二
  14. java上传文件(java上传文件夹)
  15. 分配工作时需要考虑的问题
  16. V2X前装量产的现状与挑战 | 车联网百家谈
  17. 宇宙第一帅的HTML笔记
  18. npm install 你很明白吗
  19. 数据分析之异常值检验的方法
  20. 优雅的为RecyclerView添加头尾布局HeaderAndFooterWrapper

热门文章

  1. 要想做好日语翻译,你需要这样做?
  2. React Native之组件Component与PureComponent
  3. MySQL 快速造数 mysql_random_data_load
  4. 02 数据库语言SQL
  5. 点云配准算法综述-完整解读
  6. getRealPath详细解释
  7. ZZULIOJ--1227: 漂亮菱形
  8. 关于wamp图标是黄色的问题解决
  9. JS判断浏览器IE6、IE7、IE8、IE9、IE10、IE11、Chrome、Firefox、Safari、Opera方法,亲测可用
  10. 【一步一个脚印】Tomcat+MySQL为自己的APP打造服务器(2-1)Servlet的使用