跳到主要内容
知仓学习社ZHICANG

implementing-digital-signatures-with-ed25519

Implements digital signatures using the Ed25519 algorithm (Curve25519), covering key-pair generation, signing, signature verification, and security …

读文件写文件无严重或高危命中mukul975/Anthropic-Cybersecurity-Skills

它会碰到什么

扫了多少8 个文本文件,36 KB
它会碰到什么读文件写文件
命中总数6 处
命中统计严重 0 · 高 0 · 中 6 · 低 0

这一栏是扫描器报的事实,不是结论。命中多不等于有毒(安全工具、规则库、示例脚本本来就会包含危险写法),命中少也不等于干净。它和你手上的凭据、文件、网络有什么关系,需要你自己看。

技能内容

Implementing Digital Signatures with Ed25519

Overview

Ed25519 is a high-performance digital signature algorithm using the Edwards curve Curve25519. It provides 128-bit security with 64-byte signatures and 32-byte keys, offering significant advantages over RSA and ECDSA including deterministic signatures (no random nonce needed), resistance to side-channel attacks, and fast verification. This skill covers implementing Ed25519 for document signing, code signing, and API authentication.

When to Use

  • When deploying or configuring implementing digital signatures with ed25519 capabilities in your environment
  • When establishing security controls aligned to compliance requirements
  • When building or improving security architecture for this domain
  • When conducting security assessments that require this implementation

Prerequisites

  • Familiarity with cryptography concepts and tools
  • Access to a test or lab environment for safe execution
  • Python 3.8+ with required dependencies installed
  • Appropriate authorization for any testing activities

Objectives

  • Generate Ed25519 key pairs for signing
  • Sign messages and files with Ed25519
  • Verify signatures against public keys
  • Implement multi-signature verification
  • Build a simple code signing system
  • Compare Ed25519 performance with RSA and ECDSA

Key Concepts

Ed25519 vs RSA vs ECDSA

| Property | Ed25519 | RSA-3072 | ECDSA P-256 |

|----------|---------|----------|-------------|

| Security | 128-bit | 128-bit | 128-bit |

| Public key size | 32 bytes | 384 bytes | 64 bytes |

| Signature size | 64 bytes | 384 bytes | 64 bytes |

| Key generation | ~50 us | ~100 ms | ~1 ms |

| Sign | ~70 us | ~5 ms | ~200 us |

| Verify | ~200 us | ~200 us | ~500 us |

| Deterministic | Yes | No (PSS) | No (unless RFC 6979) |

Key Properties

  • Deterministic: Same message + key always produces same signature
  • Collision-resistant: No separate hash function needed
  • Side-channel resistant: Constant-time implementation
  • Small keys: 32 bytes each (public and private)

Security Considerations

  • Ed25519 does not support key recovery from signatures
  • Verify the full message, not a hash (Ed25519 hashes internally)
  • Public keys must be validated before use (check for low-order points)
  • Private keys should be stored encrypted at rest
  • Ed25519 is not yet approved for all NIST use cases (Ed448 is preferred for federal)

Validation Criteria

  • [ ] Key pair generation produces valid Ed25519 keys
  • [ ] Signature verification succeeds for valid message
  • [ ] Signature verification fails for tampered message
  • [ ] Signature verification fails for wrong public key
  • [ ] Deterministic: same input produces same signature
  • [ ] File signing and verification works correctly
  • [ ] Performance meets or exceeds RSA-3072

想直接用这个技能?

本站把开放许可(MIT / Apache 等)的技能按仓库打包整理到网盘,点一下转存到你自己的网盘,不用一个个从 GitHub 拉。许可未声明的技能只给原始仓库链接,不打包。