news 2026/7/7 13:48:27

EdDSA 签名和验证流程

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
EdDSA 签名和验证流程

按这张图,EdDSA(这里基本就是 Ed25519)的签名验证流程可以分成两大块来看:上半部分是 Signing process,下半部分是 Verifying process。


一、参与的元素与符号

左侧图例先说明了几个符号含义:

  • q:私钥(种子,通常是 32 字节随机数)。

  • m:要签名的消息(这里写的是 transaction’s metadata)。

  • Q:公钥,是曲线上的一点。

  • 粉色箭头:Ed25519 特有的bit pruning / bit clamping操作(裁剪 / 钳位一些比特)。

  • 灰色箭头:廉价运算(基本是哈希、拼接等)。

  • 蓝色箭头:标量乘点(椭圆曲线最贵的运算)。


二、从私钥到公钥:q → a → Q

先不管消息,只看左边这一竖条:

  1. 对私钥q做一次哈希:
    得到 64 字节的结果,分成leftright两半(图里 q 箭头指向一个 “left / right” 的框)。

  2. left半部分做粉色的bit pruning(比特裁剪/钳位):
    得到一个标量

    图里写成private scalar = a

  3. 用这个标量a去乘基点 G:

                                               Q=aG

    蓝色箭头 aG 指向 Q,这就是公钥 Q(曲线上的点)。

小结:

  • q:只是一个随机种子。

  • a:真正参与运算的“私有标量”,由 q 经过 hash+bit pruning 得来。

  • Q:公钥点,由 aG 得到。


三、签名流程(Signing process)

签名阶段输入是:q(私钥)m(消息),输出是签名 (R, s)

图上从 q、m 出发往右上走:

1. 计算一次性随机数 r

  • 利用前面哈希得到的right半部分(图中 q → left/right,再从 right 指到 r)。

  • right和消息m拼在一起做哈希(图上 m 也指向 r):

    其中 L是子群的阶。
    r 是一个“伪随机的 nonce”,完全由私钥和消息决定,不需要外部随机数。

2. 计算点 R = rG

  • 用 r 乘基点:

                                         R=rG

    蓝色箭头 rG 指向 R。
    这一步得到曲线点 R,是签名的一部分。

3. 计算挑战值 e

  • 把 R、消息 m、公钥 Q 拼在一起哈希(图中 R、m、Q 都指向 e):

                                                   

    这个 e 就是验证时要用的“挑战”。

4. 计算标量 s

  • 用 r、e、a(私有标量)组合:

                                                     

    图中 s 的输入来自 r 与 e 和(隐含的)a。

    <
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/7 1:55:03

TiDB物化视图终极指南:如何用预计算技术让复杂查询提速273倍

TiDB物化视图终极指南&#xff1a;如何用预计算技术让复杂查询提速273倍 【免费下载链接】tidb TiDB 是一个分布式关系型数据库&#xff0c;兼容 MySQL 协议。* 提供水平扩展能力&#xff1b;支持高并发、高可用、在线 DDL 等特性。* 特点&#xff1a;分布式架构设计&#xff1…

作者头像 李华
网站建设 2026/7/7 15:38:44

Velero API开发终极指南:从入门到精通掌握Kubernetes备份自动化

想象一下这样的场景&#xff1a;凌晨3点&#xff0c;你的生产环境突然崩溃&#xff0c;整个团队陷入恐慌。这时你只需要一个简单的API调用&#xff0c;就能让所有服务在几分钟内恢复到健康状态。这就是Velero API带给你的力量——Kubernetes集群的"时光机器"。 【免费…

作者头像 李华
网站建设 2026/7/7 9:03:55

RapidJSON格式转换完全指南:从入门到精通

RapidJSON格式转换完全指南&#xff1a;从入门到精通 【免费下载链接】rapidjson 项目地址: https://gitcode.com/gh_mirrors/rap/rapidjson 还在为JSON数据在不同格式间转换而苦恼吗&#xff1f;&#x1f914; RapidJSON作为一款高性能的C JSON解析器&#xff0c;不仅…

作者头像 李华
网站建设 2026/7/7 12:35:49

工业智能体优质服务商推荐榜单

随着工业4.0和智能制造的深入推进&#xff0c;工业智能体&#xff08;AI Agent&#xff09;正成为驱动企业数智化转型的核心引擎。它不再是简单的聊天机器人&#xff0c;而是具备自主规划、决策和执行能力的“数字员工”&#xff0c;能够深入研发、生产、供应链、质量等全链路场…

作者头像 李华
网站建设 2026/7/7 10:02:28

线性代数-3Blue1Brown《线性代数的本质》行列式(7)

传统教材对“行列式”缺乏直观解释&#xff0c;我们往往只是机械地计算行列式的值&#xff0c;对它的真实含义却一无所知。本文在理解3Blue1Brown《线性代数的本质》 行列式后&#xff0c;记录学习笔记&#xff0c;总结行列式的本质。 1、如何理解行列式 3Blue1Brown《线性代数…

作者头像 李华