当前位置: 首页 > news >正文

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。

    <
http://www.cnnetsun.cn/news/17781.html

相关文章:

  • 全球创始人IP+AI万人峰会:赋能与精神滋养并重,引领2026增长新范式
  • 基于Web的客户关系管理系统的设计与实现开题报告(1)
  • 三菱FX PLC下载线驱动安装终极指南:快速解决通信连接问题
  • NetAssistant:终极网络调试解决方案的完整指南
  • 013的加密世界权威指南_第一部分
  • 完整指南:5大核心特性带你玩转Font Awesome 7
  • UtilEmpty空值检查工具类
  • 革命性跨平台EPUB阅读器:智能同步让阅读无处不在
  • 【完整源码+数据集+部署教程】动力电池等检测系统源码分享[一条龙教学YOLOV8标注好的数据集一键训练_70+全套改进创新点发刊_Web前端展示]
  • TDK/INVENSENSE/应美盛传感器ICM-42670-P的概述
  • 《公共管理学》2025网课答案
  • 无需复杂配置!在家也能远程操控 Kali 桌面,cpolar这招太实用了
  • 哪吒监控:打造企业级服务器监控体系的5大核心优势
  • 终极指南:5分钟快速部署IoTSharp物联网平台
  • Spring Boot 4.0 + MyBatis-Plus 实战响应式编程的能力实战
  • 2026 等保测评趋势:从被动合规到主动安全的转型路径
  • 微服务架构设计 - 可降级设计
  • 基于SpringBoot的建金粮食供应链管理系统的设计与实现计算机毕业设计项目源码文档
  • 计算机图形学·24 消隐1 深度缓存-扫描线深度缓存-区间扫描线深度缓存
  • 计算机图形学·25 消隐2 区域子分算法-光线投射算法
  • MinerU升级终极指南:避坑技巧与实战解决方案
  • Archery数据库管理平台:5大核心功能深度解析与实战配置指南
  • 学Python有用吗?
  • Onekey终极指南:3分钟学会Steam游戏清单自动下载
  • 程序员:微软的面试流程探讨
  • 爆款!国产开源公众号AI管家ChatWiki全解析
  • 2、Linux 操作系统基础与 Bash 命令行使用指南
  • 网闸厂家排行:安全隔离技术迭代下的选型指南
  • 单北斗变形监测在水库安全中的应用与维护该如何实施?
  • Win11Debloat:终极Windows系统清理优化完整指南