资产价格暂时延迟部分资产已停止接收最新价格数据。数据连接恢复后将自动恢复更新。
Bitculator

在 Android 上获取 Bitculator

市值:

$1,997,165,707,536

24小时成交量:

$192,629,772,713

6 23 清算:

$0

24小时 多头/空头:

即将推出

Bitculator · 学习

Digital Signature Algorithm (DSA)

在加密术语中,Digital Signature Algorithm (DSA) 是什么意思?

# 596·更新时间 6月 2026·1 分钟阅读

数字签名算法 (DSA) 是一种用于数字签名的密码学算法。

什么是 Digital Signature Algorithm (DSA)?

Digital Signature Algorithm (DSA) 是一种标准方法,使用一对密码学密钥证明消息是可信且未被篡改的。把它想成可以被数学瞬间验证的蜡封,不需要公证人。


误解

有人说 DSA 会加密你的数据。并非如此。它对数据进行签名,让其他人可以验证是谁发送的以及数据是否未被修改。加密是另外的操作。


Digital Signature Algorithm (DSA) 的工作原理

用钱包为例,快速介绍。你想证明某条消息是你的,同时不泄露你的秘密。流程如下:

  1. 步骤 1: 你的钱包保存你的 private-key,该密钥保持私密。
  2. 步骤 2: 你让它对你的某笔 cryptocurrency transactions 或一条消息进行签名。
  3. 步骤 3: 钱包对消息做哈希,选择一个新的随机数 k,然后用你的私钥计算签名对 r 和 s。
  4. 步骤 4: 任何人都可以使用你的 public-key 来验证 r 和 s 是否与消息和你的密钥匹配。
  5. 步骤 5: 若验证通过,网络即接受该操作为真实。不会泄露秘密。

这就是核心思想。用私钥签名,用公钥验证。


为什么 Digital Signature Algorithm (DSA) 很重要

为什么要在意?因为互联网中的信任需要凭据。

  • 好处: 证明作者身份和完整性,而无需透露你的私钥。快速、自动,可靠。
  • 视角: 通过阻止伪造的批准和悄悄的篡改,它让 digital assets 的市场更安全。
  • 相关场景: 你在签署钱包操作、软件更新或智能合约批准时会遇到它,即便应用把数学部分隐藏了。

提示

切勿重复使用签名时的随机数 k,若支持则优先使用确定性签名。重复的 k 可能在一次失误中泄露你的私钥。


Digital Signature Algorithm (DSA) 的主要特性

赋予其效力的特征:

  • 随机性: 每次签名需要新的不可预测的 k 才安全。
  • 二元: 签名由两个数 r 和 s 组成,而非单一数据块。
  • 哈希: 它对消息的哈希值签名,有助于保持一致性并加快速度。
  • 标准: 由 NIST 在 FIPS 186 中定义,因此审计人员和库实现采用统一规范。
  • 验证: 任何拥有公钥的人都可以在不获知私钥的前提下检查证明。

Digital Signature Algorithm (DSA) 如何计算?

你无需手动计算,下面是简要说明。系统有公开参数 p、q、g。你的私钥为 x,公钥为 y,满足 y = g^x mod p。

H = hash(message) choose k as a nonzero random in Z_q r = (g^k mod p) mod q s = inv(k, q) * (H + x*r) mod q signature = (r, s)

验证时,计算 w = inv(s, q),然后 u1 = H * w,u2 = r * w。如果 v = (g^u1 * y^u2 mod p) mod q 等于 r,则签名有效。



提醒

签名证明来源和完整性,而非保密性。如果消息敏感,你仍然需要加密。


示例

你的钱包对一条转账请求签名,广播该消息及 r 与 s,验证者在移动任何代币之前先确认签名。


趣闻

DSA 在九十年代早期被标准化,受 Schnorr 思想启发。后来有个著名的警示案例:一款游戏主机团队在类似方案中重复使用了签名随机数,从而导致私钥像零钱一样被暴露。


总结

Digital Signature Algorithm (DSA) 是你在消息和资产操作上的数学签章。思路简单,保护有力。

我们是否遗漏了什么??

您的反馈有助于我们保持信息的准确性。如果发现任何错误或遗漏,请联系我们。

联系我们