mcpField
I
implementing-digital-signatures-with-ed25519

implementing-digital-signatures-with-ed25519

github.com/mukul975安全35.2k49 次安装8 周前更新
代码仓库

关于 implementing-digital-signatures-with-ed25519

面向开发者和安全从业者的 Ed25519 签名实施指南,涵盖密钥生成、签名和文件验证,也介绍多重签名检查及与 RSA、ECDSA 的性能比较。

主要功能

  1. 01生成 Ed25519 密钥对
  2. 02签署消息和文件
  3. 03验证签名及篡改情况
  4. 04检查多重签名
  5. 05构建代码签名系统
  6. 06比较 RSA 和 ECDSA 性能

适用场景

  1. 01为文档或代码添加签名
  2. 02验证 API 消息身份
  3. 03验证已签名文件
  4. 04评估签名性能

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/mukul975/anthropic-cybersecurity-skills --skill implementing-digital-signatures-with-ed25519

安装后在 Claude Code 中输入/implementing-digital-signatures-with-ed25519确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

LICENSE
assets/
template.md
references/
api-reference.md
standards.md
workflows.md
scripts/
agent.py
process.py

详细介绍

使用 Ed25519 实现数字签名

概述

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

何时使用

  • 在环境中部署或配置使用 Ed25519 实现数字签名的能力时
  • 建立符合合规要求的安全控制时
  • 为该领域构建或改进安全架构时
  • 执行需要此实现的安全评估时

先决条件

  • 熟悉密码学概念和工具
  • 可访问用于安全执行的测试或实验环境
  • Python 3.8+ 并安装所需依赖项
  • 任何测试活动均获得适当授权

目标

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

关键概念

Ed25519 vs RSA vs ECDSA
属性Ed25519RSA-3072ECDSA P-256
安全性128-bit128-bit128-bit
公钥大小32 bytes384 bytes64 bytes
签名大小64 bytes384 bytes64 bytes
密钥生成~50 us~100 ms~1 ms
签名~70 us~5 ms~200 us
验证~200 us~200 us~500 us
确定性是否(PSS)否(除非 RFC 6979)
关键属性
  • 确定性:相同消息 + 密钥始终产生相同签名
  • 抗碰撞:无需单独的哈希函数
  • 抗侧信道:常量时间实现
  • 小密钥:每个 32 字节(公钥和私钥)

安全注意事项

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

验证标准

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

评论

支持 Markdown