更新日期:

解除区块链:密码学和数字签名

作者:

Heng Kiong在一所高等院校教授信息技术,包括商业分析和管理信息系统。

导航条

查看全套文章:

  1. 什么是区块链?
  2. 集中式与去中心化数据库
  3. 数字签名
  4. 私钥加密
  5. 公开密匙加密
  6. 密码学和数字签名
  7. 哈希

回顾

在我们直接讨论数字签名之前,前两篇文章已经为我们提供了密码学的广泛介绍。

数字签名及其验证是区块链背后的主要关键概念之一,其中基于比特币等加密货币应用程序。

在区块链网络中,通过证明签名来自私钥持有者以及交易是有效的,能够正确识别交易中的参与者是很重要的。

数字签名提供身份验证、数据完整性和不可抵赖性,所有这些都是区块链网络的关键。因此,即使没有中介,网络上的任何人都可以信任交易。

加密与数字签名

就像我们在前一篇文章,公钥密码学创建加密消息,而私钥创建数字签名。

密码的使用

密码的使用

数字签名

除了数据的加密和解密,公钥密码学还可以用于创建数字签名,以在区块链网络中提供身份验证、数据完整性和不可抵赖性。

下面的步骤解释了下图中描述的基于公钥加密的数字签名模型的过程:

  1. 区块链网络上的所有参与节点都有一个数学生成的公私密钥对。
  2. 纯文本形式的消息被送入哈希算法以生成哈希消息,也称为消息摘要。在比特币等加密货币应用程序中,消息包含发送方发出的交易。
  3. 然后,散列后的消息由发送方的私钥签名,并以明文格式与消息一起通过区块链网络发送。
  4. 区块链网络上的参与节点现在将尝试通过检查数字签名来验证消息,以验证它是否与通过验证算法发送消息的地址的公钥匹配。
  5. 由于数字签名是使用发送方的私钥创建的,网络可以通过使用相应的发送方的公钥轻松证明签名来自私钥持有者。
  6. 明文消息通过另一个哈希算法来生成哈希值。这个哈希值与上面验证算法输出的哈希值进行比较。验证是在发送方不必透露其私钥的情况下执行的。

在比特币的情况下,网络还会验证发送方是否拥有足够的比特币,以及发送方是否已经将比特币发送给另一个接收者。这是通过运行比特币账本上公开的交易历史来实现的。

数字签名模型

数字签名模型

与直接对明文消息进行数字签名不同,数字签名是用数据散列形成的。散列消息是数据的唯一表示,但相对较小的摘要。这使得区块链更有效率。

实现消息安全

现在让我们来看看为什么在区块链中使用数字签名是如此重要:

  • 完整性:数字签名和哈希算法确保数据不会被任何攻击者非法访问和修改。这意味着数据不能在没有检测到的情况下被修改。
  • 身份验证:数字签名在区块链网络中建立发送方和接收方之间的信任。接收方可以确定只有发送方发送了此消息。
  • 不可抵赖性:发送方不能拒绝发送消息,因为数字签名只能由拥有相应私钥的发送方创建,其他人不能创建。

接下来是什么?

我们还没有过多地讨论哈希,因为它将在下一篇文章中讨论。现在,我们只需要知道哈希是一种数学算法或函数,它将任意大小的数据映射到固定大小的哈希。的例子,

哈希的例子

哈希的例子

总之,哈希验证数据没有被修改或篡改。

前一篇文章

  • 解除区块链:公钥加密
    区块链使用公钥加密(非对称密钥算法)来保护网络上的交易消息。在区块链中,使用基于公钥密码学的数字签名来证明消息来自特定的p

下一篇文章

  • 解除区块链:哈希
    有两个基本的密码概念将区块链连接在一起。数字签名和哈希确保区块链上的交易仅由合法人士进行,并且记录不受操纵

据作者所知,这篇文章是准确和真实的。内容仅供参考或娱乐之用,并不替代商业、金融、法律或技术事务方面的个人建议或专业建议。

©2018恒光雅

相关文章