什么是密码学中的数字签名:它的作用和例子

已发表: 2022-02-21

数字签名是消息认证的公钥原语。 数字签名在技术上是一种将个人或实体与数字数据联系起来的方法。 接收方以及任何第三方都可以独立验证此绑定。 它是根据数据和只有签名者才能访问的密钥计算得出的加密值。

在现实世界的场景中,消息的接收者需要保证消息属于特定的发送者,并且他不能否认消息的存在。 此要求在商业应用中至关重要,因为数据交换不一致的可能性非常高。 这就是密码签名发挥关键作用的地方。

密码学中的数字签名

目录

什么是密码学中的数字签名?

数字签名使用公钥加密来验证和确保签名信息的真实性和完整性。 让我们看看数字签名如何使用公钥加密进行签名和验证操作。

  • 身份验证:当验证者使用发送者的公钥验证数字签名时,他确信该签名是发送者的签名以及相关的秘密私钥。

  • 数据完整性:如果攻击者编辑数据,接收端的数字签名验证失败。 更新数据的哈希和验证算法的结果将不匹配。 结果,接收者可以安全地拒绝该消息。

  • 不可否认性:因为签名密钥只有签名者知道,所以他可以在给定的数据上创建唯一的签名。 如果未来出现分歧,接收方可能会将数据和数字签名提供给第三方作为证据。

推荐阅读:如何通过 6 个步骤以电子方式创建数字签名

密码学中的数字签名标准是什么?

数字签名是一种验证来自可信来源的数字数据的技术。 数字签名标准 (DSS) 是一项联邦信息处理标准 (FIPS),它指定了使用安全散列算法 (SHA) 生成数字签名以进行电子文档身份验证的程序。 DSS 只是让我们能够使用加密或密钥交换技术对文档进行数字签名。

数字签名加密

发送方:在 DSS 方法中,从消息中创建哈希码,并为签名函数提供以下输入 -

  • 哈希码
  • 对于该特定签名,创建了随机数“k”。
  • 发送者的私钥,即PR(a)。
  • 全局公钥(一组用于通信原则的参数)

该函数将返回一个包含两个组件的输出签名 - 's' 和 'r'。 结果,接收方接收到原始消息和签名。

推荐阅读:数字签名和电子签名的区别

接收端:在接收端验证发送者的身份。 创建发送消息的哈希码。 有一个验证函数接受以下参数作为输入:

  • 接收方生成的哈希码
  • 字母 's' 和 'r' 作为签名组件
  • 发件人的公钥
  • 全局公钥

将签名分量“r”与验证函数的结果进行比较。 如果发送的签名是合法的,则两个值将匹配,因为只有发送者可以使用他或她的私钥生成有效的签名。

数字签名如何在密码学中工作?

密码学示例中的数字签名

数字签名通过利用以下组件在密码学中起作用:

  • 哈希:哈希是由数学程序和大文件产生的固定长度的字母和数字字符串。 SHA-1(安全散列算法 1)、SHA-2 和 SHA-256(安全散列算法 2 系列,以及 MD5(消息摘要 5)是当今使用的一些最突出的散列算法。

  • 非对称加密:非对称加密(也称为公钥加密)恰好是一种采用密钥对方案的加密方法。 虽然数据只能使用一个密钥(称为公钥)进行加密,但可以使用另一个密钥(称为私钥)对其进行解密。

  • 公钥基础设施(PKI):它包括标准、规则、系统和人员,以促进公钥共享和验证实体或个人的身份。

  • 数字证书:数字证书类似于驾驶执照,用于识别持有证书的人。 CA 对数字证书进行数字签名,其中包含个人或组织的公钥。 证书还可能包括有关组织、个人和 CA 的信息。

  • 证书颁发机构 (CA):证书颁发机构是验证个人身份的第三方。 它通过为他们生成公钥/私钥对或关联该人提供的现有密钥来实现。 一旦一个人的身份得到验证,CA 就会颁发一个数字证书。 数字证书可用于通过公钥验证该人。

  • PGP/OpenPGP: PGP(Pretty Good Privacy),也称为 OpenPGP,用作 PKI 的替代方案。 PGP 通过为身份经过验证的人颁发签名证书来帮助用户“信任”其他用户。

推荐阅读:电子商务行业中数字签名的重要性

数字签名在密码学和网络安全中的作用

验证任何通信介质、文档或软件的真实性和完整性的数学方法称为数字签名加密。 它帮助我们验证消息内容并验证作者的姓名、日期和签名时间。

数字签名旨在通过提供显着更多的固有保护来克服数字通信中的篡改和冒充问题。

签名必须是可验证的。 如果出现关于谁签署文件的争议,第三方应该能够公平地解决问题,而无需访问签署人的机密信息。

RSA 签名方案仍然是当今最有用和最通用的策略之一。 作为后续研究的结果,出现了许多数字签名技术。

技术和法律都涉及基于计算机的企业信息认证。 它还鼓励具有不同专业背景和专业领域的人员之间的合作。 就目前而言,与电子签名相比,数字签名对于法律目的更有用。

推荐阅读:最佳开源和免费数字签名软件列表

密码学示例中的数字签名

以下是一些著名的数字签名算法的示例:

  • 动态搜索广告
  • ECDSA
  • EDDSA
  • RSA 签名
  • ElGamal 签名
  • 施诺尔签名

结论

为了在数字对话中实现机密性,最好交换加密消息而不是明文消息。 发送者的公共(加密)密钥在开放域中可用,因此任何人都可以冒充他并向接收者发送加密消息。 因此,使用 PKC 进行加密的用户必须寻找数字签名以确保消息的真实性和不可否认性。

建议阅读:数字签名证书 (DSC):好处、用途和如何获取 DSC

常见问题

  1. 密码学中数字签名的要求是什么?

    为了生成数字签名,原始消息的散列值使用发送者的密钥进行加密。 CA(认证机构)通过四个步骤生成它:密钥生成、注册、验证和创建。 这些步骤是验证发件人的真实性、文档完整性和不可否认性所必需的。

  2. 什么是数字签名算法?

    对于数字签名,数字签名算法是联邦信息处理标准。 数字签名算法具有三个优点——消息验证、身份验证和完整性以及不可否认性。

  3. 什么是数字签名标准?

    数字签名标准是一个联邦信息处理标准,描述了一组创建数字签名的方法。

  4. 数字签名在密码学中的用途是什么?

    数字签名是一种加密输出,可用于验证数据的真实性。 您可以按照签名操作并使用签名密钥在原始数据上创建签名。 或者,您可以选择验证操作,任何对签名密钥了解有限的人都​​可以完成签名验证。

  5. 密码学中的数字签名有哪些类型?

    eIDAS 可识别三种形式的数字签名:

    1. 简单或基本的电子签名(SES)
    2. 高级电子或数字签名(AES)
    3. 合格的高级电子或数字签名 (QES)

  6. 密码学中的数字签名过程是什么?

    在数字签名过程中,固定消息和私钥生成的签名都必须通过随附的公钥进行认证。 如果不使用这些加密程序访问他们的私钥,就无法复制用户的签名。

  7. 数字签名是基于哪个密钥加密的?

    公钥密码术或非对称密码术用于在数字签名中创建密钥。 任何像 Rivest-Shamir-Adleman 这样的公钥算法都会生成一个私钥和一个公钥,从而产生一个数学链接的密钥对。

  8. 数字签名适用于哪种密码系统?

    数字签名适用于非对称密钥密码术。

相关类别:数字签名软件 | 生产力软件 | 实用软件 | PDF 软件 | 文件管理软件