L’interface est localisée ; les présentations et documents des Skills sont traduits automatiquement par IA dans votre langue. Le code, les commandes, chemins et termes techniques restent en version originale, et le document de l’auteur fait foi.
Explorer les Skills
Développement · SKILL.md

implementing-digital-signatures-with-ed25519

implementing-digital-signatures-with-ed25519

Ed25519 是一种使用 Edwards 曲线 Curve25519 的高性能数字签名算法。它以 64 字节签名和 32 字节密钥提供 128 位安全性,相比 RSA 和 ECDSA 具有显著优势,包括确定性签名(无需随机 nonce)、抗侧信道攻击以及快速验证。

Independent GitHub snapshot · Automated classification · Original documentation governs

Documentation de la Skill

GitHub

name: implementing-digital-signatures-with-ed25519 description: Ed25519 是一种使用 Edwards 曲线 Curve25519 的高性能数字签名算法。它以 64 字节签名和 32 字节密钥提供 128 位安全性,相比 RSA 和 ECDSA 具有显著优势,包括确定性签名(无需随机 nonce)、抗侧信道攻击以及快速验证。 domain: cybersecurity subdomain: cryptography tags: [cryptography, digital-signatures, ed25519, authentication, integrity] version: "1.0" author: mahipal license: Apache-2.0

使用 Ed25519 实现数字签名

概述

Ed25519 是一种使用 Edwards 曲线 Curve25519 的高性能数字签名(digital signature)算法。它以 64 字节签名和 32 字节密钥提供 128 位安全性,相比 RSA 和 ECDSA 具有显著优势,包括确定性签名(无需随机 nonce)、抗侧信道攻击以及快速验证。本技能涵盖为文档签名、代码签名和 API 认证实现 Ed25519。

目标

  • 生成用于签名的 Ed25519 密钥对
  • 使用 Ed25519 对消息和文件签名
  • 对照公钥验证签名
  • 实现多签名验证
  • 构建简单的代码签名系统
  • 比较 Ed25519 与 RSA 和 ECDSA 的性能

核心概念

Ed25519 vs RSA vs ECDSA

属性Ed25519RSA-3072ECDSA P-256
安全性128 位128 位128 位
公钥大小32 字节384 字节64 字节
签名大小64 字节384 字节64 字节
密钥生成~50 us~100 ms~1 ms
签名~70 us~5 ms~200 us
验证~200 us~200 us~500 us
确定性是否 (PSS)否(除非 RFC 6979)

关键特性

  • 确定性(Deterministic):相同消息 + 密钥始终产生相同签名
  • 抗碰撞(Collision-resistant):无需单独的哈希函数
  • 抗侧信道(Side-channel resistant):恒定时间实现
  • 小密钥:公钥和私钥各 32 字节

安全注意事项

  • Ed25519 不支持从签名中恢复密钥
  • 验证完整消息,而非哈希值(Ed25519 内部进行哈希)
  • 使用前必须验证公钥(检查低阶点)
  • 私钥在静止状态下应加密存储
  • Ed25519 尚未获批用于所有 NIST 用例(联邦场景首选 Ed448)

验证标准

  • 密钥对生成产生有效的 Ed25519 密钥
  • 对有效消息的签名验证成功
  • 对篡改消息的签名验证失败
  • 对错误公钥的签名验证失败
  • 确定性:相同输入产生相同签名
  • 文件签名和验证工作正常
  • 性能达到或超过 RSA-3072
Skills enregistrées